{-# 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.DisassociateSubnetCidrBlock
(
disassociateSubnetCidrBlock
, DisassociateSubnetCidrBlock
, dscbAssociationId
, disassociateSubnetCidrBlockResponse
, DisassociateSubnetCidrBlockResponse
, dscbrsSubnetId
, dscbrsIPv6CidrBlockAssociation
, dscbrsResponseStatus
) 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
newtype DisassociateSubnetCidrBlock = DisassociateSubnetCidrBlock'
{ _dscbAssociationId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
disassociateSubnetCidrBlock
:: Text
-> DisassociateSubnetCidrBlock
disassociateSubnetCidrBlock pAssociationId_ =
DisassociateSubnetCidrBlock'
{ _dscbAssociationId = pAssociationId_
}
dscbAssociationId :: Lens' DisassociateSubnetCidrBlock Text
dscbAssociationId = lens _dscbAssociationId (\ s a -> s{_dscbAssociationId = a});
instance AWSRequest DisassociateSubnetCidrBlock where
type Rs DisassociateSubnetCidrBlock =
DisassociateSubnetCidrBlockResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
DisassociateSubnetCidrBlockResponse' <$>
(x .@? "subnetId") <*>
(x .@? "ipv6CidrBlockAssociation")
<*> (pure (fromEnum s)))
instance Hashable DisassociateSubnetCidrBlock
instance NFData DisassociateSubnetCidrBlock
instance ToHeaders DisassociateSubnetCidrBlock where
toHeaders = const mempty
instance ToPath DisassociateSubnetCidrBlock where
toPath = const "/"
instance ToQuery DisassociateSubnetCidrBlock where
toQuery DisassociateSubnetCidrBlock'{..}
= mconcat
["Action" =:
("DisassociateSubnetCidrBlock" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"AssociationId" =: _dscbAssociationId]
data DisassociateSubnetCidrBlockResponse = DisassociateSubnetCidrBlockResponse'
{ _dscbrsSubnetId :: !(Maybe Text)
, _dscbrsIPv6CidrBlockAssociation :: !(Maybe SubnetIPv6CidrBlockAssociation)
, _dscbrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
disassociateSubnetCidrBlockResponse
:: Int
-> DisassociateSubnetCidrBlockResponse
disassociateSubnetCidrBlockResponse pResponseStatus_ =
DisassociateSubnetCidrBlockResponse'
{ _dscbrsSubnetId = Nothing
, _dscbrsIPv6CidrBlockAssociation = Nothing
, _dscbrsResponseStatus = pResponseStatus_
}
dscbrsSubnetId :: Lens' DisassociateSubnetCidrBlockResponse (Maybe Text)
dscbrsSubnetId = lens _dscbrsSubnetId (\ s a -> s{_dscbrsSubnetId = a});
dscbrsIPv6CidrBlockAssociation :: Lens' DisassociateSubnetCidrBlockResponse (Maybe SubnetIPv6CidrBlockAssociation)
dscbrsIPv6CidrBlockAssociation = lens _dscbrsIPv6CidrBlockAssociation (\ s a -> s{_dscbrsIPv6CidrBlockAssociation = a});
dscbrsResponseStatus :: Lens' DisassociateSubnetCidrBlockResponse Int
dscbrsResponseStatus = lens _dscbrsResponseStatus (\ s a -> s{_dscbrsResponseStatus = a});
instance NFData DisassociateSubnetCidrBlockResponse