{-# 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.WAF.ListXSSMatchSets
(
listXSSMatchSets
, ListXSSMatchSets
, lxmsNextMarker
, lxmsLimit
, listXSSMatchSetsResponse
, ListXSSMatchSetsResponse
, lxmsrsXSSMatchSets
, lxmsrsNextMarker
, lxmsrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.WAF.Types
import Network.AWS.WAF.Types.Product
data ListXSSMatchSets = ListXSSMatchSets'
{ _lxmsNextMarker :: !(Maybe Text)
, _lxmsLimit :: !Nat
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listXSSMatchSets
:: Natural
-> ListXSSMatchSets
listXSSMatchSets pLimit_ =
ListXSSMatchSets'
{ _lxmsNextMarker = Nothing
, _lxmsLimit = _Nat # pLimit_
}
lxmsNextMarker :: Lens' ListXSSMatchSets (Maybe Text)
lxmsNextMarker = lens _lxmsNextMarker (\ s a -> s{_lxmsNextMarker = a});
lxmsLimit :: Lens' ListXSSMatchSets Natural
lxmsLimit = lens _lxmsLimit (\ s a -> s{_lxmsLimit = a}) . _Nat;
instance AWSRequest ListXSSMatchSets where
type Rs ListXSSMatchSets = ListXSSMatchSetsResponse
request = postJSON waf
response
= receiveJSON
(\ s h x ->
ListXSSMatchSetsResponse' <$>
(x .?> "XssMatchSets" .!@ mempty) <*>
(x .?> "NextMarker")
<*> (pure (fromEnum s)))
instance Hashable ListXSSMatchSets
instance NFData ListXSSMatchSets
instance ToHeaders ListXSSMatchSets where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSWAF_20150824.ListXssMatchSets" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListXSSMatchSets where
toJSON ListXSSMatchSets'{..}
= object
(catMaybes
[("NextMarker" .=) <$> _lxmsNextMarker,
Just ("Limit" .= _lxmsLimit)])
instance ToPath ListXSSMatchSets where
toPath = const "/"
instance ToQuery ListXSSMatchSets where
toQuery = const mempty
data ListXSSMatchSetsResponse = ListXSSMatchSetsResponse'
{ _lxmsrsXSSMatchSets :: !(Maybe [XSSMatchSetSummary])
, _lxmsrsNextMarker :: !(Maybe Text)
, _lxmsrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listXSSMatchSetsResponse
:: Int
-> ListXSSMatchSetsResponse
listXSSMatchSetsResponse pResponseStatus_ =
ListXSSMatchSetsResponse'
{ _lxmsrsXSSMatchSets = Nothing
, _lxmsrsNextMarker = Nothing
, _lxmsrsResponseStatus = pResponseStatus_
}
lxmsrsXSSMatchSets :: Lens' ListXSSMatchSetsResponse [XSSMatchSetSummary]
lxmsrsXSSMatchSets = lens _lxmsrsXSSMatchSets (\ s a -> s{_lxmsrsXSSMatchSets = a}) . _Default . _Coerce;
lxmsrsNextMarker :: Lens' ListXSSMatchSetsResponse (Maybe Text)
lxmsrsNextMarker = lens _lxmsrsNextMarker (\ s a -> s{_lxmsrsNextMarker = a});
lxmsrsResponseStatus :: Lens' ListXSSMatchSetsResponse Int
lxmsrsResponseStatus = lens _lxmsrsResponseStatus (\ s a -> s{_lxmsrsResponseStatus = a});
instance NFData ListXSSMatchSetsResponse