{-# 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.AssociateSubnetCidrBlock
(
associateSubnetCidrBlock
, AssociateSubnetCidrBlock
, ascbSubnetId
, ascbIPv6CidrBlock
, associateSubnetCidrBlockResponse
, AssociateSubnetCidrBlockResponse
, ascbrsSubnetId
, ascbrsIPv6CidrBlockAssociation
, ascbrsResponseStatus
) 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 AssociateSubnetCidrBlock = AssociateSubnetCidrBlock'
{ _ascbSubnetId :: !Text
, _ascbIPv6CidrBlock :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
associateSubnetCidrBlock
:: Text
-> Text
-> AssociateSubnetCidrBlock
associateSubnetCidrBlock pSubnetId_ pIPv6CidrBlock_ =
AssociateSubnetCidrBlock'
{ _ascbSubnetId = pSubnetId_
, _ascbIPv6CidrBlock = pIPv6CidrBlock_
}
ascbSubnetId :: Lens' AssociateSubnetCidrBlock Text
ascbSubnetId = lens _ascbSubnetId (\ s a -> s{_ascbSubnetId = a});
ascbIPv6CidrBlock :: Lens' AssociateSubnetCidrBlock Text
ascbIPv6CidrBlock = lens _ascbIPv6CidrBlock (\ s a -> s{_ascbIPv6CidrBlock = a});
instance AWSRequest AssociateSubnetCidrBlock where
type Rs AssociateSubnetCidrBlock =
AssociateSubnetCidrBlockResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
AssociateSubnetCidrBlockResponse' <$>
(x .@? "subnetId") <*>
(x .@? "ipv6CidrBlockAssociation")
<*> (pure (fromEnum s)))
instance Hashable AssociateSubnetCidrBlock
instance NFData AssociateSubnetCidrBlock
instance ToHeaders AssociateSubnetCidrBlock where
toHeaders = const mempty
instance ToPath AssociateSubnetCidrBlock where
toPath = const "/"
instance ToQuery AssociateSubnetCidrBlock where
toQuery AssociateSubnetCidrBlock'{..}
= mconcat
["Action" =:
("AssociateSubnetCidrBlock" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"SubnetId" =: _ascbSubnetId,
"Ipv6CidrBlock" =: _ascbIPv6CidrBlock]
data AssociateSubnetCidrBlockResponse = AssociateSubnetCidrBlockResponse'
{ _ascbrsSubnetId :: !(Maybe Text)
, _ascbrsIPv6CidrBlockAssociation :: !(Maybe SubnetIPv6CidrBlockAssociation)
, _ascbrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
associateSubnetCidrBlockResponse
:: Int
-> AssociateSubnetCidrBlockResponse
associateSubnetCidrBlockResponse pResponseStatus_ =
AssociateSubnetCidrBlockResponse'
{ _ascbrsSubnetId = Nothing
, _ascbrsIPv6CidrBlockAssociation = Nothing
, _ascbrsResponseStatus = pResponseStatus_
}
ascbrsSubnetId :: Lens' AssociateSubnetCidrBlockResponse (Maybe Text)
ascbrsSubnetId = lens _ascbrsSubnetId (\ s a -> s{_ascbrsSubnetId = a});
ascbrsIPv6CidrBlockAssociation :: Lens' AssociateSubnetCidrBlockResponse (Maybe SubnetIPv6CidrBlockAssociation)
ascbrsIPv6CidrBlockAssociation = lens _ascbrsIPv6CidrBlockAssociation (\ s a -> s{_ascbrsIPv6CidrBlockAssociation = a});
ascbrsResponseStatus :: Lens' AssociateSubnetCidrBlockResponse Int
ascbrsResponseStatus = lens _ascbrsResponseStatus (\ s a -> s{_ascbrsResponseStatus = a});
instance NFData AssociateSubnetCidrBlockResponse