{-# 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.ListActivatedRulesInRuleGroup
(
listActivatedRulesInRuleGroup
, ListActivatedRulesInRuleGroup
, larirgRuleGroupId
, larirgNextMarker
, larirgLimit
, listActivatedRulesInRuleGroupResponse
, ListActivatedRulesInRuleGroupResponse
, larirgrsNextMarker
, larirgrsActivatedRules
, larirgrsResponseStatus
) 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 ListActivatedRulesInRuleGroup = ListActivatedRulesInRuleGroup'
{ _larirgRuleGroupId :: !(Maybe Text)
, _larirgNextMarker :: !(Maybe Text)
, _larirgLimit :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listActivatedRulesInRuleGroup
:: ListActivatedRulesInRuleGroup
listActivatedRulesInRuleGroup =
ListActivatedRulesInRuleGroup'
{ _larirgRuleGroupId = Nothing
, _larirgNextMarker = Nothing
, _larirgLimit = Nothing
}
larirgRuleGroupId :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)
larirgRuleGroupId = lens _larirgRuleGroupId (\ s a -> s{_larirgRuleGroupId = a})
larirgNextMarker :: Lens' ListActivatedRulesInRuleGroup (Maybe Text)
larirgNextMarker = lens _larirgNextMarker (\ s a -> s{_larirgNextMarker = a})
larirgLimit :: Lens' ListActivatedRulesInRuleGroup (Maybe Natural)
larirgLimit = lens _larirgLimit (\ s a -> s{_larirgLimit = a}) . mapping _Nat
instance AWSRequest ListActivatedRulesInRuleGroup
where
type Rs ListActivatedRulesInRuleGroup =
ListActivatedRulesInRuleGroupResponse
request = postJSON waf
response
= receiveJSON
(\ s h x ->
ListActivatedRulesInRuleGroupResponse' <$>
(x .?> "NextMarker") <*>
(x .?> "ActivatedRules" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListActivatedRulesInRuleGroup where
instance NFData ListActivatedRulesInRuleGroup where
instance ToHeaders ListActivatedRulesInRuleGroup
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSWAF_20150824.ListActivatedRulesInRuleGroup" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListActivatedRulesInRuleGroup where
toJSON ListActivatedRulesInRuleGroup'{..}
= object
(catMaybes
[("RuleGroupId" .=) <$> _larirgRuleGroupId,
("NextMarker" .=) <$> _larirgNextMarker,
("Limit" .=) <$> _larirgLimit])
instance ToPath ListActivatedRulesInRuleGroup where
toPath = const "/"
instance ToQuery ListActivatedRulesInRuleGroup where
toQuery = const mempty
data ListActivatedRulesInRuleGroupResponse = ListActivatedRulesInRuleGroupResponse'
{ _larirgrsNextMarker :: !(Maybe Text)
, _larirgrsActivatedRules :: !(Maybe [ActivatedRule])
, _larirgrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listActivatedRulesInRuleGroupResponse
:: Int
-> ListActivatedRulesInRuleGroupResponse
listActivatedRulesInRuleGroupResponse pResponseStatus_ =
ListActivatedRulesInRuleGroupResponse'
{ _larirgrsNextMarker = Nothing
, _larirgrsActivatedRules = Nothing
, _larirgrsResponseStatus = pResponseStatus_
}
larirgrsNextMarker :: Lens' ListActivatedRulesInRuleGroupResponse (Maybe Text)
larirgrsNextMarker = lens _larirgrsNextMarker (\ s a -> s{_larirgrsNextMarker = a})
larirgrsActivatedRules :: Lens' ListActivatedRulesInRuleGroupResponse [ActivatedRule]
larirgrsActivatedRules = lens _larirgrsActivatedRules (\ s a -> s{_larirgrsActivatedRules = a}) . _Default . _Coerce
larirgrsResponseStatus :: Lens' ListActivatedRulesInRuleGroupResponse Int
larirgrsResponseStatus = lens _larirgrsResponseStatus (\ s a -> s{_larirgrsResponseStatus = a})
instance NFData ListActivatedRulesInRuleGroupResponse
where