stratosphere-0.39.0: library-gen/Stratosphere/ResourceProperties/PinpointCampaignEventDimensions.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html
module Stratosphere.ResourceProperties.PinpointCampaignEventDimensions where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.PinpointCampaignSetDimension
-- | Full data type definition for PinpointCampaignEventDimensions. See
-- 'pinpointCampaignEventDimensions' for a more convenient constructor.
data PinpointCampaignEventDimensions =
PinpointCampaignEventDimensions
{ _pinpointCampaignEventDimensionsAttributes :: Maybe Object
, _pinpointCampaignEventDimensionsEventType :: Maybe PinpointCampaignSetDimension
, _pinpointCampaignEventDimensionsMetrics :: Maybe Object
} deriving (Show, Eq)
instance ToJSON PinpointCampaignEventDimensions where
toJSON PinpointCampaignEventDimensions{..} =
object $
catMaybes
[ fmap (("Attributes",) . toJSON) _pinpointCampaignEventDimensionsAttributes
, fmap (("EventType",) . toJSON) _pinpointCampaignEventDimensionsEventType
, fmap (("Metrics",) . toJSON) _pinpointCampaignEventDimensionsMetrics
]
-- | Constructor for 'PinpointCampaignEventDimensions' containing required
-- fields as arguments.
pinpointCampaignEventDimensions
:: PinpointCampaignEventDimensions
pinpointCampaignEventDimensions =
PinpointCampaignEventDimensions
{ _pinpointCampaignEventDimensionsAttributes = Nothing
, _pinpointCampaignEventDimensionsEventType = Nothing
, _pinpointCampaignEventDimensionsMetrics = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html#cfn-pinpoint-campaign-eventdimensions-attributes
pcedAttributes :: Lens' PinpointCampaignEventDimensions (Maybe Object)
pcedAttributes = lens _pinpointCampaignEventDimensionsAttributes (\s a -> s { _pinpointCampaignEventDimensionsAttributes = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html#cfn-pinpoint-campaign-eventdimensions-eventtype
pcedEventType :: Lens' PinpointCampaignEventDimensions (Maybe PinpointCampaignSetDimension)
pcedEventType = lens _pinpointCampaignEventDimensionsEventType (\s a -> s { _pinpointCampaignEventDimensionsEventType = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html#cfn-pinpoint-campaign-eventdimensions-metrics
pcedMetrics :: Lens' PinpointCampaignEventDimensions (Maybe Object)
pcedMetrics = lens _pinpointCampaignEventDimensionsMetrics (\s a -> s { _pinpointCampaignEventDimensionsMetrics = a })