{-# 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 where
instance NFData DisassociateSubnetCidrBlock where
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
where