module Stratosphere.SES.ReceiptRule.ConnectActionProperty (
        ConnectActionProperty(..), mkConnectActionProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ConnectActionProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-connectaction.html>
    ConnectActionProperty {ConnectActionProperty -> ()
haddock_workaround_ :: (),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-connectaction.html#cfn-ses-receiptrule-connectaction-iamrolearn>
                           ConnectActionProperty -> Value Text
iAMRoleARN :: (Value Prelude.Text),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-connectaction.html#cfn-ses-receiptrule-connectaction-instancearn>
                           ConnectActionProperty -> Value Text
instanceARN :: (Value Prelude.Text)}
  deriving stock (ConnectActionProperty -> ConnectActionProperty -> Bool
(ConnectActionProperty -> ConnectActionProperty -> Bool)
-> (ConnectActionProperty -> ConnectActionProperty -> Bool)
-> Eq ConnectActionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConnectActionProperty -> ConnectActionProperty -> Bool
== :: ConnectActionProperty -> ConnectActionProperty -> Bool
$c/= :: ConnectActionProperty -> ConnectActionProperty -> Bool
/= :: ConnectActionProperty -> ConnectActionProperty -> Bool
Prelude.Eq, Int -> ConnectActionProperty -> ShowS
[ConnectActionProperty] -> ShowS
ConnectActionProperty -> String
(Int -> ConnectActionProperty -> ShowS)
-> (ConnectActionProperty -> String)
-> ([ConnectActionProperty] -> ShowS)
-> Show ConnectActionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConnectActionProperty -> ShowS
showsPrec :: Int -> ConnectActionProperty -> ShowS
$cshow :: ConnectActionProperty -> String
show :: ConnectActionProperty -> String
$cshowList :: [ConnectActionProperty] -> ShowS
showList :: [ConnectActionProperty] -> ShowS
Prelude.Show)
mkConnectActionProperty ::
  Value Prelude.Text -> Value Prelude.Text -> ConnectActionProperty
mkConnectActionProperty :: Value Text -> Value Text -> ConnectActionProperty
mkConnectActionProperty Value Text
iAMRoleARN Value Text
instanceARN
  = ConnectActionProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), iAMRoleARN :: Value Text
iAMRoleARN = Value Text
iAMRoleARN,
       instanceARN :: Value Text
instanceARN = Value Text
instanceARN}
instance ToResourceProperties ConnectActionProperty where
  toResourceProperties :: ConnectActionProperty -> ResourceProperties
toResourceProperties ConnectActionProperty {()
Value Text
haddock_workaround_ :: ConnectActionProperty -> ()
iAMRoleARN :: ConnectActionProperty -> Value Text
instanceARN :: ConnectActionProperty -> Value Text
haddock_workaround_ :: ()
iAMRoleARN :: Value Text
instanceARN :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SES::ReceiptRule.ConnectAction",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"IAMRoleARN" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
iAMRoleARN,
                       Key
"InstanceARN" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
instanceARN]}
instance JSON.ToJSON ConnectActionProperty where
  toJSON :: ConnectActionProperty -> Value
toJSON ConnectActionProperty {()
Value Text
haddock_workaround_ :: ConnectActionProperty -> ()
iAMRoleARN :: ConnectActionProperty -> Value Text
instanceARN :: ConnectActionProperty -> Value Text
haddock_workaround_ :: ()
iAMRoleARN :: Value Text
instanceARN :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"IAMRoleARN" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
iAMRoleARN,
         Key
"InstanceARN" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
instanceARN]
instance Property "IAMRoleARN" ConnectActionProperty where
  type PropertyType "IAMRoleARN" ConnectActionProperty = Value Prelude.Text
  set :: PropertyType "IAMRoleARN" ConnectActionProperty
-> ConnectActionProperty -> ConnectActionProperty
set PropertyType "IAMRoleARN" ConnectActionProperty
newValue ConnectActionProperty {()
Value Text
haddock_workaround_ :: ConnectActionProperty -> ()
iAMRoleARN :: ConnectActionProperty -> Value Text
instanceARN :: ConnectActionProperty -> Value Text
haddock_workaround_ :: ()
iAMRoleARN :: Value Text
instanceARN :: Value Text
..}
    = ConnectActionProperty {iAMRoleARN :: Value Text
iAMRoleARN = PropertyType "IAMRoleARN" ConnectActionProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
instanceARN :: Value Text
haddock_workaround_ :: ()
instanceARN :: Value Text
..}
instance Property "InstanceARN" ConnectActionProperty where
  type PropertyType "InstanceARN" ConnectActionProperty = Value Prelude.Text
  set :: PropertyType "InstanceARN" ConnectActionProperty
-> ConnectActionProperty -> ConnectActionProperty
set PropertyType "InstanceARN" ConnectActionProperty
newValue ConnectActionProperty {()
Value Text
haddock_workaround_ :: ConnectActionProperty -> ()
iAMRoleARN :: ConnectActionProperty -> Value Text
instanceARN :: ConnectActionProperty -> Value Text
haddock_workaround_ :: ()
iAMRoleARN :: Value Text
instanceARN :: Value Text
..}
    = ConnectActionProperty {instanceARN :: Value Text
instanceARN = PropertyType "InstanceARN" ConnectActionProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
iAMRoleARN :: Value Text
haddock_workaround_ :: ()
iAMRoleARN :: Value Text
..}