{-# 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
, ascbIPv6CidrBlock
, ascbSubnetId
, 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'
{ _ascbIPv6CidrBlock :: !Text
, _ascbSubnetId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
associateSubnetCidrBlock
:: Text
-> Text
-> AssociateSubnetCidrBlock
associateSubnetCidrBlock pIPv6CidrBlock_ pSubnetId_ =
AssociateSubnetCidrBlock'
{_ascbIPv6CidrBlock = pIPv6CidrBlock_, _ascbSubnetId = pSubnetId_}
ascbIPv6CidrBlock :: Lens' AssociateSubnetCidrBlock Text
ascbIPv6CidrBlock = lens _ascbIPv6CidrBlock (\ s a -> s{_ascbIPv6CidrBlock = a})
ascbSubnetId :: Lens' AssociateSubnetCidrBlock Text
ascbSubnetId = lens _ascbSubnetId (\ s a -> s{_ascbSubnetId = 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 where
instance NFData AssociateSubnetCidrBlock where
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),
"Ipv6CidrBlock" =: _ascbIPv6CidrBlock,
"SubnetId" =: _ascbSubnetId]
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
where