stratosphere-0.41.0: library-gen/Stratosphere/ResourceProperties/CloudWatchAnomalyDetectorDimension.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html
module Stratosphere.ResourceProperties.CloudWatchAnomalyDetectorDimension where
import Stratosphere.ResourceImports
-- | Full data type definition for CloudWatchAnomalyDetectorDimension. See
-- 'cloudWatchAnomalyDetectorDimension' for a more convenient constructor.
data CloudWatchAnomalyDetectorDimension =
CloudWatchAnomalyDetectorDimension
{ _cloudWatchAnomalyDetectorDimensionName :: Val Text
, _cloudWatchAnomalyDetectorDimensionValue :: Val Text
} deriving (Show, Eq)
instance ToJSON CloudWatchAnomalyDetectorDimension where
toJSON CloudWatchAnomalyDetectorDimension{..} =
object $
catMaybes
[ (Just . ("Name",) . toJSON) _cloudWatchAnomalyDetectorDimensionName
, (Just . ("Value",) . toJSON) _cloudWatchAnomalyDetectorDimensionValue
]
-- | Constructor for 'CloudWatchAnomalyDetectorDimension' containing required
-- fields as arguments.
cloudWatchAnomalyDetectorDimension
:: Val Text -- ^ 'cwaddName'
-> Val Text -- ^ 'cwaddValue'
-> CloudWatchAnomalyDetectorDimension
cloudWatchAnomalyDetectorDimension namearg valuearg =
CloudWatchAnomalyDetectorDimension
{ _cloudWatchAnomalyDetectorDimensionName = namearg
, _cloudWatchAnomalyDetectorDimensionValue = valuearg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html#cfn-cloudwatch-anomalydetector-dimension-name
cwaddName :: Lens' CloudWatchAnomalyDetectorDimension (Val Text)
cwaddName = lens _cloudWatchAnomalyDetectorDimensionName (\s a -> s { _cloudWatchAnomalyDetectorDimensionName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html#cfn-cloudwatch-anomalydetector-dimension-value
cwaddValue :: Lens' CloudWatchAnomalyDetectorDimension (Val Text)
cwaddValue = lens _cloudWatchAnomalyDetectorDimensionValue (\s a -> s { _cloudWatchAnomalyDetectorDimensionValue = a })