module Network.AWS.OpsWorks.DescribeTimeBasedAutoScaling
(
describeTimeBasedAutoScaling
, DescribeTimeBasedAutoScaling
, dtbasInstanceIds
, describeTimeBasedAutoScalingResponse
, DescribeTimeBasedAutoScalingResponse
, dtbasrsTimeBasedAutoScalingConfigurations
, dtbasrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.OpsWorks.Types
import Network.AWS.OpsWorks.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeTimeBasedAutoScaling = DescribeTimeBasedAutoScaling'
{ _dtbasInstanceIds :: [Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeTimeBasedAutoScaling
:: DescribeTimeBasedAutoScaling
describeTimeBasedAutoScaling =
DescribeTimeBasedAutoScaling' {_dtbasInstanceIds = mempty}
dtbasInstanceIds :: Lens' DescribeTimeBasedAutoScaling [Text]
dtbasInstanceIds = lens _dtbasInstanceIds (\ s a -> s{_dtbasInstanceIds = a}) . _Coerce;
instance AWSRequest DescribeTimeBasedAutoScaling
where
type Rs DescribeTimeBasedAutoScaling =
DescribeTimeBasedAutoScalingResponse
request = postJSON opsWorks
response
= receiveJSON
(\ s h x ->
DescribeTimeBasedAutoScalingResponse' <$>
(x .?> "TimeBasedAutoScalingConfigurations" .!@
mempty)
<*> (pure (fromEnum s)))
instance Hashable DescribeTimeBasedAutoScaling where
instance NFData DescribeTimeBasedAutoScaling where
instance ToHeaders DescribeTimeBasedAutoScaling where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OpsWorks_20130218.DescribeTimeBasedAutoScaling" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeTimeBasedAutoScaling where
toJSON DescribeTimeBasedAutoScaling'{..}
= object
(catMaybes
[Just ("InstanceIds" .= _dtbasInstanceIds)])
instance ToPath DescribeTimeBasedAutoScaling where
toPath = const "/"
instance ToQuery DescribeTimeBasedAutoScaling where
toQuery = const mempty
data DescribeTimeBasedAutoScalingResponse = DescribeTimeBasedAutoScalingResponse'
{ _dtbasrsTimeBasedAutoScalingConfigurations :: !(Maybe [TimeBasedAutoScalingConfiguration])
, _dtbasrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeTimeBasedAutoScalingResponse
:: Int
-> DescribeTimeBasedAutoScalingResponse
describeTimeBasedAutoScalingResponse pResponseStatus_ =
DescribeTimeBasedAutoScalingResponse'
{ _dtbasrsTimeBasedAutoScalingConfigurations = Nothing
, _dtbasrsResponseStatus = pResponseStatus_
}
dtbasrsTimeBasedAutoScalingConfigurations :: Lens' DescribeTimeBasedAutoScalingResponse [TimeBasedAutoScalingConfiguration]
dtbasrsTimeBasedAutoScalingConfigurations = lens _dtbasrsTimeBasedAutoScalingConfigurations (\ s a -> s{_dtbasrsTimeBasedAutoScalingConfigurations = a}) . _Default . _Coerce;
dtbasrsResponseStatus :: Lens' DescribeTimeBasedAutoScalingResponse Int
dtbasrsResponseStatus = lens _dtbasrsResponseStatus (\ s a -> s{_dtbasrsResponseStatus = a});
instance NFData DescribeTimeBasedAutoScalingResponse
where