stratosphere-0.47.0: library-gen/Stratosphere/Resources/PinpointEmailTemplate.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html
module Stratosphere.Resources.PinpointEmailTemplate where
import Stratosphere.ResourceImports
-- | Full data type definition for PinpointEmailTemplate. See
-- 'pinpointEmailTemplate' for a more convenient constructor.
data PinpointEmailTemplate =
PinpointEmailTemplate
{ _pinpointEmailTemplateDefaultSubstitutions :: Maybe (Val Text)
, _pinpointEmailTemplateHtmlPart :: Maybe (Val Text)
, _pinpointEmailTemplateSubject :: Val Text
, _pinpointEmailTemplateTags :: Maybe Object
, _pinpointEmailTemplateTemplateDescription :: Maybe (Val Text)
, _pinpointEmailTemplateTemplateName :: Val Text
, _pinpointEmailTemplateTextPart :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToResourceProperties PinpointEmailTemplate where
toResourceProperties PinpointEmailTemplate{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::Pinpoint::EmailTemplate"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ fmap (("DefaultSubstitutions",) . toJSON) _pinpointEmailTemplateDefaultSubstitutions
, fmap (("HtmlPart",) . toJSON) _pinpointEmailTemplateHtmlPart
, (Just . ("Subject",) . toJSON) _pinpointEmailTemplateSubject
, fmap (("Tags",) . toJSON) _pinpointEmailTemplateTags
, fmap (("TemplateDescription",) . toJSON) _pinpointEmailTemplateTemplateDescription
, (Just . ("TemplateName",) . toJSON) _pinpointEmailTemplateTemplateName
, fmap (("TextPart",) . toJSON) _pinpointEmailTemplateTextPart
]
}
-- | Constructor for 'PinpointEmailTemplate' containing required fields as
-- arguments.
pinpointEmailTemplate
:: Val Text -- ^ 'petSubject'
-> Val Text -- ^ 'petTemplateName'
-> PinpointEmailTemplate
pinpointEmailTemplate subjectarg templateNamearg =
PinpointEmailTemplate
{ _pinpointEmailTemplateDefaultSubstitutions = Nothing
, _pinpointEmailTemplateHtmlPart = Nothing
, _pinpointEmailTemplateSubject = subjectarg
, _pinpointEmailTemplateTags = Nothing
, _pinpointEmailTemplateTemplateDescription = Nothing
, _pinpointEmailTemplateTemplateName = templateNamearg
, _pinpointEmailTemplateTextPart = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-defaultsubstitutions
petDefaultSubstitutions :: Lens' PinpointEmailTemplate (Maybe (Val Text))
petDefaultSubstitutions = lens _pinpointEmailTemplateDefaultSubstitutions (\s a -> s { _pinpointEmailTemplateDefaultSubstitutions = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-htmlpart
petHtmlPart :: Lens' PinpointEmailTemplate (Maybe (Val Text))
petHtmlPart = lens _pinpointEmailTemplateHtmlPart (\s a -> s { _pinpointEmailTemplateHtmlPart = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-subject
petSubject :: Lens' PinpointEmailTemplate (Val Text)
petSubject = lens _pinpointEmailTemplateSubject (\s a -> s { _pinpointEmailTemplateSubject = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-tags
petTags :: Lens' PinpointEmailTemplate (Maybe Object)
petTags = lens _pinpointEmailTemplateTags (\s a -> s { _pinpointEmailTemplateTags = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-templatedescription
petTemplateDescription :: Lens' PinpointEmailTemplate (Maybe (Val Text))
petTemplateDescription = lens _pinpointEmailTemplateTemplateDescription (\s a -> s { _pinpointEmailTemplateTemplateDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-templatename
petTemplateName :: Lens' PinpointEmailTemplate (Val Text)
petTemplateName = lens _pinpointEmailTemplateTemplateName (\s a -> s { _pinpointEmailTemplateTemplateName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-textpart
petTextPart :: Lens' PinpointEmailTemplate (Maybe (Val Text))
petTextPart = lens _pinpointEmailTemplateTextPart (\s a -> s { _pinpointEmailTemplateTextPart = a })