{-# 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.ReplaceRouteTableAssociation
(
replaceRouteTableAssociation
, ReplaceRouteTableAssociation
, rrtaDryRun
, rrtaAssociationId
, rrtaRouteTableId
, replaceRouteTableAssociationResponse
, ReplaceRouteTableAssociationResponse
, rrtarsNewAssociationId
, rrtarsResponseStatus
) 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 ReplaceRouteTableAssociation = ReplaceRouteTableAssociation'
{ _rrtaDryRun :: !(Maybe Bool)
, _rrtaAssociationId :: !Text
, _rrtaRouteTableId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
replaceRouteTableAssociation
:: Text
-> Text
-> ReplaceRouteTableAssociation
replaceRouteTableAssociation pAssociationId_ pRouteTableId_ =
ReplaceRouteTableAssociation'
{ _rrtaDryRun = Nothing
, _rrtaAssociationId = pAssociationId_
, _rrtaRouteTableId = pRouteTableId_
}
rrtaDryRun :: Lens' ReplaceRouteTableAssociation (Maybe Bool)
rrtaDryRun = lens _rrtaDryRun (\ s a -> s{_rrtaDryRun = a})
rrtaAssociationId :: Lens' ReplaceRouteTableAssociation Text
rrtaAssociationId = lens _rrtaAssociationId (\ s a -> s{_rrtaAssociationId = a})
rrtaRouteTableId :: Lens' ReplaceRouteTableAssociation Text
rrtaRouteTableId = lens _rrtaRouteTableId (\ s a -> s{_rrtaRouteTableId = a})
instance AWSRequest ReplaceRouteTableAssociation
where
type Rs ReplaceRouteTableAssociation =
ReplaceRouteTableAssociationResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
ReplaceRouteTableAssociationResponse' <$>
(x .@? "newAssociationId") <*> (pure (fromEnum s)))
instance Hashable ReplaceRouteTableAssociation where
instance NFData ReplaceRouteTableAssociation where
instance ToHeaders ReplaceRouteTableAssociation where
toHeaders = const mempty
instance ToPath ReplaceRouteTableAssociation where
toPath = const "/"
instance ToQuery ReplaceRouteTableAssociation where
toQuery ReplaceRouteTableAssociation'{..}
= mconcat
["Action" =:
("ReplaceRouteTableAssociation" :: ByteString),
"Version" =: ("2016-11-15" :: ByteString),
"DryRun" =: _rrtaDryRun,
"AssociationId" =: _rrtaAssociationId,
"RouteTableId" =: _rrtaRouteTableId]
data ReplaceRouteTableAssociationResponse = ReplaceRouteTableAssociationResponse'
{ _rrtarsNewAssociationId :: !(Maybe Text)
, _rrtarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
replaceRouteTableAssociationResponse
:: Int
-> ReplaceRouteTableAssociationResponse
replaceRouteTableAssociationResponse pResponseStatus_ =
ReplaceRouteTableAssociationResponse'
{ _rrtarsNewAssociationId = Nothing
, _rrtarsResponseStatus = pResponseStatus_
}
rrtarsNewAssociationId :: Lens' ReplaceRouteTableAssociationResponse (Maybe Text)
rrtarsNewAssociationId = lens _rrtarsNewAssociationId (\ s a -> s{_rrtarsNewAssociationId = a})
rrtarsResponseStatus :: Lens' ReplaceRouteTableAssociationResponse Int
rrtarsResponseStatus = lens _rrtarsResponseStatus (\ s a -> s{_rrtarsResponseStatus = a})
instance NFData ReplaceRouteTableAssociationResponse
where