module Network.AWS.DirectConnect.DeleteInterconnect
(
deleteInterconnect
, DeleteInterconnect
, dInterconnectId
, deleteInterconnectResponse
, DeleteInterconnectResponse
, drsInterconnectState
, drsStatus
) where
import Network.AWS.DirectConnect.Types
import Network.AWS.DirectConnect.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DeleteInterconnect = DeleteInterconnect'
{ _dInterconnectId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteInterconnect
:: Text
-> DeleteInterconnect
deleteInterconnect pInterconnectId_ =
DeleteInterconnect'
{ _dInterconnectId = pInterconnectId_
}
dInterconnectId :: Lens' DeleteInterconnect Text
dInterconnectId = lens _dInterconnectId (\ s a -> s{_dInterconnectId = a});
instance AWSRequest DeleteInterconnect where
type Sv DeleteInterconnect = DirectConnect
type Rs DeleteInterconnect =
DeleteInterconnectResponse
request = postJSON
response
= receiveJSON
(\ s h x ->
DeleteInterconnectResponse' <$>
(x .?> "interconnectState") <*> (pure (fromEnum s)))
instance ToHeaders DeleteInterconnect where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OvertureService.DeleteInterconnect" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteInterconnect where
toJSON DeleteInterconnect'{..}
= object ["interconnectId" .= _dInterconnectId]
instance ToPath DeleteInterconnect where
toPath = const "/"
instance ToQuery DeleteInterconnect where
toQuery = const mempty
data DeleteInterconnectResponse = DeleteInterconnectResponse'
{ _drsInterconnectState :: !(Maybe InterconnectState)
, _drsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteInterconnectResponse
:: Int
-> DeleteInterconnectResponse
deleteInterconnectResponse pStatus_ =
DeleteInterconnectResponse'
{ _drsInterconnectState = Nothing
, _drsStatus = pStatus_
}
drsInterconnectState :: Lens' DeleteInterconnectResponse (Maybe InterconnectState)
drsInterconnectState = lens _drsInterconnectState (\ s a -> s{_drsInterconnectState = a});
drsStatus :: Lens' DeleteInterconnectResponse Int
drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});