{-# 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.EnableVPCClassicLinkDNSSupport -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Enables a VPC to support DNS hostname resolution for ClassicLink. If -- enabled, the DNS hostname of a linked EC2-Classic instance resolves to -- its private IP address when addressed from an instance in the VPC to -- which it\'s linked. Similarly, the DNS hostname of an instance in a VPC -- resolves to its private IP address when addressed from a linked -- EC2-Classic instance. For more information about ClassicLink, see -- -- in the Amazon Elastic Compute Cloud User Guide. module Network.AWS.EC2.EnableVPCClassicLinkDNSSupport ( -- * Creating a Request enableVPCClassicLinkDNSSupport , EnableVPCClassicLinkDNSSupport -- * Request Lenses , evcldsVPCId -- * Destructuring the Response , enableVPCClassicLinkDNSSupportResponse , EnableVPCClassicLinkDNSSupportResponse -- * Response Lenses , evcldsrsReturn , evcldsrsResponseStatus ) 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 -- | /See:/ 'enableVPCClassicLinkDNSSupport' smart constructor. newtype EnableVPCClassicLinkDNSSupport = EnableVPCClassicLinkDNSSupport' { _evcldsVPCId :: Maybe Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnableVPCClassicLinkDNSSupport' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'evcldsVPCId' enableVPCClassicLinkDNSSupport :: EnableVPCClassicLinkDNSSupport enableVPCClassicLinkDNSSupport = EnableVPCClassicLinkDNSSupport' { _evcldsVPCId = Nothing } -- | The ID of the VPC. evcldsVPCId :: Lens' EnableVPCClassicLinkDNSSupport (Maybe Text) evcldsVPCId = lens _evcldsVPCId (\ s a -> s{_evcldsVPCId = a}); instance AWSRequest EnableVPCClassicLinkDNSSupport where type Rs EnableVPCClassicLinkDNSSupport = EnableVPCClassicLinkDNSSupportResponse request = postQuery ec2 response = receiveXML (\ s h x -> EnableVPCClassicLinkDNSSupportResponse' <$> (x .@? "return") <*> (pure (fromEnum s))) instance Hashable EnableVPCClassicLinkDNSSupport instance ToHeaders EnableVPCClassicLinkDNSSupport where toHeaders = const mempty instance ToPath EnableVPCClassicLinkDNSSupport where toPath = const "/" instance ToQuery EnableVPCClassicLinkDNSSupport where toQuery EnableVPCClassicLinkDNSSupport'{..} = mconcat ["Action" =: ("EnableVpcClassicLinkDnsSupport" :: ByteString), "Version" =: ("2015-10-01" :: ByteString), "VpcId" =: _evcldsVPCId] -- | /See:/ 'enableVPCClassicLinkDNSSupportResponse' smart constructor. data EnableVPCClassicLinkDNSSupportResponse = EnableVPCClassicLinkDNSSupportResponse' { _evcldsrsReturn :: !(Maybe Bool) , _evcldsrsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnableVPCClassicLinkDNSSupportResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'evcldsrsReturn' -- -- * 'evcldsrsResponseStatus' enableVPCClassicLinkDNSSupportResponse :: Int -- ^ 'evcldsrsResponseStatus' -> EnableVPCClassicLinkDNSSupportResponse enableVPCClassicLinkDNSSupportResponse pResponseStatus_ = EnableVPCClassicLinkDNSSupportResponse' { _evcldsrsReturn = Nothing , _evcldsrsResponseStatus = pResponseStatus_ } -- | Returns 'true' if the request succeeds; otherwise, it returns an error. evcldsrsReturn :: Lens' EnableVPCClassicLinkDNSSupportResponse (Maybe Bool) evcldsrsReturn = lens _evcldsrsReturn (\ s a -> s{_evcldsrsReturn = a}); -- | The response status code. evcldsrsResponseStatus :: Lens' EnableVPCClassicLinkDNSSupportResponse Int evcldsrsResponseStatus = lens _evcldsrsResponseStatus (\ s a -> s{_evcldsrsResponseStatus = a});