stratosphere-0.39.0: library-gen/Stratosphere/ResourceProperties/PinpointCampaignWriteTreatmentResource.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html
module Stratosphere.ResourceProperties.PinpointCampaignWriteTreatmentResource where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.PinpointCampaignMessageConfiguration
import Stratosphere.ResourceProperties.PinpointCampaignSchedule
-- | Full data type definition for PinpointCampaignWriteTreatmentResource. See
-- 'pinpointCampaignWriteTreatmentResource' for a more convenient
-- constructor.
data PinpointCampaignWriteTreatmentResource =
PinpointCampaignWriteTreatmentResource
{ _pinpointCampaignWriteTreatmentResourceMessageConfiguration :: Maybe PinpointCampaignMessageConfiguration
, _pinpointCampaignWriteTreatmentResourceSchedule :: Maybe PinpointCampaignSchedule
, _pinpointCampaignWriteTreatmentResourceSizePercent :: Maybe (Val Integer)
, _pinpointCampaignWriteTreatmentResourceTreatmentDescription :: Maybe (Val Text)
, _pinpointCampaignWriteTreatmentResourceTreatmentName :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON PinpointCampaignWriteTreatmentResource where
toJSON PinpointCampaignWriteTreatmentResource{..} =
object $
catMaybes
[ fmap (("MessageConfiguration",) . toJSON) _pinpointCampaignWriteTreatmentResourceMessageConfiguration
, fmap (("Schedule",) . toJSON) _pinpointCampaignWriteTreatmentResourceSchedule
, fmap (("SizePercent",) . toJSON) _pinpointCampaignWriteTreatmentResourceSizePercent
, fmap (("TreatmentDescription",) . toJSON) _pinpointCampaignWriteTreatmentResourceTreatmentDescription
, fmap (("TreatmentName",) . toJSON) _pinpointCampaignWriteTreatmentResourceTreatmentName
]
-- | Constructor for 'PinpointCampaignWriteTreatmentResource' containing
-- required fields as arguments.
pinpointCampaignWriteTreatmentResource
:: PinpointCampaignWriteTreatmentResource
pinpointCampaignWriteTreatmentResource =
PinpointCampaignWriteTreatmentResource
{ _pinpointCampaignWriteTreatmentResourceMessageConfiguration = Nothing
, _pinpointCampaignWriteTreatmentResourceSchedule = Nothing
, _pinpointCampaignWriteTreatmentResourceSizePercent = Nothing
, _pinpointCampaignWriteTreatmentResourceTreatmentDescription = Nothing
, _pinpointCampaignWriteTreatmentResourceTreatmentName = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-messageconfiguration
pcwtrMessageConfiguration :: Lens' PinpointCampaignWriteTreatmentResource (Maybe PinpointCampaignMessageConfiguration)
pcwtrMessageConfiguration = lens _pinpointCampaignWriteTreatmentResourceMessageConfiguration (\s a -> s { _pinpointCampaignWriteTreatmentResourceMessageConfiguration = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-schedule
pcwtrSchedule :: Lens' PinpointCampaignWriteTreatmentResource (Maybe PinpointCampaignSchedule)
pcwtrSchedule = lens _pinpointCampaignWriteTreatmentResourceSchedule (\s a -> s { _pinpointCampaignWriteTreatmentResourceSchedule = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-sizepercent
pcwtrSizePercent :: Lens' PinpointCampaignWriteTreatmentResource (Maybe (Val Integer))
pcwtrSizePercent = lens _pinpointCampaignWriteTreatmentResourceSizePercent (\s a -> s { _pinpointCampaignWriteTreatmentResourceSizePercent = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-treatmentdescription
pcwtrTreatmentDescription :: Lens' PinpointCampaignWriteTreatmentResource (Maybe (Val Text))
pcwtrTreatmentDescription = lens _pinpointCampaignWriteTreatmentResourceTreatmentDescription (\s a -> s { _pinpointCampaignWriteTreatmentResourceTreatmentDescription = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-treatmentname
pcwtrTreatmentName :: Lens' PinpointCampaignWriteTreatmentResource (Maybe (Val Text))
pcwtrTreatmentName = lens _pinpointCampaignWriteTreatmentResourceTreatmentName (\s a -> s { _pinpointCampaignWriteTreatmentResourceTreatmentName = a })