{-# 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.DescribeReservedInstancesListings
(
describeReservedInstancesListings
, DescribeReservedInstancesListings
, drilFilters
, drilReservedInstancesId
, drilReservedInstancesListingId
, describeReservedInstancesListingsResponse
, DescribeReservedInstancesListingsResponse
, drilrsReservedInstancesListings
, drilrsResponseStatus
) 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 DescribeReservedInstancesListings = DescribeReservedInstancesListings'
{ _drilFilters :: !(Maybe [Filter])
, _drilReservedInstancesId :: !(Maybe Text)
, _drilReservedInstancesListingId :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeReservedInstancesListings
:: DescribeReservedInstancesListings
describeReservedInstancesListings =
DescribeReservedInstancesListings'
{ _drilFilters = Nothing
, _drilReservedInstancesId = Nothing
, _drilReservedInstancesListingId = Nothing
}
drilFilters :: Lens' DescribeReservedInstancesListings [Filter]
drilFilters = lens _drilFilters (\ s a -> s{_drilFilters = a}) . _Default . _Coerce;
drilReservedInstancesId :: Lens' DescribeReservedInstancesListings (Maybe Text)
drilReservedInstancesId = lens _drilReservedInstancesId (\ s a -> s{_drilReservedInstancesId = a});
drilReservedInstancesListingId :: Lens' DescribeReservedInstancesListings (Maybe Text)
drilReservedInstancesListingId = lens _drilReservedInstancesListingId (\ s a -> s{_drilReservedInstancesListingId = a});
instance AWSRequest DescribeReservedInstancesListings
where
type Rs DescribeReservedInstancesListings =
DescribeReservedInstancesListingsResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeReservedInstancesListingsResponse' <$>
(x .@? "reservedInstancesListingsSet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable DescribeReservedInstancesListings
instance NFData DescribeReservedInstancesListings
instance ToHeaders DescribeReservedInstancesListings
where
toHeaders = const mempty
instance ToPath DescribeReservedInstancesListings
where
toPath = const "/"
instance ToQuery DescribeReservedInstancesListings
where
toQuery DescribeReservedInstancesListings'{..}
= mconcat
["Action" =:
("DescribeReservedInstancesListings" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
toQuery (toQueryList "Filter" <$> _drilFilters),
"ReservedInstancesId" =: _drilReservedInstancesId,
"ReservedInstancesListingId" =:
_drilReservedInstancesListingId]
data DescribeReservedInstancesListingsResponse = DescribeReservedInstancesListingsResponse'
{ _drilrsReservedInstancesListings :: !(Maybe [ReservedInstancesListing])
, _drilrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeReservedInstancesListingsResponse
:: Int
-> DescribeReservedInstancesListingsResponse
describeReservedInstancesListingsResponse pResponseStatus_ =
DescribeReservedInstancesListingsResponse'
{ _drilrsReservedInstancesListings = Nothing
, _drilrsResponseStatus = pResponseStatus_
}
drilrsReservedInstancesListings :: Lens' DescribeReservedInstancesListingsResponse [ReservedInstancesListing]
drilrsReservedInstancesListings = lens _drilrsReservedInstancesListings (\ s a -> s{_drilrsReservedInstancesListings = a}) . _Default . _Coerce;
drilrsResponseStatus :: Lens' DescribeReservedInstancesListingsResponse Int
drilrsResponseStatus = lens _drilrsResponseStatus (\ s a -> s{_drilrsResponseStatus = a});
instance NFData
DescribeReservedInstancesListingsResponse