module Network.AWS.DirectConnect.DeleteInterconnect
(
deleteInterconnect
, DeleteInterconnect
, dInterconnectId
, deleteInterconnectResponse
, DeleteInterconnectResponse
, drsInterconnectState
, drsResponseStatus
) 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 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 Rs DeleteInterconnect =
DeleteInterconnectResponse
request = postJSON directConnect
response
= receiveJSON
(\ s h x ->
DeleteInterconnectResponse' <$>
(x .?> "interconnectState") <*> (pure (fromEnum s)))
instance Hashable DeleteInterconnect
instance NFData DeleteInterconnect
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
(catMaybes
[Just ("interconnectId" .= _dInterconnectId)])
instance ToPath DeleteInterconnect where
toPath = const "/"
instance ToQuery DeleteInterconnect where
toQuery = const mempty
data DeleteInterconnectResponse = DeleteInterconnectResponse'
{ _drsInterconnectState :: !(Maybe InterconnectState)
, _drsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteInterconnectResponse
:: Int
-> DeleteInterconnectResponse
deleteInterconnectResponse pResponseStatus_ =
DeleteInterconnectResponse'
{ _drsInterconnectState = Nothing
, _drsResponseStatus = pResponseStatus_
}
drsInterconnectState :: Lens' DeleteInterconnectResponse (Maybe InterconnectState)
drsInterconnectState = lens _drsInterconnectState (\ s a -> s{_drsInterconnectState = a});
drsResponseStatus :: Lens' DeleteInterconnectResponse Int
drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
instance NFData DeleteInterconnectResponse