stratosphere-0.39.0: library-gen/Stratosphere/ResourceProperties/PinpointApplicationSettingsCampaignHook.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html
module Stratosphere.ResourceProperties.PinpointApplicationSettingsCampaignHook where
import Stratosphere.ResourceImports
-- | Full data type definition for PinpointApplicationSettingsCampaignHook.
-- See 'pinpointApplicationSettingsCampaignHook' for a more convenient
-- constructor.
data PinpointApplicationSettingsCampaignHook =
PinpointApplicationSettingsCampaignHook
{ _pinpointApplicationSettingsCampaignHookLambdaFunctionName :: Maybe (Val Text)
, _pinpointApplicationSettingsCampaignHookMode :: Maybe (Val Text)
, _pinpointApplicationSettingsCampaignHookWebUrl :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON PinpointApplicationSettingsCampaignHook where
toJSON PinpointApplicationSettingsCampaignHook{..} =
object $
catMaybes
[ fmap (("LambdaFunctionName",) . toJSON) _pinpointApplicationSettingsCampaignHookLambdaFunctionName
, fmap (("Mode",) . toJSON) _pinpointApplicationSettingsCampaignHookMode
, fmap (("WebUrl",) . toJSON) _pinpointApplicationSettingsCampaignHookWebUrl
]
-- | Constructor for 'PinpointApplicationSettingsCampaignHook' containing
-- required fields as arguments.
pinpointApplicationSettingsCampaignHook
:: PinpointApplicationSettingsCampaignHook
pinpointApplicationSettingsCampaignHook =
PinpointApplicationSettingsCampaignHook
{ _pinpointApplicationSettingsCampaignHookLambdaFunctionName = Nothing
, _pinpointApplicationSettingsCampaignHookMode = Nothing
, _pinpointApplicationSettingsCampaignHookWebUrl = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html#cfn-pinpoint-applicationsettings-campaignhook-lambdafunctionname
paschLambdaFunctionName :: Lens' PinpointApplicationSettingsCampaignHook (Maybe (Val Text))
paschLambdaFunctionName = lens _pinpointApplicationSettingsCampaignHookLambdaFunctionName (\s a -> s { _pinpointApplicationSettingsCampaignHookLambdaFunctionName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html#cfn-pinpoint-applicationsettings-campaignhook-mode
paschMode :: Lens' PinpointApplicationSettingsCampaignHook (Maybe (Val Text))
paschMode = lens _pinpointApplicationSettingsCampaignHookMode (\s a -> s { _pinpointApplicationSettingsCampaignHookMode = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html#cfn-pinpoint-applicationsettings-campaignhook-weburl
paschWebUrl :: Lens' PinpointApplicationSettingsCampaignHook (Maybe (Val Text))
paschWebUrl = lens _pinpointApplicationSettingsCampaignHookWebUrl (\s a -> s { _pinpointApplicationSettingsCampaignHookWebUrl = a })