module Network.AWS.EC2.DescribeReservedInstancesModifications
(
describeReservedInstancesModifications
, DescribeReservedInstancesModifications
, drimFilters
, drimReservedInstancesModificationIds
, drimNextToken
, describeReservedInstancesModificationsResponse
, DescribeReservedInstancesModificationsResponse
, drimrsNextToken
, drimrsReservedInstancesModifications
, drimrsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeReservedInstancesModifications = DescribeReservedInstancesModifications'
{ _drimFilters :: !(Maybe [Filter])
, _drimReservedInstancesModificationIds :: !(Maybe [Text])
, _drimNextToken :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeReservedInstancesModifications
:: DescribeReservedInstancesModifications
describeReservedInstancesModifications =
DescribeReservedInstancesModifications'
{ _drimFilters = Nothing
, _drimReservedInstancesModificationIds = Nothing
, _drimNextToken = Nothing
}
drimFilters :: Lens' DescribeReservedInstancesModifications [Filter]
drimFilters = lens _drimFilters (\ s a -> s{_drimFilters = a}) . _Default . _Coerce;
drimReservedInstancesModificationIds :: Lens' DescribeReservedInstancesModifications [Text]
drimReservedInstancesModificationIds = lens _drimReservedInstancesModificationIds (\ s a -> s{_drimReservedInstancesModificationIds = a}) . _Default . _Coerce;
drimNextToken :: Lens' DescribeReservedInstancesModifications (Maybe Text)
drimNextToken = lens _drimNextToken (\ s a -> s{_drimNextToken = a});
instance AWSPager
DescribeReservedInstancesModifications where
page rq rs
| stop (rs ^. drimrsNextToken) = Nothing
| stop (rs ^. drimrsReservedInstancesModifications) =
Nothing
| otherwise =
Just $ rq & drimNextToken .~ rs ^. drimrsNextToken
instance AWSRequest
DescribeReservedInstancesModifications where
type Rs DescribeReservedInstancesModifications =
DescribeReservedInstancesModificationsResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
DescribeReservedInstancesModificationsResponse' <$>
(x .@? "nextToken") <*>
(x .@? "reservedInstancesModificationsSet" .!@ mempty
>>= may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance ToHeaders
DescribeReservedInstancesModifications where
toHeaders = const mempty
instance ToPath
DescribeReservedInstancesModifications where
toPath = const "/"
instance ToQuery
DescribeReservedInstancesModifications where
toQuery DescribeReservedInstancesModifications'{..}
= mconcat
["Action" =:
("DescribeReservedInstancesModifications" ::
ByteString),
"Version" =: ("2015-04-15" :: ByteString),
toQuery (toQueryList "Filter" <$> _drimFilters),
toQuery
(toQueryList "ReservedInstancesModificationId" <$>
_drimReservedInstancesModificationIds),
"NextToken" =: _drimNextToken]
data DescribeReservedInstancesModificationsResponse = DescribeReservedInstancesModificationsResponse'
{ _drimrsNextToken :: !(Maybe Text)
, _drimrsReservedInstancesModifications :: !(Maybe [ReservedInstancesModification])
, _drimrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeReservedInstancesModificationsResponse
:: Int
-> DescribeReservedInstancesModificationsResponse
describeReservedInstancesModificationsResponse pResponseStatus_ =
DescribeReservedInstancesModificationsResponse'
{ _drimrsNextToken = Nothing
, _drimrsReservedInstancesModifications = Nothing
, _drimrsResponseStatus = pResponseStatus_
}
drimrsNextToken :: Lens' DescribeReservedInstancesModificationsResponse (Maybe Text)
drimrsNextToken = lens _drimrsNextToken (\ s a -> s{_drimrsNextToken = a});
drimrsReservedInstancesModifications :: Lens' DescribeReservedInstancesModificationsResponse [ReservedInstancesModification]
drimrsReservedInstancesModifications = lens _drimrsReservedInstancesModifications (\ s a -> s{_drimrsReservedInstancesModifications = a}) . _Default . _Coerce;
drimrsResponseStatus :: Lens' DescribeReservedInstancesModificationsResponse Int
drimrsResponseStatus = lens _drimrsResponseStatus (\ s a -> s{_drimrsResponseStatus = a});