{-# 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.ListReusableDelegationSets -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- To retrieve a list of your reusable delegation sets, send a 'GET' request to the '\/2013-04-01\/delegationset' resource. The response to this request includes a 'DelegationSets' element with zero, one, or multiple 'DelegationSet' child elements. By default, the list of delegation sets is displayed on a single page. You can control the length of the page that is displayed by using the 'MaxItems' parameter. You can use the 'Marker' parameter to control the delegation set that the list begins with. -- -- Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100. module Network.AWS.Route53.ListReusableDelegationSets ( -- * Creating a Request listReusableDelegationSets , ListReusableDelegationSets -- * Request Lenses , lrdsMarker , lrdsMaxItems -- * Destructuring the Response , listReusableDelegationSetsResponse , ListReusableDelegationSetsResponse -- * Response Lenses , lrdsrsNextMarker , lrdsrsResponseStatus , lrdsrsDelegationSets , lrdsrsMarker , lrdsrsIsTruncated , lrdsrsMaxItems ) 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 -- | To retrieve a list of your reusable delegation sets, send a 'GET' request to the '\/2013-04-01\/delegationset' resource. The response to this request includes a 'DelegationSets' element with zero or more 'DelegationSet' child elements. By default, the list of reusable delegation sets is displayed on a single page. You can control the length of the page that is displayed by using the 'MaxItems' parameter. You can use the 'Marker' parameter to control the delegation set that the list begins with. -- -- Amazon Route 53 returns a maximum of 100 items. If you set 'MaxItems' to a value greater than 100, Amazon Route 53 returns only the first 100. -- -- /See:/ 'listReusableDelegationSets' smart constructor. data ListReusableDelegationSets = ListReusableDelegationSets' { _lrdsMarker :: !(Maybe Text) , _lrdsMaxItems :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ListReusableDelegationSets' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lrdsMarker' -- -- * 'lrdsMaxItems' listReusableDelegationSets :: ListReusableDelegationSets listReusableDelegationSets = ListReusableDelegationSets' { _lrdsMarker = Nothing , _lrdsMaxItems = Nothing } -- | If you\'re making the second or subsequent call to 'ListReusableDelegationSets', the 'Marker' element matches the value that you specified in the 'marker' parameter in the previous request. lrdsMarker :: Lens' ListReusableDelegationSets (Maybe Text) lrdsMarker = lens _lrdsMarker (\ s a -> s{_lrdsMarker = a}); -- | The value that you specified for the 'maxitems' parameter in the request that produced the current response. lrdsMaxItems :: Lens' ListReusableDelegationSets (Maybe Text) lrdsMaxItems = lens _lrdsMaxItems (\ s a -> s{_lrdsMaxItems = a}); instance AWSRequest ListReusableDelegationSets where type Rs ListReusableDelegationSets = ListReusableDelegationSetsResponse request = get route53 response = receiveXML (\ s h x -> ListReusableDelegationSetsResponse' <$> (x .@? "NextMarker") <*> (pure (fromEnum s)) <*> (x .@? "DelegationSets" .!@ mempty >>= parseXMLList "DelegationSet") <*> (x .@ "Marker") <*> (x .@ "IsTruncated") <*> (x .@ "MaxItems")) instance Hashable ListReusableDelegationSets instance NFData ListReusableDelegationSets instance ToHeaders ListReusableDelegationSets where toHeaders = const mempty instance ToPath ListReusableDelegationSets where toPath = const "/2013-04-01/delegationset" instance ToQuery ListReusableDelegationSets where toQuery ListReusableDelegationSets'{..} = mconcat ["marker" =: _lrdsMarker, "maxitems" =: _lrdsMaxItems] -- | A complex type that contains information about the reusable delegation sets that are associated with the current AWS account. -- -- /See:/ 'listReusableDelegationSetsResponse' smart constructor. data ListReusableDelegationSetsResponse = ListReusableDelegationSetsResponse' { _lrdsrsNextMarker :: !(Maybe Text) , _lrdsrsResponseStatus :: !Int , _lrdsrsDelegationSets :: ![DelegationSet] , _lrdsrsMarker :: !Text , _lrdsrsIsTruncated :: !Bool , _lrdsrsMaxItems :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ListReusableDelegationSetsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lrdsrsNextMarker' -- -- * 'lrdsrsResponseStatus' -- -- * 'lrdsrsDelegationSets' -- -- * 'lrdsrsMarker' -- -- * 'lrdsrsIsTruncated' -- -- * 'lrdsrsMaxItems' listReusableDelegationSetsResponse :: Int -- ^ 'lrdsrsResponseStatus' -> Text -- ^ 'lrdsrsMarker' -> Bool -- ^ 'lrdsrsIsTruncated' -> Text -- ^ 'lrdsrsMaxItems' -> ListReusableDelegationSetsResponse listReusableDelegationSetsResponse pResponseStatus_ pMarker_ pIsTruncated_ pMaxItems_ = ListReusableDelegationSetsResponse' { _lrdsrsNextMarker = Nothing , _lrdsrsResponseStatus = pResponseStatus_ , _lrdsrsDelegationSets = mempty , _lrdsrsMarker = pMarker_ , _lrdsrsIsTruncated = pIsTruncated_ , _lrdsrsMaxItems = pMaxItems_ } -- | If 'IsTruncated' is 'true', the value of 'NextMarker' identifies the first reusable delegation set in the next group of 'maxitems' reusable delegation sets. Call 'ListReusableDelegationSets' again and specify the value of 'NextMarker' in the 'marker' parameter. lrdsrsNextMarker :: Lens' ListReusableDelegationSetsResponse (Maybe Text) lrdsrsNextMarker = lens _lrdsrsNextMarker (\ s a -> s{_lrdsrsNextMarker = a}); -- | The response status code. lrdsrsResponseStatus :: Lens' ListReusableDelegationSetsResponse Int lrdsrsResponseStatus = lens _lrdsrsResponseStatus (\ s a -> s{_lrdsrsResponseStatus = a}); -- | A complex type that contains one 'DelegationSet' element for each reusable delegation set that was created by the current AWS account. lrdsrsDelegationSets :: Lens' ListReusableDelegationSetsResponse [DelegationSet] lrdsrsDelegationSets = lens _lrdsrsDelegationSets (\ s a -> s{_lrdsrsDelegationSets = a}) . _Coerce; -- | For the second and subsequent calls to 'ListReusableDelegationSets', 'Marker' is the value that you specified for the marker parameter in the request that produced the current response. lrdsrsMarker :: Lens' ListReusableDelegationSetsResponse Text lrdsrsMarker = lens _lrdsrsMarker (\ s a -> s{_lrdsrsMarker = a}); -- | A flag that indicates whether there are more reusable delegation sets to be listed. If the response is truncated, you can get the next group of 'maxitems' reusable delegation sets by calling 'ListReusableDelegationSets' again and specifying the value of the 'NextMarker' element in the 'marker' parameter. lrdsrsIsTruncated :: Lens' ListReusableDelegationSetsResponse Bool lrdsrsIsTruncated = lens _lrdsrsIsTruncated (\ s a -> s{_lrdsrsIsTruncated = a}); -- | The value that you specified for the 'maxitems' parameter in the call to 'ListReusableDelegationSets' that produced the current response. lrdsrsMaxItems :: Lens' ListReusableDelegationSetsResponse Text lrdsrsMaxItems = lens _lrdsrsMaxItems (\ s a -> s{_lrdsrsMaxItems = a}); instance NFData ListReusableDelegationSetsResponse