{-# 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.DeleteCustomerGateway
(
deleteCustomerGateway
, DeleteCustomerGateway
, dcgcDryRun
, dcgcCustomerGatewayId
, deleteCustomerGatewayResponse
, DeleteCustomerGatewayResponse
) 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 DeleteCustomerGateway = DeleteCustomerGateway'
{ _dcgcDryRun :: !(Maybe Bool)
, _dcgcCustomerGatewayId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteCustomerGateway
:: Text
-> DeleteCustomerGateway
deleteCustomerGateway pCustomerGatewayId_ =
DeleteCustomerGateway'
{_dcgcDryRun = Nothing, _dcgcCustomerGatewayId = pCustomerGatewayId_}
dcgcDryRun :: Lens' DeleteCustomerGateway (Maybe Bool)
dcgcDryRun = lens _dcgcDryRun (\ s a -> s{_dcgcDryRun = a})
dcgcCustomerGatewayId :: Lens' DeleteCustomerGateway Text
dcgcCustomerGatewayId = lens _dcgcCustomerGatewayId (\ s a -> s{_dcgcCustomerGatewayId = a})
instance AWSRequest DeleteCustomerGateway where
type Rs DeleteCustomerGateway =
DeleteCustomerGatewayResponse
request = postQuery ec2
response = receiveNull DeleteCustomerGatewayResponse'
instance Hashable DeleteCustomerGateway where
instance NFData DeleteCustomerGateway where
instance ToHeaders DeleteCustomerGateway where
toHeaders = const mempty
instance ToPath DeleteCustomerGateway where
toPath = const "/"
instance ToQuery DeleteCustomerGateway where
toQuery DeleteCustomerGateway'{..}
= mconcat
["Action" =: ("DeleteCustomerGateway" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"DryRun" =: _dcgcDryRun,
"CustomerGatewayId" =: _dcgcCustomerGatewayId]
data DeleteCustomerGatewayResponse =
DeleteCustomerGatewayResponse'
deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteCustomerGatewayResponse
:: DeleteCustomerGatewayResponse
deleteCustomerGatewayResponse = DeleteCustomerGatewayResponse'
instance NFData DeleteCustomerGatewayResponse where