module Network.AWS.EC2.DescribeReservedInstancesListings
(
DescribeReservedInstancesListings
, describeReservedInstancesListings
, drilFilters
, drilReservedInstancesId
, drilReservedInstancesListingId
, DescribeReservedInstancesListingsResponse
, describeReservedInstancesListingsResponse
, drilrReservedInstancesListings
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data DescribeReservedInstancesListings = DescribeReservedInstancesListings
{ _drilFilters :: List "Filter" Filter
, _drilReservedInstancesId :: Maybe Text
, _drilReservedInstancesListingId :: Maybe Text
} deriving (Eq, Show)
describeReservedInstancesListings :: DescribeReservedInstancesListings
describeReservedInstancesListings = DescribeReservedInstancesListings
{ _drilReservedInstancesId = Nothing
, _drilReservedInstancesListingId = Nothing
, _drilFilters = mempty
}
drilFilters :: Lens' DescribeReservedInstancesListings [Filter]
drilFilters = lens _drilFilters (\s a -> s { _drilFilters = a }) . _List
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 })
newtype DescribeReservedInstancesListingsResponse = DescribeReservedInstancesListingsResponse
{ _drilrReservedInstancesListings :: List "item" ReservedInstancesListing
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeReservedInstancesListingsResponse where
type Item DescribeReservedInstancesListingsResponse = ReservedInstancesListing
fromList = DescribeReservedInstancesListingsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _drilrReservedInstancesListings
describeReservedInstancesListingsResponse :: DescribeReservedInstancesListingsResponse
describeReservedInstancesListingsResponse = DescribeReservedInstancesListingsResponse
{ _drilrReservedInstancesListings = mempty
}
drilrReservedInstancesListings :: Lens' DescribeReservedInstancesListingsResponse [ReservedInstancesListing]
drilrReservedInstancesListings =
lens _drilrReservedInstancesListings
(\s a -> s { _drilrReservedInstancesListings = a })
. _List
instance ToPath DescribeReservedInstancesListings where
toPath = const "/"
instance ToQuery DescribeReservedInstancesListings where
toQuery DescribeReservedInstancesListings{..} = mconcat
[ "filters" =? _drilFilters
, "reservedInstancesId" =? _drilReservedInstancesId
, "reservedInstancesListingId" =? _drilReservedInstancesListingId
]
instance ToHeaders DescribeReservedInstancesListings
instance AWSRequest DescribeReservedInstancesListings where
type Sv DescribeReservedInstancesListings = EC2
type Rs DescribeReservedInstancesListings = DescribeReservedInstancesListingsResponse
request = post "DescribeReservedInstancesListings"
response = xmlResponse
instance FromXML DescribeReservedInstancesListingsResponse where
parseXML x = DescribeReservedInstancesListingsResponse
<$> x .@ "reservedInstancesListingsSet"