{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.EC2.AcceptVPCPeeringConnection -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Accept a VPC peering connection request. To accept a request, the VPC -- peering connection must be in the 'pending-acceptance' state, and you -- must be the owner of the peer VPC. Use the -- 'DescribeVpcPeeringConnections' request to view your outstanding VPC -- peering connection requests. module Network.AWS.EC2.AcceptVPCPeeringConnection ( -- * Creating a Request acceptVPCPeeringConnection , AcceptVPCPeeringConnection -- * Request Lenses , avpcVPCPeeringConnectionId , avpcDryRun -- * Destructuring the Response , acceptVPCPeeringConnectionResponse , AcceptVPCPeeringConnectionResponse -- * Response Lenses , avpcrsVPCPeeringConnection , avpcrsResponseStatus ) 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 -- | Contains the parameters for AcceptVpcPeeringConnection. -- -- /See:/ 'acceptVPCPeeringConnection' smart constructor. data AcceptVPCPeeringConnection = AcceptVPCPeeringConnection' { _avpcVPCPeeringConnectionId :: !(Maybe Text) , _avpcDryRun :: !(Maybe Bool) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'AcceptVPCPeeringConnection' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'avpcVPCPeeringConnectionId' -- -- * 'avpcDryRun' acceptVPCPeeringConnection :: AcceptVPCPeeringConnection acceptVPCPeeringConnection = AcceptVPCPeeringConnection' { _avpcVPCPeeringConnectionId = Nothing , _avpcDryRun = Nothing } -- | The ID of the VPC peering connection. avpcVPCPeeringConnectionId :: Lens' AcceptVPCPeeringConnection (Maybe Text) avpcVPCPeeringConnectionId = lens _avpcVPCPeeringConnectionId (\ s a -> s{_avpcVPCPeeringConnectionId = a}); -- | Checks whether you have the required permissions for the action, without -- actually making the request, and provides an error response. If you have -- the required permissions, the error response is 'DryRunOperation'. -- Otherwise, it is 'UnauthorizedOperation'. avpcDryRun :: Lens' AcceptVPCPeeringConnection (Maybe Bool) avpcDryRun = lens _avpcDryRun (\ s a -> s{_avpcDryRun = a}); instance AWSRequest AcceptVPCPeeringConnection where type Rs AcceptVPCPeeringConnection = AcceptVPCPeeringConnectionResponse request = postQuery ec2 response = receiveXML (\ s h x -> AcceptVPCPeeringConnectionResponse' <$> (x .@? "vpcPeeringConnection") <*> (pure (fromEnum s))) instance Hashable AcceptVPCPeeringConnection instance NFData AcceptVPCPeeringConnection instance ToHeaders AcceptVPCPeeringConnection where toHeaders = const mempty instance ToPath AcceptVPCPeeringConnection where toPath = const "/" instance ToQuery AcceptVPCPeeringConnection where toQuery AcceptVPCPeeringConnection'{..} = mconcat ["Action" =: ("AcceptVpcPeeringConnection" :: ByteString), "Version" =: ("2015-10-01" :: ByteString), "VpcPeeringConnectionId" =: _avpcVPCPeeringConnectionId, "DryRun" =: _avpcDryRun] -- | Contains the output of AcceptVpcPeeringConnection. -- -- /See:/ 'acceptVPCPeeringConnectionResponse' smart constructor. data AcceptVPCPeeringConnectionResponse = AcceptVPCPeeringConnectionResponse' { _avpcrsVPCPeeringConnection :: !(Maybe VPCPeeringConnection) , _avpcrsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'AcceptVPCPeeringConnectionResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'avpcrsVPCPeeringConnection' -- -- * 'avpcrsResponseStatus' acceptVPCPeeringConnectionResponse :: Int -- ^ 'avpcrsResponseStatus' -> AcceptVPCPeeringConnectionResponse acceptVPCPeeringConnectionResponse pResponseStatus_ = AcceptVPCPeeringConnectionResponse' { _avpcrsVPCPeeringConnection = Nothing , _avpcrsResponseStatus = pResponseStatus_ } -- | Information about the VPC peering connection. avpcrsVPCPeeringConnection :: Lens' AcceptVPCPeeringConnectionResponse (Maybe VPCPeeringConnection) avpcrsVPCPeeringConnection = lens _avpcrsVPCPeeringConnection (\ s a -> s{_avpcrsVPCPeeringConnection = a}); -- | The response status code. avpcrsResponseStatus :: Lens' AcceptVPCPeeringConnectionResponse Int avpcrsResponseStatus = lens _avpcrsResponseStatus (\ s a -> s{_avpcrsResponseStatus = a}); instance NFData AcceptVPCPeeringConnectionResponse