module Network.AWS.EC2.DescribeHostReservations
(
describeHostReservations
, DescribeHostReservations
, dhrNextToken
, dhrHostReservationIdSet
, dhrFilter
, dhrMaxResults
, describeHostReservationsResponse
, DescribeHostReservationsResponse
, dhrrsNextToken
, dhrrsHostReservationSet
, dhrrsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeHostReservations = DescribeHostReservations'
{ _dhrNextToken :: !(Maybe Text)
, _dhrHostReservationIdSet :: !(Maybe [Text])
, _dhrFilter :: !(Maybe [Filter])
, _dhrMaxResults :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeHostReservations
:: DescribeHostReservations
describeHostReservations =
DescribeHostReservations'
{ _dhrNextToken = Nothing
, _dhrHostReservationIdSet = Nothing
, _dhrFilter = Nothing
, _dhrMaxResults = Nothing
}
dhrNextToken :: Lens' DescribeHostReservations (Maybe Text)
dhrNextToken = lens _dhrNextToken (\ s a -> s{_dhrNextToken = a});
dhrHostReservationIdSet :: Lens' DescribeHostReservations [Text]
dhrHostReservationIdSet = lens _dhrHostReservationIdSet (\ s a -> s{_dhrHostReservationIdSet = a}) . _Default . _Coerce;
dhrFilter :: Lens' DescribeHostReservations [Filter]
dhrFilter = lens _dhrFilter (\ s a -> s{_dhrFilter = a}) . _Default . _Coerce;
dhrMaxResults :: Lens' DescribeHostReservations (Maybe Int)
dhrMaxResults = lens _dhrMaxResults (\ s a -> s{_dhrMaxResults = a});
instance AWSRequest DescribeHostReservations where
type Rs DescribeHostReservations =
DescribeHostReservationsResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeHostReservationsResponse' <$>
(x .@? "nextToken") <*>
(x .@? "hostReservationSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable DescribeHostReservations where
instance NFData DescribeHostReservations where
instance ToHeaders DescribeHostReservations where
toHeaders = const mempty
instance ToPath DescribeHostReservations where
toPath = const "/"
instance ToQuery DescribeHostReservations where
toQuery DescribeHostReservations'{..}
= mconcat
["Action" =:
("DescribeHostReservations" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"NextToken" =: _dhrNextToken,
toQuery
(toQueryList "HostReservationIdSet" <$>
_dhrHostReservationIdSet),
toQuery (toQueryList "Filter" <$> _dhrFilter),
"MaxResults" =: _dhrMaxResults]
data DescribeHostReservationsResponse = DescribeHostReservationsResponse'
{ _dhrrsNextToken :: !(Maybe Text)
, _dhrrsHostReservationSet :: !(Maybe [HostReservation])
, _dhrrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeHostReservationsResponse
:: Int
-> DescribeHostReservationsResponse
describeHostReservationsResponse pResponseStatus_ =
DescribeHostReservationsResponse'
{ _dhrrsNextToken = Nothing
, _dhrrsHostReservationSet = Nothing
, _dhrrsResponseStatus = pResponseStatus_
}
dhrrsNextToken :: Lens' DescribeHostReservationsResponse (Maybe Text)
dhrrsNextToken = lens _dhrrsNextToken (\ s a -> s{_dhrrsNextToken = a});
dhrrsHostReservationSet :: Lens' DescribeHostReservationsResponse [HostReservation]
dhrrsHostReservationSet = lens _dhrrsHostReservationSet (\ s a -> s{_dhrrsHostReservationSet = a}) . _Default . _Coerce;
dhrrsResponseStatus :: Lens' DescribeHostReservationsResponse Int
dhrrsResponseStatus = lens _dhrrsResponseStatus (\ s a -> s{_dhrrsResponseStatus = a});
instance NFData DescribeHostReservationsResponse
where