module Network.AWS.EC2.DescribeInternetGateways
(
describeInternetGateways
, DescribeInternetGateways
, dFilters
, dInternetGatewayIds
, dDryRun
, describeInternetGatewaysResponse
, DescribeInternetGatewaysResponse
, digrsInternetGateways
, digrsResponseStatus
) 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 DescribeInternetGateways = DescribeInternetGateways'
{ _dFilters :: !(Maybe [Filter])
, _dInternetGatewayIds :: !(Maybe [Text])
, _dDryRun :: !(Maybe Bool)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeInternetGateways
:: DescribeInternetGateways
describeInternetGateways =
DescribeInternetGateways'
{ _dFilters = Nothing
, _dInternetGatewayIds = Nothing
, _dDryRun = Nothing
}
dFilters :: Lens' DescribeInternetGateways [Filter]
dFilters = lens _dFilters (\ s a -> s{_dFilters = a}) . _Default . _Coerce;
dInternetGatewayIds :: Lens' DescribeInternetGateways [Text]
dInternetGatewayIds = lens _dInternetGatewayIds (\ s a -> s{_dInternetGatewayIds = a}) . _Default . _Coerce;
dDryRun :: Lens' DescribeInternetGateways (Maybe Bool)
dDryRun = lens _dDryRun (\ s a -> s{_dDryRun = a});
instance AWSRequest DescribeInternetGateways where
type Rs DescribeInternetGateways =
DescribeInternetGatewaysResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DescribeInternetGatewaysResponse' <$>
(x .@? "internetGatewaySet" .!@ mempty >>=
may (parseXMLList "item"))
<*> (pure (fromEnum s)))
instance Hashable DescribeInternetGateways
instance NFData DescribeInternetGateways
instance ToHeaders DescribeInternetGateways where
toHeaders = const mempty
instance ToPath DescribeInternetGateways where
toPath = const "/"
instance ToQuery DescribeInternetGateways where
toQuery DescribeInternetGateways'{..}
= mconcat
["Action" =:
("DescribeInternetGateways" :: ByteString),
"Version" =: ("2015-10-01" :: ByteString),
toQuery (toQueryList "Filter" <$> _dFilters),
toQuery
(toQueryList "InternetGatewayId" <$>
_dInternetGatewayIds),
"DryRun" =: _dDryRun]
data DescribeInternetGatewaysResponse = DescribeInternetGatewaysResponse'
{ _digrsInternetGateways :: !(Maybe [InternetGateway])
, _digrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeInternetGatewaysResponse
:: Int
-> DescribeInternetGatewaysResponse
describeInternetGatewaysResponse pResponseStatus_ =
DescribeInternetGatewaysResponse'
{ _digrsInternetGateways = Nothing
, _digrsResponseStatus = pResponseStatus_
}
digrsInternetGateways :: Lens' DescribeInternetGatewaysResponse [InternetGateway]
digrsInternetGateways = lens _digrsInternetGateways (\ s a -> s{_digrsInternetGateways = a}) . _Default . _Coerce;
digrsResponseStatus :: Lens' DescribeInternetGatewaysResponse Int
digrsResponseStatus = lens _digrsResponseStatus (\ s a -> s{_digrsResponseStatus = a});
instance NFData DescribeInternetGatewaysResponse