{-# 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.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.Lens
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 Hashable DetachClassicLinkVPC where
instance NFData DetachClassicLinkVPC where
instance ToHeaders DetachClassicLinkVPC where
toHeaders = const mempty
instance ToPath DetachClassicLinkVPC where
toPath = const "/"
instance ToQuery DetachClassicLinkVPC where
toQuery DetachClassicLinkVPC'{..}
= mconcat
["Action" =: ("DetachClassicLinkVpc" :: ByteString),
"Version" =: ("2016-11-15" :: 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})
instance NFData DetachClassicLinkVPCResponse where