amazonka-cloudfront-1.4.4: gen/Network/AWS/CloudFront/ListDistributionsByWebACLId.hs
{-# 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.CloudFront.ListDistributionsByWebACLId
-- Copyright : (c) 2013-2016 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- List the distributions that are associated with a specified AWS WAF web ACL.
module Network.AWS.CloudFront.ListDistributionsByWebACLId
(
-- * Creating a Request
listDistributionsByWebACLId
, ListDistributionsByWebACLId
-- * Request Lenses
, ldbwaiMarker
, ldbwaiMaxItems
, ldbwaiWebACLId
-- * Destructuring the Response
, listDistributionsByWebACLIdResponse
, ListDistributionsByWebACLIdResponse
-- * Response Lenses
, ldbwairsDistributionList
, ldbwairsResponseStatus
) where
import Network.AWS.CloudFront.Types
import Network.AWS.CloudFront.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | The request to list distributions that are associated with a specified AWS WAF web ACL.
--
-- /See:/ 'listDistributionsByWebACLId' smart constructor.
data ListDistributionsByWebACLId = ListDistributionsByWebACLId'
{ _ldbwaiMarker :: !(Maybe Text)
, _ldbwaiMaxItems :: !(Maybe Text)
, _ldbwaiWebACLId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'ListDistributionsByWebACLId' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'ldbwaiMarker'
--
-- * 'ldbwaiMaxItems'
--
-- * 'ldbwaiWebACLId'
listDistributionsByWebACLId
:: Text -- ^ 'ldbwaiWebACLId'
-> ListDistributionsByWebACLId
listDistributionsByWebACLId pWebACLId_ =
ListDistributionsByWebACLId'
{ _ldbwaiMarker = Nothing
, _ldbwaiMaxItems = Nothing
, _ldbwaiWebACLId = pWebACLId_
}
-- | Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.)
ldbwaiMarker :: Lens' ListDistributionsByWebACLId (Maybe Text)
ldbwaiMarker = lens _ldbwaiMarker (\ s a -> s{_ldbwaiMarker = a});
-- | The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.
ldbwaiMaxItems :: Lens' ListDistributionsByWebACLId (Maybe Text)
ldbwaiMaxItems = lens _ldbwaiMaxItems (\ s a -> s{_ldbwaiMaxItems = a});
-- | The Id of the AWS WAF web ACL for which you want to list the associated distributions. If you specify \"null\" for the Id, the request returns a list of the distributions that aren\'t associated with a web ACL.
ldbwaiWebACLId :: Lens' ListDistributionsByWebACLId Text
ldbwaiWebACLId = lens _ldbwaiWebACLId (\ s a -> s{_ldbwaiWebACLId = a});
instance AWSRequest ListDistributionsByWebACLId where
type Rs ListDistributionsByWebACLId =
ListDistributionsByWebACLIdResponse
request = get cloudFront
response
= receiveXML
(\ s h x ->
ListDistributionsByWebACLIdResponse' <$>
(parseXML x) <*> (pure (fromEnum s)))
instance Hashable ListDistributionsByWebACLId
instance NFData ListDistributionsByWebACLId
instance ToHeaders ListDistributionsByWebACLId where
toHeaders = const mempty
instance ToPath ListDistributionsByWebACLId where
toPath ListDistributionsByWebACLId'{..}
= mconcat
["/2016-09-07/distributionsByWebACLId/",
toBS _ldbwaiWebACLId]
instance ToQuery ListDistributionsByWebACLId where
toQuery ListDistributionsByWebACLId'{..}
= mconcat
["Marker" =: _ldbwaiMarker,
"MaxItems" =: _ldbwaiMaxItems]
-- | The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.
--
-- /See:/ 'listDistributionsByWebACLIdResponse' smart constructor.
data ListDistributionsByWebACLIdResponse = ListDistributionsByWebACLIdResponse'
{ _ldbwairsDistributionList :: !(Maybe DistributionList)
, _ldbwairsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'ListDistributionsByWebACLIdResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'ldbwairsDistributionList'
--
-- * 'ldbwairsResponseStatus'
listDistributionsByWebACLIdResponse
:: Int -- ^ 'ldbwairsResponseStatus'
-> ListDistributionsByWebACLIdResponse
listDistributionsByWebACLIdResponse pResponseStatus_ =
ListDistributionsByWebACLIdResponse'
{ _ldbwairsDistributionList = Nothing
, _ldbwairsResponseStatus = pResponseStatus_
}
-- | The DistributionList type.
ldbwairsDistributionList :: Lens' ListDistributionsByWebACLIdResponse (Maybe DistributionList)
ldbwairsDistributionList = lens _ldbwairsDistributionList (\ s a -> s{_ldbwairsDistributionList = a});
-- | The response status code.
ldbwairsResponseStatus :: Lens' ListDistributionsByWebACLIdResponse Int
ldbwairsResponseStatus = lens _ldbwairsResponseStatus (\ s a -> s{_ldbwairsResponseStatus = a});
instance NFData ListDistributionsByWebACLIdResponse