stratosphere-0.46.0: library-gen/Stratosphere/ResourceProperties/PinpointPushTemplateDefaultPushNotificationTemplate.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html
module Stratosphere.ResourceProperties.PinpointPushTemplateDefaultPushNotificationTemplate where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- PinpointPushTemplateDefaultPushNotificationTemplate. See
-- 'pinpointPushTemplateDefaultPushNotificationTemplate' for a more
-- convenient constructor.
data PinpointPushTemplateDefaultPushNotificationTemplate =
PinpointPushTemplateDefaultPushNotificationTemplate
{ _pinpointPushTemplateDefaultPushNotificationTemplateAction :: Maybe (Val Text)
, _pinpointPushTemplateDefaultPushNotificationTemplateBody :: Maybe (Val Text)
, _pinpointPushTemplateDefaultPushNotificationTemplateSound :: Maybe (Val Text)
, _pinpointPushTemplateDefaultPushNotificationTemplateTitle :: Maybe (Val Text)
, _pinpointPushTemplateDefaultPushNotificationTemplateUrl :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON PinpointPushTemplateDefaultPushNotificationTemplate where
toJSON PinpointPushTemplateDefaultPushNotificationTemplate{..} =
object $
catMaybes
[ fmap (("Action",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateAction
, fmap (("Body",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateBody
, fmap (("Sound",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateSound
, fmap (("Title",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateTitle
, fmap (("Url",) . toJSON) _pinpointPushTemplateDefaultPushNotificationTemplateUrl
]
-- | Constructor for 'PinpointPushTemplateDefaultPushNotificationTemplate'
-- containing required fields as arguments.
pinpointPushTemplateDefaultPushNotificationTemplate
:: PinpointPushTemplateDefaultPushNotificationTemplate
pinpointPushTemplateDefaultPushNotificationTemplate =
PinpointPushTemplateDefaultPushNotificationTemplate
{ _pinpointPushTemplateDefaultPushNotificationTemplateAction = Nothing
, _pinpointPushTemplateDefaultPushNotificationTemplateBody = Nothing
, _pinpointPushTemplateDefaultPushNotificationTemplateSound = Nothing
, _pinpointPushTemplateDefaultPushNotificationTemplateTitle = Nothing
, _pinpointPushTemplateDefaultPushNotificationTemplateUrl = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-action
pptdpntAction :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
pptdpntAction = lens _pinpointPushTemplateDefaultPushNotificationTemplateAction (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateAction = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-body
pptdpntBody :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
pptdpntBody = lens _pinpointPushTemplateDefaultPushNotificationTemplateBody (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateBody = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-sound
pptdpntSound :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
pptdpntSound = lens _pinpointPushTemplateDefaultPushNotificationTemplateSound (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateSound = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-title
pptdpntTitle :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
pptdpntTitle = lens _pinpointPushTemplateDefaultPushNotificationTemplateTitle (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateTitle = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-url
pptdpntUrl :: Lens' PinpointPushTemplateDefaultPushNotificationTemplate (Maybe (Val Text))
pptdpntUrl = lens _pinpointPushTemplateDefaultPushNotificationTemplateUrl (\s a -> s { _pinpointPushTemplateDefaultPushNotificationTemplateUrl = a })