module Network.AWS.EC2.DescribeInternetGateways
(
DescribeInternetGateways
, describeInternetGateways
, dig1DryRun
, dig1Filters
, dig1InternetGatewayIds
, DescribeInternetGatewaysResponse
, describeInternetGatewaysResponse
, digrInternetGateways
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.EC2.Types
import qualified GHC.Exts
data DescribeInternetGateways = DescribeInternetGateways
{ _dig1DryRun :: Maybe Bool
, _dig1Filters :: List "Filter" Filter
, _dig1InternetGatewayIds :: List "item" Text
} deriving (Eq, Show)
describeInternetGateways :: DescribeInternetGateways
describeInternetGateways = DescribeInternetGateways
{ _dig1DryRun = Nothing
, _dig1InternetGatewayIds = mempty
, _dig1Filters = mempty
}
dig1DryRun :: Lens' DescribeInternetGateways (Maybe Bool)
dig1DryRun = lens _dig1DryRun (\s a -> s { _dig1DryRun = a })
dig1Filters :: Lens' DescribeInternetGateways [Filter]
dig1Filters = lens _dig1Filters (\s a -> s { _dig1Filters = a }) . _List
dig1InternetGatewayIds :: Lens' DescribeInternetGateways [Text]
dig1InternetGatewayIds =
lens _dig1InternetGatewayIds (\s a -> s { _dig1InternetGatewayIds = a })
. _List
newtype DescribeInternetGatewaysResponse = DescribeInternetGatewaysResponse
{ _digrInternetGateways :: List "item" InternetGateway
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeInternetGatewaysResponse where
type Item DescribeInternetGatewaysResponse = InternetGateway
fromList = DescribeInternetGatewaysResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _digrInternetGateways
describeInternetGatewaysResponse :: DescribeInternetGatewaysResponse
describeInternetGatewaysResponse = DescribeInternetGatewaysResponse
{ _digrInternetGateways = mempty
}
digrInternetGateways :: Lens' DescribeInternetGatewaysResponse [InternetGateway]
digrInternetGateways =
lens _digrInternetGateways (\s a -> s { _digrInternetGateways = a })
. _List
instance ToPath DescribeInternetGateways where
toPath = const "/"
instance ToQuery DescribeInternetGateways where
toQuery DescribeInternetGateways{..} = mconcat
[ "dryRun" =? _dig1DryRun
, "Filter" =? _dig1Filters
, "internetGatewayId" =? _dig1InternetGatewayIds
]
instance ToHeaders DescribeInternetGateways
instance AWSRequest DescribeInternetGateways where
type Sv DescribeInternetGateways = EC2
type Rs DescribeInternetGateways = DescribeInternetGatewaysResponse
request = post "DescribeInternetGateways"
response = xmlResponse
instance FromXML DescribeInternetGatewaysResponse where
parseXML x = DescribeInternetGatewaysResponse
<$> x .@ "internetGatewaySet"