module Network.AWS.OpsWorks.DescribeLoadBasedAutoScaling
(
describeLoadBasedAutoScaling
, DescribeLoadBasedAutoScaling
, dlbasLayerIds
, describeLoadBasedAutoScalingResponse
, DescribeLoadBasedAutoScalingResponse
, dlbasrsLoadBasedAutoScalingConfigurations
, dlbasrsStatus
) where
import Network.AWS.OpsWorks.Types
import Network.AWS.OpsWorks.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeLoadBasedAutoScaling = DescribeLoadBasedAutoScaling'
{ _dlbasLayerIds :: [Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeLoadBasedAutoScaling
:: DescribeLoadBasedAutoScaling
describeLoadBasedAutoScaling =
DescribeLoadBasedAutoScaling'
{ _dlbasLayerIds = mempty
}
dlbasLayerIds :: Lens' DescribeLoadBasedAutoScaling [Text]
dlbasLayerIds = lens _dlbasLayerIds (\ s a -> s{_dlbasLayerIds = a}) . _Coerce;
instance AWSRequest DescribeLoadBasedAutoScaling
where
type Rs DescribeLoadBasedAutoScaling =
DescribeLoadBasedAutoScalingResponse
request = postJSON opsWorks
response
= receiveJSON
(\ s h x ->
DescribeLoadBasedAutoScalingResponse' <$>
(x .?> "LoadBasedAutoScalingConfigurations" .!@
mempty)
<*> (pure (fromEnum s)))
instance ToHeaders DescribeLoadBasedAutoScaling where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OpsWorks_20130218.DescribeLoadBasedAutoScaling" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeLoadBasedAutoScaling where
toJSON DescribeLoadBasedAutoScaling'{..}
= object
(catMaybes [Just ("LayerIds" .= _dlbasLayerIds)])
instance ToPath DescribeLoadBasedAutoScaling where
toPath = const "/"
instance ToQuery DescribeLoadBasedAutoScaling where
toQuery = const mempty
data DescribeLoadBasedAutoScalingResponse = DescribeLoadBasedAutoScalingResponse'
{ _dlbasrsLoadBasedAutoScalingConfigurations :: !(Maybe [LoadBasedAutoScalingConfiguration])
, _dlbasrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeLoadBasedAutoScalingResponse
:: Int
-> DescribeLoadBasedAutoScalingResponse
describeLoadBasedAutoScalingResponse pStatus_ =
DescribeLoadBasedAutoScalingResponse'
{ _dlbasrsLoadBasedAutoScalingConfigurations = Nothing
, _dlbasrsStatus = pStatus_
}
dlbasrsLoadBasedAutoScalingConfigurations :: Lens' DescribeLoadBasedAutoScalingResponse [LoadBasedAutoScalingConfiguration]
dlbasrsLoadBasedAutoScalingConfigurations = lens _dlbasrsLoadBasedAutoScalingConfigurations (\ s a -> s{_dlbasrsLoadBasedAutoScalingConfigurations = a}) . _Default . _Coerce;
dlbasrsStatus :: Lens' DescribeLoadBasedAutoScalingResponse Int
dlbasrsStatus = lens _dlbasrsStatus (\ s a -> s{_dlbasrsStatus = a});