stratosphere-0.55.0: library-gen/Stratosphere/ResourceProperties/ECSCapacityProviderManagedScaling.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html
module Stratosphere.ResourceProperties.ECSCapacityProviderManagedScaling where
import Stratosphere.ResourceImports
-- | Full data type definition for ECSCapacityProviderManagedScaling. See
-- 'ecsCapacityProviderManagedScaling' for a more convenient constructor.
data ECSCapacityProviderManagedScaling =
ECSCapacityProviderManagedScaling
{ _eCSCapacityProviderManagedScalingMaximumScalingStepSize :: Maybe (Val Integer)
, _eCSCapacityProviderManagedScalingMinimumScalingStepSize :: Maybe (Val Integer)
, _eCSCapacityProviderManagedScalingStatus :: Maybe (Val Text)
, _eCSCapacityProviderManagedScalingTargetCapacity :: Maybe (Val Integer)
} deriving (Show, Eq)
instance ToJSON ECSCapacityProviderManagedScaling where
toJSON ECSCapacityProviderManagedScaling{..} =
object $
catMaybes
[ fmap (("MaximumScalingStepSize",) . toJSON) _eCSCapacityProviderManagedScalingMaximumScalingStepSize
, fmap (("MinimumScalingStepSize",) . toJSON) _eCSCapacityProviderManagedScalingMinimumScalingStepSize
, fmap (("Status",) . toJSON) _eCSCapacityProviderManagedScalingStatus
, fmap (("TargetCapacity",) . toJSON) _eCSCapacityProviderManagedScalingTargetCapacity
]
-- | Constructor for 'ECSCapacityProviderManagedScaling' containing required
-- fields as arguments.
ecsCapacityProviderManagedScaling
:: ECSCapacityProviderManagedScaling
ecsCapacityProviderManagedScaling =
ECSCapacityProviderManagedScaling
{ _eCSCapacityProviderManagedScalingMaximumScalingStepSize = Nothing
, _eCSCapacityProviderManagedScalingMinimumScalingStepSize = Nothing
, _eCSCapacityProviderManagedScalingStatus = Nothing
, _eCSCapacityProviderManagedScalingTargetCapacity = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-maximumscalingstepsize
ecscpmsMaximumScalingStepSize :: Lens' ECSCapacityProviderManagedScaling (Maybe (Val Integer))
ecscpmsMaximumScalingStepSize = lens _eCSCapacityProviderManagedScalingMaximumScalingStepSize (\s a -> s { _eCSCapacityProviderManagedScalingMaximumScalingStepSize = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-minimumscalingstepsize
ecscpmsMinimumScalingStepSize :: Lens' ECSCapacityProviderManagedScaling (Maybe (Val Integer))
ecscpmsMinimumScalingStepSize = lens _eCSCapacityProviderManagedScalingMinimumScalingStepSize (\s a -> s { _eCSCapacityProviderManagedScalingMinimumScalingStepSize = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-status
ecscpmsStatus :: Lens' ECSCapacityProviderManagedScaling (Maybe (Val Text))
ecscpmsStatus = lens _eCSCapacityProviderManagedScalingStatus (\s a -> s { _eCSCapacityProviderManagedScalingStatus = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-targetcapacity
ecscpmsTargetCapacity :: Lens' ECSCapacityProviderManagedScaling (Maybe (Val Integer))
ecscpmsTargetCapacity = lens _eCSCapacityProviderManagedScalingTargetCapacity (\s a -> s { _eCSCapacityProviderManagedScalingTargetCapacity = a })