module Network.AWS.EC2.AttachClassicLinkVPC
(
attachClassicLinkVPC
, AttachClassicLinkVPC
, aclvDryRun
, aclvInstanceId
, aclvVPCId
, aclvGroups
, attachClassicLinkVPCResponse
, AttachClassicLinkVPCResponse
, aclvrsReturn
, aclvrsResponseStatus
) 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 AttachClassicLinkVPC = AttachClassicLinkVPC'
{ _aclvDryRun :: !(Maybe Bool)
, _aclvInstanceId :: !Text
, _aclvVPCId :: !Text
, _aclvGroups :: ![Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
attachClassicLinkVPC
:: Text
-> Text
-> AttachClassicLinkVPC
attachClassicLinkVPC pInstanceId_ pVPCId_ =
AttachClassicLinkVPC'
{ _aclvDryRun = Nothing
, _aclvInstanceId = pInstanceId_
, _aclvVPCId = pVPCId_
, _aclvGroups = mempty
}
aclvDryRun :: Lens' AttachClassicLinkVPC (Maybe Bool)
aclvDryRun = lens _aclvDryRun (\ s a -> s{_aclvDryRun = a});
aclvInstanceId :: Lens' AttachClassicLinkVPC Text
aclvInstanceId = lens _aclvInstanceId (\ s a -> s{_aclvInstanceId = a});
aclvVPCId :: Lens' AttachClassicLinkVPC Text
aclvVPCId = lens _aclvVPCId (\ s a -> s{_aclvVPCId = a});
aclvGroups :: Lens' AttachClassicLinkVPC [Text]
aclvGroups = lens _aclvGroups (\ s a -> s{_aclvGroups = a}) . _Coerce;
instance AWSRequest AttachClassicLinkVPC where
type Rs AttachClassicLinkVPC =
AttachClassicLinkVPCResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
AttachClassicLinkVPCResponse' <$>
(x .@? "return") <*> (pure (fromEnum s)))
instance Hashable AttachClassicLinkVPC
instance NFData AttachClassicLinkVPC
instance ToHeaders AttachClassicLinkVPC where
toHeaders = const mempty
instance ToPath AttachClassicLinkVPC where
toPath = const "/"
instance ToQuery AttachClassicLinkVPC where
toQuery AttachClassicLinkVPC'{..}
= mconcat
["Action" =: ("AttachClassicLinkVpc" :: ByteString),
"Version" =: ("2015-10-01" :: ByteString),
"DryRun" =: _aclvDryRun,
"InstanceId" =: _aclvInstanceId,
"VpcId" =: _aclvVPCId,
toQueryList "SecurityGroupId" _aclvGroups]
data AttachClassicLinkVPCResponse = AttachClassicLinkVPCResponse'
{ _aclvrsReturn :: !(Maybe Bool)
, _aclvrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
attachClassicLinkVPCResponse
:: Int
-> AttachClassicLinkVPCResponse
attachClassicLinkVPCResponse pResponseStatus_ =
AttachClassicLinkVPCResponse'
{ _aclvrsReturn = Nothing
, _aclvrsResponseStatus = pResponseStatus_
}
aclvrsReturn :: Lens' AttachClassicLinkVPCResponse (Maybe Bool)
aclvrsReturn = lens _aclvrsReturn (\ s a -> s{_aclvrsReturn = a});
aclvrsResponseStatus :: Lens' AttachClassicLinkVPCResponse Int
aclvrsResponseStatus = lens _aclvrsResponseStatus (\ s a -> s{_aclvrsResponseStatus = a});
instance NFData AttachClassicLinkVPCResponse