module Network.AWS.AutoScaling.DescribeAccountLimits
(
DescribeAccountLimits
, describeAccountLimits
, DescribeAccountLimitsResponse
, describeAccountLimitsResponse
, dalrMaxNumberOfAutoScalingGroups
, dalrMaxNumberOfLaunchConfigurations
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.AutoScaling.Types
import qualified GHC.Exts
data DescribeAccountLimits = DescribeAccountLimits
deriving (Eq, Ord, Show, Generic)
describeAccountLimits :: DescribeAccountLimits
describeAccountLimits = DescribeAccountLimits
data DescribeAccountLimitsResponse = DescribeAccountLimitsResponse
{ _dalrMaxNumberOfAutoScalingGroups :: Maybe Int
, _dalrMaxNumberOfLaunchConfigurations :: Maybe Int
} deriving (Eq, Ord, Show)
describeAccountLimitsResponse :: DescribeAccountLimitsResponse
describeAccountLimitsResponse = DescribeAccountLimitsResponse
{ _dalrMaxNumberOfAutoScalingGroups = Nothing
, _dalrMaxNumberOfLaunchConfigurations = Nothing
}
dalrMaxNumberOfAutoScalingGroups :: Lens' DescribeAccountLimitsResponse (Maybe Int)
dalrMaxNumberOfAutoScalingGroups =
lens _dalrMaxNumberOfAutoScalingGroups
(\s a -> s { _dalrMaxNumberOfAutoScalingGroups = a })
dalrMaxNumberOfLaunchConfigurations :: Lens' DescribeAccountLimitsResponse (Maybe Int)
dalrMaxNumberOfLaunchConfigurations =
lens _dalrMaxNumberOfLaunchConfigurations
(\s a -> s { _dalrMaxNumberOfLaunchConfigurations = a })
instance ToPath DescribeAccountLimits where
toPath = const "/"
instance ToQuery DescribeAccountLimits where
toQuery = const mempty
instance ToHeaders DescribeAccountLimits
instance AWSRequest DescribeAccountLimits where
type Sv DescribeAccountLimits = AutoScaling
type Rs DescribeAccountLimits = DescribeAccountLimitsResponse
request = post "DescribeAccountLimits"
response = xmlResponse
instance FromXML DescribeAccountLimitsResponse where
parseXML = withElement "DescribeAccountLimitsResult" $ \x -> DescribeAccountLimitsResponse
<$> x .@? "MaxNumberOfAutoScalingGroups"
<*> x .@? "MaxNumberOfLaunchConfigurations"