{-# 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.Route53.GetReusableDelegationSet -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Retrieves the reusable delegation set. Send a @GET@ request to the @/2013-04-01/delegationset//delegation set ID/ @ resource. -- -- module Network.AWS.Route53.GetReusableDelegationSet ( -- * Creating a Request getReusableDelegationSet , GetReusableDelegationSet -- * Request Lenses , grdsId -- * Destructuring the Response , getReusableDelegationSetResponse , GetReusableDelegationSetResponse -- * Response Lenses , grdsrsResponseStatus , grdsrsDelegationSet ) where import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response import Network.AWS.Route53.Types import Network.AWS.Route53.Types.Product -- | The input for a @GetReusableDelegationSet@ request. -- -- -- -- /See:/ 'getReusableDelegationSet' smart constructor. newtype GetReusableDelegationSet = GetReusableDelegationSet' { _grdsId :: ResourceId } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'GetReusableDelegationSet' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'grdsId' - The ID of the reusable delegation set for which you want to get a list of the name server. getReusableDelegationSet :: ResourceId -- ^ 'grdsId' -> GetReusableDelegationSet getReusableDelegationSet pId_ = GetReusableDelegationSet' { _grdsId = pId_ } -- | The ID of the reusable delegation set for which you want to get a list of the name server. grdsId :: Lens' GetReusableDelegationSet ResourceId grdsId = lens _grdsId (\ s a -> s{_grdsId = a}); instance AWSRequest GetReusableDelegationSet where type Rs GetReusableDelegationSet = GetReusableDelegationSetResponse request = get route53 response = receiveXML (\ s h x -> GetReusableDelegationSetResponse' <$> (pure (fromEnum s)) <*> (x .@ "DelegationSet")) instance Hashable GetReusableDelegationSet instance NFData GetReusableDelegationSet instance ToHeaders GetReusableDelegationSet where toHeaders = const mempty instance ToPath GetReusableDelegationSet where toPath GetReusableDelegationSet'{..} = mconcat ["/2013-04-01/delegationset/", toBS _grdsId] instance ToQuery GetReusableDelegationSet where toQuery = const mempty -- | A complex type that contains the response to the @GetReusableDelegationSet@ request. -- -- -- -- /See:/ 'getReusableDelegationSetResponse' smart constructor. data GetReusableDelegationSetResponse = GetReusableDelegationSetResponse' { _grdsrsResponseStatus :: !Int , _grdsrsDelegationSet :: !DelegationSet } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'GetReusableDelegationSetResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'grdsrsResponseStatus' - -- | The response status code. -- -- * 'grdsrsDelegationSet' - A complex type that contains information about the reusable delegation set. getReusableDelegationSetResponse :: Int -- ^ 'grdsrsResponseStatus' -> DelegationSet -- ^ 'grdsrsDelegationSet' -> GetReusableDelegationSetResponse getReusableDelegationSetResponse pResponseStatus_ pDelegationSet_ = GetReusableDelegationSetResponse' { _grdsrsResponseStatus = pResponseStatus_ , _grdsrsDelegationSet = pDelegationSet_ } -- | -- | The response status code. grdsrsResponseStatus :: Lens' GetReusableDelegationSetResponse Int grdsrsResponseStatus = lens _grdsrsResponseStatus (\ s a -> s{_grdsrsResponseStatus = a}); -- | A complex type that contains information about the reusable delegation set. grdsrsDelegationSet :: Lens' GetReusableDelegationSetResponse DelegationSet grdsrsDelegationSet = lens _grdsrsDelegationSet (\ s a -> s{_grdsrsDelegationSet = a}); instance NFData GetReusableDelegationSetResponse