stratosphere-0.4.2: library-gen/Stratosphere/ResourceProperties/CodeDeployDeploymentConfigMinimumHealthyHosts.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html
module Stratosphere.ResourceProperties.CodeDeployDeploymentConfigMinimumHealthyHosts where
import Control.Lens hiding ((.=))
import Data.Aeson
import Data.Maybe (catMaybes)
import Data.Monoid (mempty)
import Data.Text
import Stratosphere.Values
-- | Full data type definition for
-- CodeDeployDeploymentConfigMinimumHealthyHosts. See
-- 'codeDeployDeploymentConfigMinimumHealthyHosts' for a more convenient
-- constructor.
data CodeDeployDeploymentConfigMinimumHealthyHosts =
CodeDeployDeploymentConfigMinimumHealthyHosts
{ _codeDeployDeploymentConfigMinimumHealthyHostsType :: Val Text
, _codeDeployDeploymentConfigMinimumHealthyHostsValue :: Val Integer'
} deriving (Show, Eq)
instance ToJSON CodeDeployDeploymentConfigMinimumHealthyHosts where
toJSON CodeDeployDeploymentConfigMinimumHealthyHosts{..} =
object $
catMaybes
[ Just ("Type" .= _codeDeployDeploymentConfigMinimumHealthyHostsType)
, Just ("Value" .= _codeDeployDeploymentConfigMinimumHealthyHostsValue)
]
instance FromJSON CodeDeployDeploymentConfigMinimumHealthyHosts where
parseJSON (Object obj) =
CodeDeployDeploymentConfigMinimumHealthyHosts <$>
obj .: "Type" <*>
obj .: "Value"
parseJSON _ = mempty
-- | Constructor for 'CodeDeployDeploymentConfigMinimumHealthyHosts'
-- containing required fields as arguments.
codeDeployDeploymentConfigMinimumHealthyHosts
:: Val Text -- ^ 'cddcmhhType'
-> Val Integer' -- ^ 'cddcmhhValue'
-> CodeDeployDeploymentConfigMinimumHealthyHosts
codeDeployDeploymentConfigMinimumHealthyHosts typearg valuearg =
CodeDeployDeploymentConfigMinimumHealthyHosts
{ _codeDeployDeploymentConfigMinimumHealthyHostsType = typearg
, _codeDeployDeploymentConfigMinimumHealthyHostsValue = valuearg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-type
cddcmhhType :: Lens' CodeDeployDeploymentConfigMinimumHealthyHosts (Val Text)
cddcmhhType = lens _codeDeployDeploymentConfigMinimumHealthyHostsType (\s a -> s { _codeDeployDeploymentConfigMinimumHealthyHostsType = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-value
cddcmhhValue :: Lens' CodeDeployDeploymentConfigMinimumHealthyHosts (Val Integer')
cddcmhhValue = lens _codeDeployDeploymentConfigMinimumHealthyHostsValue (\s a -> s { _codeDeployDeploymentConfigMinimumHealthyHostsValue = a })