module Stratosphere.Wisdom.MessageTemplate.EmailMessageTemplateContentProperty (
        module Exports, EmailMessageTemplateContentProperty(..),
        mkEmailMessageTemplateContentProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Wisdom.MessageTemplate.EmailMessageTemplateContentBodyProperty as Exports
import {-# SOURCE #-} Stratosphere.Wisdom.MessageTemplate.EmailMessageTemplateHeaderProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data EmailMessageTemplateContentProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wisdom-messagetemplate-emailmessagetemplatecontent.html>
    EmailMessageTemplateContentProperty {EmailMessageTemplateContentProperty -> ()
haddock_workaround_ :: (),
                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wisdom-messagetemplate-emailmessagetemplatecontent.html#cfn-wisdom-messagetemplate-emailmessagetemplatecontent-body>
                                         EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentBodyProperty
body :: EmailMessageTemplateContentBodyProperty,
                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wisdom-messagetemplate-emailmessagetemplatecontent.html#cfn-wisdom-messagetemplate-emailmessagetemplatecontent-headers>
                                         EmailMessageTemplateContentProperty
-> [EmailMessageTemplateHeaderProperty]
headers :: [EmailMessageTemplateHeaderProperty],
                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wisdom-messagetemplate-emailmessagetemplatecontent.html#cfn-wisdom-messagetemplate-emailmessagetemplatecontent-subject>
                                         EmailMessageTemplateContentProperty -> Value Text
subject :: (Value Prelude.Text)}
  deriving stock (EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty -> Bool
(EmailMessageTemplateContentProperty
 -> EmailMessageTemplateContentProperty -> Bool)
-> (EmailMessageTemplateContentProperty
    -> EmailMessageTemplateContentProperty -> Bool)
-> Eq EmailMessageTemplateContentProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty -> Bool
== :: EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty -> Bool
$c/= :: EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty -> Bool
/= :: EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty -> Bool
Prelude.Eq, Int -> EmailMessageTemplateContentProperty -> ShowS
[EmailMessageTemplateContentProperty] -> ShowS
EmailMessageTemplateContentProperty -> String
(Int -> EmailMessageTemplateContentProperty -> ShowS)
-> (EmailMessageTemplateContentProperty -> String)
-> ([EmailMessageTemplateContentProperty] -> ShowS)
-> Show EmailMessageTemplateContentProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EmailMessageTemplateContentProperty -> ShowS
showsPrec :: Int -> EmailMessageTemplateContentProperty -> ShowS
$cshow :: EmailMessageTemplateContentProperty -> String
show :: EmailMessageTemplateContentProperty -> String
$cshowList :: [EmailMessageTemplateContentProperty] -> ShowS
showList :: [EmailMessageTemplateContentProperty] -> ShowS
Prelude.Show)
mkEmailMessageTemplateContentProperty ::
  EmailMessageTemplateContentBodyProperty
  -> [EmailMessageTemplateHeaderProperty]
     -> Value Prelude.Text -> EmailMessageTemplateContentProperty
mkEmailMessageTemplateContentProperty :: EmailMessageTemplateContentBodyProperty
-> [EmailMessageTemplateHeaderProperty]
-> Value Text
-> EmailMessageTemplateContentProperty
mkEmailMessageTemplateContentProperty EmailMessageTemplateContentBodyProperty
body [EmailMessageTemplateHeaderProperty]
headers Value Text
subject
  = EmailMessageTemplateContentProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), body :: EmailMessageTemplateContentBodyProperty
body = EmailMessageTemplateContentBodyProperty
body, headers :: [EmailMessageTemplateHeaderProperty]
headers = [EmailMessageTemplateHeaderProperty]
headers,
       subject :: Value Text
subject = Value Text
subject}
instance ToResourceProperties EmailMessageTemplateContentProperty where
  toResourceProperties :: EmailMessageTemplateContentProperty -> ResourceProperties
toResourceProperties EmailMessageTemplateContentProperty {[EmailMessageTemplateHeaderProperty]
()
Value Text
EmailMessageTemplateContentBodyProperty
haddock_workaround_ :: EmailMessageTemplateContentProperty -> ()
body :: EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentBodyProperty
headers :: EmailMessageTemplateContentProperty
-> [EmailMessageTemplateHeaderProperty]
subject :: EmailMessageTemplateContentProperty -> Value Text
haddock_workaround_ :: ()
body :: EmailMessageTemplateContentBodyProperty
headers :: [EmailMessageTemplateHeaderProperty]
subject :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Wisdom::MessageTemplate.EmailMessageTemplateContent",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Body" Key -> EmailMessageTemplateContentBodyProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= EmailMessageTemplateContentBodyProperty
body, Key
"Headers" Key -> [EmailMessageTemplateHeaderProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [EmailMessageTemplateHeaderProperty]
headers,
                       Key
"Subject" 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
subject]}
instance JSON.ToJSON EmailMessageTemplateContentProperty where
  toJSON :: EmailMessageTemplateContentProperty -> Value
toJSON EmailMessageTemplateContentProperty {[EmailMessageTemplateHeaderProperty]
()
Value Text
EmailMessageTemplateContentBodyProperty
haddock_workaround_ :: EmailMessageTemplateContentProperty -> ()
body :: EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentBodyProperty
headers :: EmailMessageTemplateContentProperty
-> [EmailMessageTemplateHeaderProperty]
subject :: EmailMessageTemplateContentProperty -> Value Text
haddock_workaround_ :: ()
body :: EmailMessageTemplateContentBodyProperty
headers :: [EmailMessageTemplateHeaderProperty]
subject :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Body" Key -> EmailMessageTemplateContentBodyProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= EmailMessageTemplateContentBodyProperty
body, Key
"Headers" Key -> [EmailMessageTemplateHeaderProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [EmailMessageTemplateHeaderProperty]
headers,
         Key
"Subject" 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
subject]
instance Property "Body" EmailMessageTemplateContentProperty where
  type PropertyType "Body" EmailMessageTemplateContentProperty = EmailMessageTemplateContentBodyProperty
  set :: PropertyType "Body" EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty
set PropertyType "Body" EmailMessageTemplateContentProperty
newValue EmailMessageTemplateContentProperty {[EmailMessageTemplateHeaderProperty]
()
Value Text
EmailMessageTemplateContentBodyProperty
haddock_workaround_ :: EmailMessageTemplateContentProperty -> ()
body :: EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentBodyProperty
headers :: EmailMessageTemplateContentProperty
-> [EmailMessageTemplateHeaderProperty]
subject :: EmailMessageTemplateContentProperty -> Value Text
haddock_workaround_ :: ()
body :: EmailMessageTemplateContentBodyProperty
headers :: [EmailMessageTemplateHeaderProperty]
subject :: Value Text
..}
    = EmailMessageTemplateContentProperty {body :: EmailMessageTemplateContentBodyProperty
body = PropertyType "Body" EmailMessageTemplateContentProperty
EmailMessageTemplateContentBodyProperty
newValue, [EmailMessageTemplateHeaderProperty]
()
Value Text
haddock_workaround_ :: ()
headers :: [EmailMessageTemplateHeaderProperty]
subject :: Value Text
haddock_workaround_ :: ()
headers :: [EmailMessageTemplateHeaderProperty]
subject :: Value Text
..}
instance Property "Headers" EmailMessageTemplateContentProperty where
  type PropertyType "Headers" EmailMessageTemplateContentProperty = [EmailMessageTemplateHeaderProperty]
  set :: PropertyType "Headers" EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty
set PropertyType "Headers" EmailMessageTemplateContentProperty
newValue EmailMessageTemplateContentProperty {[EmailMessageTemplateHeaderProperty]
()
Value Text
EmailMessageTemplateContentBodyProperty
haddock_workaround_ :: EmailMessageTemplateContentProperty -> ()
body :: EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentBodyProperty
headers :: EmailMessageTemplateContentProperty
-> [EmailMessageTemplateHeaderProperty]
subject :: EmailMessageTemplateContentProperty -> Value Text
haddock_workaround_ :: ()
body :: EmailMessageTemplateContentBodyProperty
headers :: [EmailMessageTemplateHeaderProperty]
subject :: Value Text
..}
    = EmailMessageTemplateContentProperty {headers :: [EmailMessageTemplateHeaderProperty]
headers = [EmailMessageTemplateHeaderProperty]
PropertyType "Headers" EmailMessageTemplateContentProperty
newValue, ()
Value Text
EmailMessageTemplateContentBodyProperty
haddock_workaround_ :: ()
body :: EmailMessageTemplateContentBodyProperty
subject :: Value Text
haddock_workaround_ :: ()
body :: EmailMessageTemplateContentBodyProperty
subject :: Value Text
..}
instance Property "Subject" EmailMessageTemplateContentProperty where
  type PropertyType "Subject" EmailMessageTemplateContentProperty = Value Prelude.Text
  set :: PropertyType "Subject" EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentProperty
set PropertyType "Subject" EmailMessageTemplateContentProperty
newValue EmailMessageTemplateContentProperty {[EmailMessageTemplateHeaderProperty]
()
Value Text
EmailMessageTemplateContentBodyProperty
haddock_workaround_ :: EmailMessageTemplateContentProperty -> ()
body :: EmailMessageTemplateContentProperty
-> EmailMessageTemplateContentBodyProperty
headers :: EmailMessageTemplateContentProperty
-> [EmailMessageTemplateHeaderProperty]
subject :: EmailMessageTemplateContentProperty -> Value Text
haddock_workaround_ :: ()
body :: EmailMessageTemplateContentBodyProperty
headers :: [EmailMessageTemplateHeaderProperty]
subject :: Value Text
..}
    = EmailMessageTemplateContentProperty {subject :: Value Text
subject = PropertyType "Subject" EmailMessageTemplateContentProperty
Value Text
newValue, [EmailMessageTemplateHeaderProperty]
()
EmailMessageTemplateContentBodyProperty
haddock_workaround_ :: ()
body :: EmailMessageTemplateContentBodyProperty
headers :: [EmailMessageTemplateHeaderProperty]
haddock_workaround_ :: ()
body :: EmailMessageTemplateContentBodyProperty
headers :: [EmailMessageTemplateHeaderProperty]
..}