module Stratosphere.Notifications.ManagedNotificationAdditionalChannelAssociation (
        ManagedNotificationAdditionalChannelAssociation(..),
        mkManagedNotificationAdditionalChannelAssociation
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ManagedNotificationAdditionalChannelAssociation
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationadditionalchannelassociation.html>
    ManagedNotificationAdditionalChannelAssociation {ManagedNotificationAdditionalChannelAssociation -> ()
haddock_workaround_ :: (),
                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationadditionalchannelassociation.html#cfn-notifications-managednotificationadditionalchannelassociation-channelarn>
                                                     ManagedNotificationAdditionalChannelAssociation -> Value Text
channelArn :: (Value Prelude.Text),
                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-notifications-managednotificationadditionalchannelassociation.html#cfn-notifications-managednotificationadditionalchannelassociation-managednotificationconfigurationarn>
                                                     ManagedNotificationAdditionalChannelAssociation -> Value Text
managedNotificationConfigurationArn :: (Value Prelude.Text)}
  deriving stock (ManagedNotificationAdditionalChannelAssociation
-> ManagedNotificationAdditionalChannelAssociation -> Bool
(ManagedNotificationAdditionalChannelAssociation
 -> ManagedNotificationAdditionalChannelAssociation -> Bool)
-> (ManagedNotificationAdditionalChannelAssociation
    -> ManagedNotificationAdditionalChannelAssociation -> Bool)
-> Eq ManagedNotificationAdditionalChannelAssociation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ManagedNotificationAdditionalChannelAssociation
-> ManagedNotificationAdditionalChannelAssociation -> Bool
== :: ManagedNotificationAdditionalChannelAssociation
-> ManagedNotificationAdditionalChannelAssociation -> Bool
$c/= :: ManagedNotificationAdditionalChannelAssociation
-> ManagedNotificationAdditionalChannelAssociation -> Bool
/= :: ManagedNotificationAdditionalChannelAssociation
-> ManagedNotificationAdditionalChannelAssociation -> Bool
Prelude.Eq, Int -> ManagedNotificationAdditionalChannelAssociation -> ShowS
[ManagedNotificationAdditionalChannelAssociation] -> ShowS
ManagedNotificationAdditionalChannelAssociation -> String
(Int -> ManagedNotificationAdditionalChannelAssociation -> ShowS)
-> (ManagedNotificationAdditionalChannelAssociation -> String)
-> ([ManagedNotificationAdditionalChannelAssociation] -> ShowS)
-> Show ManagedNotificationAdditionalChannelAssociation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ManagedNotificationAdditionalChannelAssociation -> ShowS
showsPrec :: Int -> ManagedNotificationAdditionalChannelAssociation -> ShowS
$cshow :: ManagedNotificationAdditionalChannelAssociation -> String
show :: ManagedNotificationAdditionalChannelAssociation -> String
$cshowList :: [ManagedNotificationAdditionalChannelAssociation] -> ShowS
showList :: [ManagedNotificationAdditionalChannelAssociation] -> ShowS
Prelude.Show)
mkManagedNotificationAdditionalChannelAssociation ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> ManagedNotificationAdditionalChannelAssociation
mkManagedNotificationAdditionalChannelAssociation :: Value Text
-> Value Text -> ManagedNotificationAdditionalChannelAssociation
mkManagedNotificationAdditionalChannelAssociation
  Value Text
channelArn
  Value Text
managedNotificationConfigurationArn
  = ManagedNotificationAdditionalChannelAssociation
      {haddock_workaround_ :: ()
haddock_workaround_ = (), channelArn :: Value Text
channelArn = Value Text
channelArn,
       managedNotificationConfigurationArn :: Value Text
managedNotificationConfigurationArn = Value Text
managedNotificationConfigurationArn}
instance ToResourceProperties ManagedNotificationAdditionalChannelAssociation where
  toResourceProperties :: ManagedNotificationAdditionalChannelAssociation
-> ResourceProperties
toResourceProperties
    ManagedNotificationAdditionalChannelAssociation {()
Value Text
haddock_workaround_ :: ManagedNotificationAdditionalChannelAssociation -> ()
channelArn :: ManagedNotificationAdditionalChannelAssociation -> Value Text
managedNotificationConfigurationArn :: ManagedNotificationAdditionalChannelAssociation -> Value Text
haddock_workaround_ :: ()
channelArn :: Value Text
managedNotificationConfigurationArn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Notifications::ManagedNotificationAdditionalChannelAssociation",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ChannelArn" 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
channelArn,
                       Key
"ManagedNotificationConfigurationArn"
                         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
managedNotificationConfigurationArn]}
instance JSON.ToJSON ManagedNotificationAdditionalChannelAssociation where
  toJSON :: ManagedNotificationAdditionalChannelAssociation -> Value
toJSON ManagedNotificationAdditionalChannelAssociation {()
Value Text
haddock_workaround_ :: ManagedNotificationAdditionalChannelAssociation -> ()
channelArn :: ManagedNotificationAdditionalChannelAssociation -> Value Text
managedNotificationConfigurationArn :: ManagedNotificationAdditionalChannelAssociation -> Value Text
haddock_workaround_ :: ()
channelArn :: Value Text
managedNotificationConfigurationArn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ChannelArn" 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
channelArn,
         Key
"ManagedNotificationConfigurationArn"
           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
managedNotificationConfigurationArn]
instance Property "ChannelArn" ManagedNotificationAdditionalChannelAssociation where
  type PropertyType "ChannelArn" ManagedNotificationAdditionalChannelAssociation = Value Prelude.Text
  set :: PropertyType
  "ChannelArn" ManagedNotificationAdditionalChannelAssociation
-> ManagedNotificationAdditionalChannelAssociation
-> ManagedNotificationAdditionalChannelAssociation
set PropertyType
  "ChannelArn" ManagedNotificationAdditionalChannelAssociation
newValue ManagedNotificationAdditionalChannelAssociation {()
Value Text
haddock_workaround_ :: ManagedNotificationAdditionalChannelAssociation -> ()
channelArn :: ManagedNotificationAdditionalChannelAssociation -> Value Text
managedNotificationConfigurationArn :: ManagedNotificationAdditionalChannelAssociation -> Value Text
haddock_workaround_ :: ()
channelArn :: Value Text
managedNotificationConfigurationArn :: Value Text
..}
    = ManagedNotificationAdditionalChannelAssociation
        {channelArn :: Value Text
channelArn = PropertyType
  "ChannelArn" ManagedNotificationAdditionalChannelAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
managedNotificationConfigurationArn :: Value Text
haddock_workaround_ :: ()
managedNotificationConfigurationArn :: Value Text
..}
instance Property "ManagedNotificationConfigurationArn" ManagedNotificationAdditionalChannelAssociation where
  type PropertyType "ManagedNotificationConfigurationArn" ManagedNotificationAdditionalChannelAssociation = Value Prelude.Text
  set :: PropertyType
  "ManagedNotificationConfigurationArn"
  ManagedNotificationAdditionalChannelAssociation
-> ManagedNotificationAdditionalChannelAssociation
-> ManagedNotificationAdditionalChannelAssociation
set PropertyType
  "ManagedNotificationConfigurationArn"
  ManagedNotificationAdditionalChannelAssociation
newValue ManagedNotificationAdditionalChannelAssociation {()
Value Text
haddock_workaround_ :: ManagedNotificationAdditionalChannelAssociation -> ()
channelArn :: ManagedNotificationAdditionalChannelAssociation -> Value Text
managedNotificationConfigurationArn :: ManagedNotificationAdditionalChannelAssociation -> Value Text
haddock_workaround_ :: ()
channelArn :: Value Text
managedNotificationConfigurationArn :: Value Text
..}
    = ManagedNotificationAdditionalChannelAssociation
        {managedNotificationConfigurationArn :: Value Text
managedNotificationConfigurationArn = PropertyType
  "ManagedNotificationConfigurationArn"
  ManagedNotificationAdditionalChannelAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
channelArn :: Value Text
haddock_workaround_ :: ()
channelArn :: Value Text
..}