{-# 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.DeleteVirtualInterface
(
deleteVirtualInterface
, DeleteVirtualInterface
, delVirtualInterfaceId
, deleteVirtualInterfaceResponse
, DeleteVirtualInterfaceResponse
, dvirsVirtualInterfaceState
, dvirsResponseStatus
) 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 DeleteVirtualInterface = DeleteVirtualInterface'
{ _delVirtualInterfaceId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteVirtualInterface
:: Text
-> DeleteVirtualInterface
deleteVirtualInterface pVirtualInterfaceId_ =
DeleteVirtualInterface' {_delVirtualInterfaceId = pVirtualInterfaceId_}
delVirtualInterfaceId :: Lens' DeleteVirtualInterface Text
delVirtualInterfaceId = lens _delVirtualInterfaceId (\ s a -> s{_delVirtualInterfaceId = a})
instance AWSRequest DeleteVirtualInterface where
type Rs DeleteVirtualInterface =
DeleteVirtualInterfaceResponse
request = postJSON directConnect
response
= receiveJSON
(\ s h x ->
DeleteVirtualInterfaceResponse' <$>
(x .?> "virtualInterfaceState") <*>
(pure (fromEnum s)))
instance Hashable DeleteVirtualInterface where
instance NFData DeleteVirtualInterface where
instance ToHeaders DeleteVirtualInterface where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OvertureService.DeleteVirtualInterface" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteVirtualInterface where
toJSON DeleteVirtualInterface'{..}
= object
(catMaybes
[Just
("virtualInterfaceId" .= _delVirtualInterfaceId)])
instance ToPath DeleteVirtualInterface where
toPath = const "/"
instance ToQuery DeleteVirtualInterface where
toQuery = const mempty
data DeleteVirtualInterfaceResponse = DeleteVirtualInterfaceResponse'
{ _dvirsVirtualInterfaceState :: !(Maybe VirtualInterfaceState)
, _dvirsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteVirtualInterfaceResponse
:: Int
-> DeleteVirtualInterfaceResponse
deleteVirtualInterfaceResponse pResponseStatus_ =
DeleteVirtualInterfaceResponse'
{ _dvirsVirtualInterfaceState = Nothing
, _dvirsResponseStatus = pResponseStatus_
}
dvirsVirtualInterfaceState :: Lens' DeleteVirtualInterfaceResponse (Maybe VirtualInterfaceState)
dvirsVirtualInterfaceState = lens _dvirsVirtualInterfaceState (\ s a -> s{_dvirsVirtualInterfaceState = a})
dvirsResponseStatus :: Lens' DeleteVirtualInterfaceResponse Int
dvirsResponseStatus = lens _dvirsResponseStatus (\ s a -> s{_dvirsResponseStatus = a})
instance NFData DeleteVirtualInterfaceResponse where