{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.EC2.DescribeHostReservationOfferings
(
describeHostReservationOfferings
, DescribeHostReservationOfferings
, dhroMaxDuration
, dhroNextToken
, dhroMinDuration
, dhroOfferingId
, dhroFilter
, dhroMaxResults
, describeHostReservationOfferingsResponse
, DescribeHostReservationOfferingsResponse
, dhrorsOfferingSet
, dhrorsNextToken
, dhrorsResponseStatus
) 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 DescribeHostReservationOfferings = DescribeHostReservationOfferings'
{ _dhroMaxDuration :: !(Maybe Int)
, _dhroNextToken :: !(Maybe Text)
, _dhroMinDuration :: !(Maybe Int)
, _dhroOfferingId :: !(Maybe Text)
, _dhroFilter :: !(Maybe [Filter])
, _dhroMaxResults :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeHostReservationOfferings
:: DescribeHostReservationOfferings
describeHostReservationOfferings =
DescribeHostReservationOfferings'
{ _dhroMaxDuration = Nothing
, _dhroNextToken = Nothing
, _dhroMinDuration = Nothing
, _dhroOfferingId = Nothing
, _dhroFilter = Nothing
, _dhroMaxResults = Nothing
}
dhroMaxDuration :: Lens' DescribeHostReservationOfferings (Maybe Int)
dhroMaxDuration = lens _dhroMaxDuration (\ s a -> s{_dhroMaxDuration = a});
dhroNextToken :: Lens' DescribeHostReservationOfferings (Maybe Text)
dhroNextToken = lens _dhroNextToken (\ s a -> s{_dhroNextToken = a});
dhroMinDuration :: Lens' DescribeHostReservationOfferings (Maybe Int)
dhroMinDuration = lens _dhroMinDuration (\ s a -> s{_dhroMinDuration = a});
dhroOfferingId :: Lens' DescribeHostReservationOfferings (Maybe Text)
dhroOfferingId = lens _dhroOfferingId (\ s a -> s{_dhroOfferingId = a});
dhroFilter :: Lens' DescribeHostReservationOfferings [Filter]
dhroFilter = lens _dhroFilter (\ s a -> s{_dhroFilter = a}) . _Default . _Coerce;
dhroMaxResults :: Lens' DescribeHostReservationOfferings (Maybe Int)
dhroMaxResults = lens _dhroMaxResults (\ s a -> s{_dhroMaxResults = a});
instance AWSRequest DescribeHostReservationOfferings
where
type Rs DescribeHostReservationOfferings =
DescribeHostReservationOfferingsResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeHostReservationOfferingsResponse' <$>
(x .@? "offeringSet" .!@ mempty >>=
may (parseXMLList "member"))
<*> (x .@? "nextToken")
<*> (pure (fromEnum s)))
instance Hashable DescribeHostReservationOfferings
instance NFData DescribeHostReservationOfferings
instance ToHeaders DescribeHostReservationOfferings
where
toHeaders = const mempty
instance ToPath DescribeHostReservationOfferings
where
toPath = const "/"
instance ToQuery DescribeHostReservationOfferings
where
toQuery DescribeHostReservationOfferings'{..}
= mconcat
["Action" =:
("DescribeHostReservationOfferings" :: ByteString),
"Version" =: ("2016-04-01" :: ByteString),
"MaxDuration" =: _dhroMaxDuration,
"NextToken" =: _dhroNextToken,
"MinDuration" =: _dhroMinDuration,
"OfferingId" =: _dhroOfferingId,
toQuery (toQueryList "Filter" <$> _dhroFilter),
"MaxResults" =: _dhroMaxResults]
data DescribeHostReservationOfferingsResponse = DescribeHostReservationOfferingsResponse'
{ _dhrorsOfferingSet :: !(Maybe [HostOffering])
, _dhrorsNextToken :: !(Maybe Text)
, _dhrorsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeHostReservationOfferingsResponse
:: Int
-> DescribeHostReservationOfferingsResponse
describeHostReservationOfferingsResponse pResponseStatus_ =
DescribeHostReservationOfferingsResponse'
{ _dhrorsOfferingSet = Nothing
, _dhrorsNextToken = Nothing
, _dhrorsResponseStatus = pResponseStatus_
}
dhrorsOfferingSet :: Lens' DescribeHostReservationOfferingsResponse [HostOffering]
dhrorsOfferingSet = lens _dhrorsOfferingSet (\ s a -> s{_dhrorsOfferingSet = a}) . _Default . _Coerce;
dhrorsNextToken :: Lens' DescribeHostReservationOfferingsResponse (Maybe Text)
dhrorsNextToken = lens _dhrorsNextToken (\ s a -> s{_dhrorsNextToken = a});
dhrorsResponseStatus :: Lens' DescribeHostReservationOfferingsResponse Int
dhrorsResponseStatus = lens _dhrorsResponseStatus (\ s a -> s{_dhrorsResponseStatus = a});
instance NFData
DescribeHostReservationOfferingsResponse