module Network.AWS.AutoScaling.DescribeScalingActivities
(
describeScalingActivities
, DescribeScalingActivities
, desNextToken
, desAutoScalingGroupName
, desMaxRecords
, desActivityIds
, describeScalingActivitiesResponse
, DescribeScalingActivitiesResponse
, dsasrsNextToken
, dsasrsResponseStatus
, dsasrsActivities
) where
import Network.AWS.AutoScaling.Types
import Network.AWS.AutoScaling.Types.Product
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeScalingActivities = DescribeScalingActivities'
{ _desNextToken :: !(Maybe Text)
, _desAutoScalingGroupName :: !(Maybe Text)
, _desMaxRecords :: !(Maybe Int)
, _desActivityIds :: !(Maybe [Text])
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeScalingActivities
:: DescribeScalingActivities
describeScalingActivities =
DescribeScalingActivities'
{ _desNextToken = Nothing
, _desAutoScalingGroupName = Nothing
, _desMaxRecords = Nothing
, _desActivityIds = Nothing
}
desNextToken :: Lens' DescribeScalingActivities (Maybe Text)
desNextToken = lens _desNextToken (\ s a -> s{_desNextToken = a});
desAutoScalingGroupName :: Lens' DescribeScalingActivities (Maybe Text)
desAutoScalingGroupName = lens _desAutoScalingGroupName (\ s a -> s{_desAutoScalingGroupName = a});
desMaxRecords :: Lens' DescribeScalingActivities (Maybe Int)
desMaxRecords = lens _desMaxRecords (\ s a -> s{_desMaxRecords = a});
desActivityIds :: Lens' DescribeScalingActivities [Text]
desActivityIds = lens _desActivityIds (\ s a -> s{_desActivityIds = a}) . _Default . _Coerce;
instance AWSPager DescribeScalingActivities where
page rq rs
| stop (rs ^. dsasrsNextToken) = Nothing
| stop (rs ^. dsasrsActivities) = Nothing
| otherwise =
Just $ rq & desNextToken .~ rs ^. dsasrsNextToken
instance AWSRequest DescribeScalingActivities where
type Rs DescribeScalingActivities =
DescribeScalingActivitiesResponse
request = postQuery autoScaling
response
= receiveXMLWrapper "DescribeScalingActivitiesResult"
(\ s h x ->
DescribeScalingActivitiesResponse' <$>
(x .@? "NextToken") <*> (pure (fromEnum s)) <*>
(x .@? "Activities" .!@ mempty >>=
parseXMLList "member"))
instance Hashable DescribeScalingActivities
instance NFData DescribeScalingActivities
instance ToHeaders DescribeScalingActivities where
toHeaders = const mempty
instance ToPath DescribeScalingActivities where
toPath = const "/"
instance ToQuery DescribeScalingActivities where
toQuery DescribeScalingActivities'{..}
= mconcat
["Action" =:
("DescribeScalingActivities" :: ByteString),
"Version" =: ("2011-01-01" :: ByteString),
"NextToken" =: _desNextToken,
"AutoScalingGroupName" =: _desAutoScalingGroupName,
"MaxRecords" =: _desMaxRecords,
"ActivityIds" =:
toQuery (toQueryList "member" <$> _desActivityIds)]
data DescribeScalingActivitiesResponse = DescribeScalingActivitiesResponse'
{ _dsasrsNextToken :: !(Maybe Text)
, _dsasrsResponseStatus :: !Int
, _dsasrsActivities :: ![Activity]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeScalingActivitiesResponse
:: Int
-> DescribeScalingActivitiesResponse
describeScalingActivitiesResponse pResponseStatus_ =
DescribeScalingActivitiesResponse'
{ _dsasrsNextToken = Nothing
, _dsasrsResponseStatus = pResponseStatus_
, _dsasrsActivities = mempty
}
dsasrsNextToken :: Lens' DescribeScalingActivitiesResponse (Maybe Text)
dsasrsNextToken = lens _dsasrsNextToken (\ s a -> s{_dsasrsNextToken = a});
dsasrsResponseStatus :: Lens' DescribeScalingActivitiesResponse Int
dsasrsResponseStatus = lens _dsasrsResponseStatus (\ s a -> s{_dsasrsResponseStatus = a});
dsasrsActivities :: Lens' DescribeScalingActivitiesResponse [Activity]
dsasrsActivities = lens _dsasrsActivities (\ s a -> s{_dsasrsActivities = a}) . _Coerce;
instance NFData DescribeScalingActivitiesResponse