{-# 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 #-}
module Network.AWS.WAFRegional.ListResourcesForWebACL
(
listResourcesForWebACL
, ListResourcesForWebACL
, lrfwaWebACLId
, listResourcesForWebACLResponse
, ListResourcesForWebACLResponse
, lrfwarsResourceARNs
, lrfwarsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.WAFRegional.Types
import Network.AWS.WAFRegional.Types.Product
newtype ListResourcesForWebACL = ListResourcesForWebACL'
{ _lrfwaWebACLId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listResourcesForWebACL
:: Text
-> ListResourcesForWebACL
listResourcesForWebACL pWebACLId_ =
ListResourcesForWebACL' {_lrfwaWebACLId = pWebACLId_}
lrfwaWebACLId :: Lens' ListResourcesForWebACL Text
lrfwaWebACLId = lens _lrfwaWebACLId (\ s a -> s{_lrfwaWebACLId = a})
instance AWSRequest ListResourcesForWebACL where
type Rs ListResourcesForWebACL =
ListResourcesForWebACLResponse
request = postJSON wAFRegional
response
= receiveJSON
(\ s h x ->
ListResourcesForWebACLResponse' <$>
(x .?> "ResourceArns" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable ListResourcesForWebACL where
instance NFData ListResourcesForWebACL where
instance ToHeaders ListResourcesForWebACL where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSWAF_Regional_20161128.ListResourcesForWebACL" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListResourcesForWebACL where
toJSON ListResourcesForWebACL'{..}
= object
(catMaybes [Just ("WebACLId" .= _lrfwaWebACLId)])
instance ToPath ListResourcesForWebACL where
toPath = const "/"
instance ToQuery ListResourcesForWebACL where
toQuery = const mempty
data ListResourcesForWebACLResponse = ListResourcesForWebACLResponse'
{ _lrfwarsResourceARNs :: !(Maybe [Text])
, _lrfwarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listResourcesForWebACLResponse
:: Int
-> ListResourcesForWebACLResponse
listResourcesForWebACLResponse pResponseStatus_ =
ListResourcesForWebACLResponse'
{_lrfwarsResourceARNs = Nothing, _lrfwarsResponseStatus = pResponseStatus_}
lrfwarsResourceARNs :: Lens' ListResourcesForWebACLResponse [Text]
lrfwarsResourceARNs = lens _lrfwarsResourceARNs (\ s a -> s{_lrfwarsResourceARNs = a}) . _Default . _Coerce
lrfwarsResponseStatus :: Lens' ListResourcesForWebACLResponse Int
lrfwarsResponseStatus = lens _lrfwarsResponseStatus (\ s a -> s{_lrfwarsResponseStatus = a})
instance NFData ListResourcesForWebACLResponse where