{-# 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.DirectConnect.DeleteDirectConnectGateway
(
deleteDirectConnectGateway
, DeleteDirectConnectGateway
, ddcgdDirectConnectGatewayId
, deleteDirectConnectGatewayResponse
, DeleteDirectConnectGatewayResponse
, ddcgdrsDirectConnectGateway
, ddcgdrsResponseStatus
) where
import Network.AWS.DirectConnect.Types
import Network.AWS.DirectConnect.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DeleteDirectConnectGateway = DeleteDirectConnectGateway'
{ _ddcgdDirectConnectGatewayId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteDirectConnectGateway
:: Text
-> DeleteDirectConnectGateway
deleteDirectConnectGateway pDirectConnectGatewayId_ =
DeleteDirectConnectGateway'
{_ddcgdDirectConnectGatewayId = pDirectConnectGatewayId_}
ddcgdDirectConnectGatewayId :: Lens' DeleteDirectConnectGateway Text
ddcgdDirectConnectGatewayId = lens _ddcgdDirectConnectGatewayId (\ s a -> s{_ddcgdDirectConnectGatewayId = a})
instance AWSRequest DeleteDirectConnectGateway where
type Rs DeleteDirectConnectGateway =
DeleteDirectConnectGatewayResponse
request = postJSON directConnect
response
= receiveJSON
(\ s h x ->
DeleteDirectConnectGatewayResponse' <$>
(x .?> "directConnectGateway") <*>
(pure (fromEnum s)))
instance Hashable DeleteDirectConnectGateway where
instance NFData DeleteDirectConnectGateway where
instance ToHeaders DeleteDirectConnectGateway where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OvertureService.DeleteDirectConnectGateway" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteDirectConnectGateway where
toJSON DeleteDirectConnectGateway'{..}
= object
(catMaybes
[Just
("directConnectGatewayId" .=
_ddcgdDirectConnectGatewayId)])
instance ToPath DeleteDirectConnectGateway where
toPath = const "/"
instance ToQuery DeleteDirectConnectGateway where
toQuery = const mempty
data DeleteDirectConnectGatewayResponse = DeleteDirectConnectGatewayResponse'
{ _ddcgdrsDirectConnectGateway :: !(Maybe DirectConnectGateway)
, _ddcgdrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteDirectConnectGatewayResponse
:: Int
-> DeleteDirectConnectGatewayResponse
deleteDirectConnectGatewayResponse pResponseStatus_ =
DeleteDirectConnectGatewayResponse'
{ _ddcgdrsDirectConnectGateway = Nothing
, _ddcgdrsResponseStatus = pResponseStatus_
}
ddcgdrsDirectConnectGateway :: Lens' DeleteDirectConnectGatewayResponse (Maybe DirectConnectGateway)
ddcgdrsDirectConnectGateway = lens _ddcgdrsDirectConnectGateway (\ s a -> s{_ddcgdrsDirectConnectGateway = a})
ddcgdrsResponseStatus :: Lens' DeleteDirectConnectGatewayResponse Int
ddcgdrsResponseStatus = lens _ddcgdrsResponseStatus (\ s a -> s{_ddcgdrsResponseStatus = a})
instance NFData DeleteDirectConnectGatewayResponse
where