stratosphere-0.39.0: library-gen/Stratosphere/ResourceProperties/PinpointCampaignMessage.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html
module Stratosphere.ResourceProperties.PinpointCampaignMessage where
import Stratosphere.ResourceImports
-- | Full data type definition for PinpointCampaignMessage. See
-- 'pinpointCampaignMessage' for a more convenient constructor.
data PinpointCampaignMessage =
PinpointCampaignMessage
{ _pinpointCampaignMessageAction :: Maybe (Val Text)
, _pinpointCampaignMessageBody :: Maybe (Val Text)
, _pinpointCampaignMessageImageIconUrl :: Maybe (Val Text)
, _pinpointCampaignMessageImageSmallIconUrl :: Maybe (Val Text)
, _pinpointCampaignMessageImageUrl :: Maybe (Val Text)
, _pinpointCampaignMessageJsonBody :: Maybe (Val Text)
, _pinpointCampaignMessageMediaUrl :: Maybe (Val Text)
, _pinpointCampaignMessageRawContent :: Maybe (Val Text)
, _pinpointCampaignMessageSilentPush :: Maybe (Val Bool)
, _pinpointCampaignMessageTimeToLive :: Maybe (Val Integer)
, _pinpointCampaignMessageTitle :: Maybe (Val Text)
, _pinpointCampaignMessageUrl :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON PinpointCampaignMessage where
toJSON PinpointCampaignMessage{..} =
object $
catMaybes
[ fmap (("Action",) . toJSON) _pinpointCampaignMessageAction
, fmap (("Body",) . toJSON) _pinpointCampaignMessageBody
, fmap (("ImageIconUrl",) . toJSON) _pinpointCampaignMessageImageIconUrl
, fmap (("ImageSmallIconUrl",) . toJSON) _pinpointCampaignMessageImageSmallIconUrl
, fmap (("ImageUrl",) . toJSON) _pinpointCampaignMessageImageUrl
, fmap (("JsonBody",) . toJSON) _pinpointCampaignMessageJsonBody
, fmap (("MediaUrl",) . toJSON) _pinpointCampaignMessageMediaUrl
, fmap (("RawContent",) . toJSON) _pinpointCampaignMessageRawContent
, fmap (("SilentPush",) . toJSON) _pinpointCampaignMessageSilentPush
, fmap (("TimeToLive",) . toJSON) _pinpointCampaignMessageTimeToLive
, fmap (("Title",) . toJSON) _pinpointCampaignMessageTitle
, fmap (("Url",) . toJSON) _pinpointCampaignMessageUrl
]
-- | Constructor for 'PinpointCampaignMessage' containing required fields as
-- arguments.
pinpointCampaignMessage
:: PinpointCampaignMessage
pinpointCampaignMessage =
PinpointCampaignMessage
{ _pinpointCampaignMessageAction = Nothing
, _pinpointCampaignMessageBody = Nothing
, _pinpointCampaignMessageImageIconUrl = Nothing
, _pinpointCampaignMessageImageSmallIconUrl = Nothing
, _pinpointCampaignMessageImageUrl = Nothing
, _pinpointCampaignMessageJsonBody = Nothing
, _pinpointCampaignMessageMediaUrl = Nothing
, _pinpointCampaignMessageRawContent = Nothing
, _pinpointCampaignMessageSilentPush = Nothing
, _pinpointCampaignMessageTimeToLive = Nothing
, _pinpointCampaignMessageTitle = Nothing
, _pinpointCampaignMessageUrl = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-action
pcmAction :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmAction = lens _pinpointCampaignMessageAction (\s a -> s { _pinpointCampaignMessageAction = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-body
pcmBody :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmBody = lens _pinpointCampaignMessageBody (\s a -> s { _pinpointCampaignMessageBody = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-imageiconurl
pcmImageIconUrl :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmImageIconUrl = lens _pinpointCampaignMessageImageIconUrl (\s a -> s { _pinpointCampaignMessageImageIconUrl = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-imagesmalliconurl
pcmImageSmallIconUrl :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmImageSmallIconUrl = lens _pinpointCampaignMessageImageSmallIconUrl (\s a -> s { _pinpointCampaignMessageImageSmallIconUrl = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-imageurl
pcmImageUrl :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmImageUrl = lens _pinpointCampaignMessageImageUrl (\s a -> s { _pinpointCampaignMessageImageUrl = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-jsonbody
pcmJsonBody :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmJsonBody = lens _pinpointCampaignMessageJsonBody (\s a -> s { _pinpointCampaignMessageJsonBody = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-mediaurl
pcmMediaUrl :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmMediaUrl = lens _pinpointCampaignMessageMediaUrl (\s a -> s { _pinpointCampaignMessageMediaUrl = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-rawcontent
pcmRawContent :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmRawContent = lens _pinpointCampaignMessageRawContent (\s a -> s { _pinpointCampaignMessageRawContent = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-silentpush
pcmSilentPush :: Lens' PinpointCampaignMessage (Maybe (Val Bool))
pcmSilentPush = lens _pinpointCampaignMessageSilentPush (\s a -> s { _pinpointCampaignMessageSilentPush = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-timetolive
pcmTimeToLive :: Lens' PinpointCampaignMessage (Maybe (Val Integer))
pcmTimeToLive = lens _pinpointCampaignMessageTimeToLive (\s a -> s { _pinpointCampaignMessageTimeToLive = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-title
pcmTitle :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmTitle = lens _pinpointCampaignMessageTitle (\s a -> s { _pinpointCampaignMessageTitle = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-url
pcmUrl :: Lens' PinpointCampaignMessage (Maybe (Val Text))
pcmUrl = lens _pinpointCampaignMessageUrl (\s a -> s { _pinpointCampaignMessageUrl = a })