stratosphere-0.15.2: library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentGroupAlarm.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html
module Stratosphere.ResourceProperties.CodeDeployDeploymentGroupAlarm where
import Stratosphere.ResourceImports
-- | Full data type definition for CodeDeployDeploymentGroupAlarm. See
-- 'codeDeployDeploymentGroupAlarm' for a more convenient constructor.
data CodeDeployDeploymentGroupAlarm =
CodeDeployDeploymentGroupAlarm
{ _codeDeployDeploymentGroupAlarmName :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON CodeDeployDeploymentGroupAlarm where
toJSON CodeDeployDeploymentGroupAlarm{..} =
object $
catMaybes
[ fmap (("Name",) . toJSON) _codeDeployDeploymentGroupAlarmName
]
instance FromJSON CodeDeployDeploymentGroupAlarm where
parseJSON (Object obj) =
CodeDeployDeploymentGroupAlarm <$>
(obj .:? "Name")
parseJSON _ = mempty
-- | Constructor for 'CodeDeployDeploymentGroupAlarm' containing required
-- fields as arguments.
codeDeployDeploymentGroupAlarm
:: CodeDeployDeploymentGroupAlarm
codeDeployDeploymentGroupAlarm =
CodeDeployDeploymentGroupAlarm
{ _codeDeployDeploymentGroupAlarmName = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html#cfn-codedeploy-deploymentgroup-alarm-name
cddgaName :: Lens' CodeDeployDeploymentGroupAlarm (Maybe (Val Text))
cddgaName = lens _codeDeployDeploymentGroupAlarmName (\s a -> s { _codeDeployDeploymentGroupAlarmName = a })