module Network.AWS.EC2.DetachClassicLinkVPC
(
detachClassicLinkVPC
, DetachClassicLinkVPC
, dclvDryRun
, dclvInstanceId
, dclvVPCId
, detachClassicLinkVPCResponse
, DetachClassicLinkVPCResponse
, dclvrsReturn
, dclvrsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DetachClassicLinkVPC = DetachClassicLinkVPC'
{ _dclvDryRun :: !(Maybe Bool)
, _dclvInstanceId :: !Text
, _dclvVPCId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
detachClassicLinkVPC
:: Text
-> Text
-> DetachClassicLinkVPC
detachClassicLinkVPC pInstanceId_ pVPCId_ =
DetachClassicLinkVPC'
{ _dclvDryRun = Nothing
, _dclvInstanceId = pInstanceId_
, _dclvVPCId = pVPCId_
}
dclvDryRun :: Lens' DetachClassicLinkVPC (Maybe Bool)
dclvDryRun = lens _dclvDryRun (\ s a -> s{_dclvDryRun = a});
dclvInstanceId :: Lens' DetachClassicLinkVPC Text
dclvInstanceId = lens _dclvInstanceId (\ s a -> s{_dclvInstanceId = a});
dclvVPCId :: Lens' DetachClassicLinkVPC Text
dclvVPCId = lens _dclvVPCId (\ s a -> s{_dclvVPCId = a});
instance AWSRequest DetachClassicLinkVPC where
type Rs DetachClassicLinkVPC =
DetachClassicLinkVPCResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
DetachClassicLinkVPCResponse' <$>
(x .@? "return") <*> (pure (fromEnum s)))
instance ToHeaders DetachClassicLinkVPC where
toHeaders = const mempty
instance ToPath DetachClassicLinkVPC where
toPath = const "/"
instance ToQuery DetachClassicLinkVPC where
toQuery DetachClassicLinkVPC'{..}
= mconcat
["Action" =: ("DetachClassicLinkVpc" :: ByteString),
"Version" =: ("2015-10-01" :: ByteString),
"DryRun" =: _dclvDryRun,
"InstanceId" =: _dclvInstanceId,
"VpcId" =: _dclvVPCId]
data DetachClassicLinkVPCResponse = DetachClassicLinkVPCResponse'
{ _dclvrsReturn :: !(Maybe Bool)
, _dclvrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
detachClassicLinkVPCResponse
:: Int
-> DetachClassicLinkVPCResponse
detachClassicLinkVPCResponse pResponseStatus_ =
DetachClassicLinkVPCResponse'
{ _dclvrsReturn = Nothing
, _dclvrsResponseStatus = pResponseStatus_
}
dclvrsReturn :: Lens' DetachClassicLinkVPCResponse (Maybe Bool)
dclvrsReturn = lens _dclvrsReturn (\ s a -> s{_dclvrsReturn = a});
dclvrsResponseStatus :: Lens' DetachClassicLinkVPCResponse Int
dclvrsResponseStatus = lens _dclvrsResponseStatus (\ s a -> s{_dclvrsResponseStatus = a});