{-# 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.DescribeInstanceCreditSpecifications
(
describeInstanceCreditSpecifications
, DescribeInstanceCreditSpecifications
, dicsFilters
, dicsNextToken
, dicsInstanceIds
, dicsDryRun
, dicsMaxResults
, describeInstanceCreditSpecificationsResponse
, DescribeInstanceCreditSpecificationsResponse
, dicsrsNextToken
, dicsrsInstanceCreditSpecifications
, dicsrsResponseStatus
) 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 DescribeInstanceCreditSpecifications = DescribeInstanceCreditSpecifications'
{ _dicsFilters :: !(Maybe [Filter])
, _dicsNextToken :: !(Maybe Text)
, _dicsInstanceIds :: !(Maybe [Text])
, _dicsDryRun :: !(Maybe Bool)
, _dicsMaxResults :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeInstanceCreditSpecifications
:: DescribeInstanceCreditSpecifications
describeInstanceCreditSpecifications =
DescribeInstanceCreditSpecifications'
{ _dicsFilters = Nothing
, _dicsNextToken = Nothing
, _dicsInstanceIds = Nothing
, _dicsDryRun = Nothing
, _dicsMaxResults = Nothing
}
dicsFilters :: Lens' DescribeInstanceCreditSpecifications [Filter]
dicsFilters = lens _dicsFilters (\ s a -> s{_dicsFilters = a}) . _Default . _Coerce
dicsNextToken :: Lens' DescribeInstanceCreditSpecifications (Maybe Text)
dicsNextToken = lens _dicsNextToken (\ s a -> s{_dicsNextToken = a})
dicsInstanceIds :: Lens' DescribeInstanceCreditSpecifications [Text]
dicsInstanceIds = lens _dicsInstanceIds (\ s a -> s{_dicsInstanceIds = a}) . _Default . _Coerce
dicsDryRun :: Lens' DescribeInstanceCreditSpecifications (Maybe Bool)
dicsDryRun = lens _dicsDryRun (\ s a -> s{_dicsDryRun = a})
dicsMaxResults :: Lens' DescribeInstanceCreditSpecifications (Maybe Int)
dicsMaxResults = lens _dicsMaxResults (\ s a -> s{_dicsMaxResults = a})
instance AWSRequest
DescribeInstanceCreditSpecifications
where
type Rs DescribeInstanceCreditSpecifications =
DescribeInstanceCreditSpecificationsResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeInstanceCreditSpecificationsResponse' <$>
(x .@? "nextToken") <*>
(x .@? "instanceCreditSpecificationSet" .!@ mempty
>>= may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable
DescribeInstanceCreditSpecifications
where
instance NFData DescribeInstanceCreditSpecifications
where
instance ToHeaders
DescribeInstanceCreditSpecifications
where
toHeaders = const mempty
instance ToPath DescribeInstanceCreditSpecifications
where
toPath = const "/"
instance ToQuery DescribeInstanceCreditSpecifications
where
toQuery DescribeInstanceCreditSpecifications'{..}
= mconcat
["Action" =:
("DescribeInstanceCreditSpecifications" ::
ByteString),
"Version" =: ("2016-11-15" :: ByteString),
toQuery (toQueryList "Filter" <$> _dicsFilters),
"NextToken" =: _dicsNextToken,
toQuery
(toQueryList "InstanceId" <$> _dicsInstanceIds),
"DryRun" =: _dicsDryRun,
"MaxResults" =: _dicsMaxResults]
data DescribeInstanceCreditSpecificationsResponse = DescribeInstanceCreditSpecificationsResponse'
{ _dicsrsNextToken :: !(Maybe Text)
, _dicsrsInstanceCreditSpecifications :: !(Maybe [InstanceCreditSpecification])
, _dicsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeInstanceCreditSpecificationsResponse
:: Int
-> DescribeInstanceCreditSpecificationsResponse
describeInstanceCreditSpecificationsResponse pResponseStatus_ =
DescribeInstanceCreditSpecificationsResponse'
{ _dicsrsNextToken = Nothing
, _dicsrsInstanceCreditSpecifications = Nothing
, _dicsrsResponseStatus = pResponseStatus_
}
dicsrsNextToken :: Lens' DescribeInstanceCreditSpecificationsResponse (Maybe Text)
dicsrsNextToken = lens _dicsrsNextToken (\ s a -> s{_dicsrsNextToken = a})
dicsrsInstanceCreditSpecifications :: Lens' DescribeInstanceCreditSpecificationsResponse [InstanceCreditSpecification]
dicsrsInstanceCreditSpecifications = lens _dicsrsInstanceCreditSpecifications (\ s a -> s{_dicsrsInstanceCreditSpecifications = a}) . _Default . _Coerce
dicsrsResponseStatus :: Lens' DescribeInstanceCreditSpecificationsResponse Int
dicsrsResponseStatus = lens _dicsrsResponseStatus (\ s a -> s{_dicsrsResponseStatus = a})
instance NFData
DescribeInstanceCreditSpecificationsResponse
where