module Stratosphere.ConnectCampaignsV2.Campaign.SmsOutboundConfigProperty (
        SmsOutboundConfigProperty(..), mkSmsOutboundConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SmsOutboundConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smsoutboundconfig.html>
    SmsOutboundConfigProperty {SmsOutboundConfigProperty -> ()
haddock_workaround_ :: (),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smsoutboundconfig.html#cfn-connectcampaignsv2-campaign-smsoutboundconfig-connectsourcephonenumberarn>
                               SmsOutboundConfigProperty -> Value Text
connectSourcePhoneNumberArn :: (Value Prelude.Text),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connectcampaignsv2-campaign-smsoutboundconfig.html#cfn-connectcampaignsv2-campaign-smsoutboundconfig-wisdomtemplatearn>
                               SmsOutboundConfigProperty -> Value Text
wisdomTemplateArn :: (Value Prelude.Text)}
  deriving stock (SmsOutboundConfigProperty -> SmsOutboundConfigProperty -> Bool
(SmsOutboundConfigProperty -> SmsOutboundConfigProperty -> Bool)
-> (SmsOutboundConfigProperty -> SmsOutboundConfigProperty -> Bool)
-> Eq SmsOutboundConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SmsOutboundConfigProperty -> SmsOutboundConfigProperty -> Bool
== :: SmsOutboundConfigProperty -> SmsOutboundConfigProperty -> Bool
$c/= :: SmsOutboundConfigProperty -> SmsOutboundConfigProperty -> Bool
/= :: SmsOutboundConfigProperty -> SmsOutboundConfigProperty -> Bool
Prelude.Eq, Int -> SmsOutboundConfigProperty -> ShowS
[SmsOutboundConfigProperty] -> ShowS
SmsOutboundConfigProperty -> String
(Int -> SmsOutboundConfigProperty -> ShowS)
-> (SmsOutboundConfigProperty -> String)
-> ([SmsOutboundConfigProperty] -> ShowS)
-> Show SmsOutboundConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SmsOutboundConfigProperty -> ShowS
showsPrec :: Int -> SmsOutboundConfigProperty -> ShowS
$cshow :: SmsOutboundConfigProperty -> String
show :: SmsOutboundConfigProperty -> String
$cshowList :: [SmsOutboundConfigProperty] -> ShowS
showList :: [SmsOutboundConfigProperty] -> ShowS
Prelude.Show)
mkSmsOutboundConfigProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> SmsOutboundConfigProperty
mkSmsOutboundConfigProperty :: Value Text -> Value Text -> SmsOutboundConfigProperty
mkSmsOutboundConfigProperty
  Value Text
connectSourcePhoneNumberArn
  Value Text
wisdomTemplateArn
  = SmsOutboundConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       connectSourcePhoneNumberArn :: Value Text
connectSourcePhoneNumberArn = Value Text
connectSourcePhoneNumberArn,
       wisdomTemplateArn :: Value Text
wisdomTemplateArn = Value Text
wisdomTemplateArn}
instance ToResourceProperties SmsOutboundConfigProperty where
  toResourceProperties :: SmsOutboundConfigProperty -> ResourceProperties
toResourceProperties SmsOutboundConfigProperty {()
Value Text
haddock_workaround_ :: SmsOutboundConfigProperty -> ()
connectSourcePhoneNumberArn :: SmsOutboundConfigProperty -> Value Text
wisdomTemplateArn :: SmsOutboundConfigProperty -> Value Text
haddock_workaround_ :: ()
connectSourcePhoneNumberArn :: Value Text
wisdomTemplateArn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ConnectCampaignsV2::Campaign.SmsOutboundConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ConnectSourcePhoneNumberArn"
                         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
connectSourcePhoneNumberArn,
                       Key
"WisdomTemplateArn" 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
wisdomTemplateArn]}
instance JSON.ToJSON SmsOutboundConfigProperty where
  toJSON :: SmsOutboundConfigProperty -> Value
toJSON SmsOutboundConfigProperty {()
Value Text
haddock_workaround_ :: SmsOutboundConfigProperty -> ()
connectSourcePhoneNumberArn :: SmsOutboundConfigProperty -> Value Text
wisdomTemplateArn :: SmsOutboundConfigProperty -> Value Text
haddock_workaround_ :: ()
connectSourcePhoneNumberArn :: Value Text
wisdomTemplateArn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ConnectSourcePhoneNumberArn" 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
connectSourcePhoneNumberArn,
         Key
"WisdomTemplateArn" 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
wisdomTemplateArn]
instance Property "ConnectSourcePhoneNumberArn" SmsOutboundConfigProperty where
  type PropertyType "ConnectSourcePhoneNumberArn" SmsOutboundConfigProperty = Value Prelude.Text
  set :: PropertyType
  "ConnectSourcePhoneNumberArn" SmsOutboundConfigProperty
-> SmsOutboundConfigProperty -> SmsOutboundConfigProperty
set PropertyType
  "ConnectSourcePhoneNumberArn" SmsOutboundConfigProperty
newValue SmsOutboundConfigProperty {()
Value Text
haddock_workaround_ :: SmsOutboundConfigProperty -> ()
connectSourcePhoneNumberArn :: SmsOutboundConfigProperty -> Value Text
wisdomTemplateArn :: SmsOutboundConfigProperty -> Value Text
haddock_workaround_ :: ()
connectSourcePhoneNumberArn :: Value Text
wisdomTemplateArn :: Value Text
..}
    = SmsOutboundConfigProperty
        {connectSourcePhoneNumberArn :: Value Text
connectSourcePhoneNumberArn = PropertyType
  "ConnectSourcePhoneNumberArn" SmsOutboundConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
wisdomTemplateArn :: Value Text
haddock_workaround_ :: ()
wisdomTemplateArn :: Value Text
..}
instance Property "WisdomTemplateArn" SmsOutboundConfigProperty where
  type PropertyType "WisdomTemplateArn" SmsOutboundConfigProperty = Value Prelude.Text
  set :: PropertyType "WisdomTemplateArn" SmsOutboundConfigProperty
-> SmsOutboundConfigProperty -> SmsOutboundConfigProperty
set PropertyType "WisdomTemplateArn" SmsOutboundConfigProperty
newValue SmsOutboundConfigProperty {()
Value Text
haddock_workaround_ :: SmsOutboundConfigProperty -> ()
connectSourcePhoneNumberArn :: SmsOutboundConfigProperty -> Value Text
wisdomTemplateArn :: SmsOutboundConfigProperty -> Value Text
haddock_workaround_ :: ()
connectSourcePhoneNumberArn :: Value Text
wisdomTemplateArn :: Value Text
..}
    = SmsOutboundConfigProperty {wisdomTemplateArn :: Value Text
wisdomTemplateArn = PropertyType "WisdomTemplateArn" SmsOutboundConfigProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
connectSourcePhoneNumberArn :: Value Text
haddock_workaround_ :: ()
connectSourcePhoneNumberArn :: Value Text
..}