{-# 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.Config.DescribeAggregateComplianceByConfigRules
(
describeAggregateComplianceByConfigRules
, DescribeAggregateComplianceByConfigRules
, dacbcrFilters
, dacbcrNextToken
, dacbcrLimit
, dacbcrConfigurationAggregatorName
, describeAggregateComplianceByConfigRulesResponse
, DescribeAggregateComplianceByConfigRulesResponse
, dacbcrrsNextToken
, dacbcrrsAggregateComplianceByConfigRules
, dacbcrrsResponseStatus
) where
import Network.AWS.Config.Types
import Network.AWS.Config.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeAggregateComplianceByConfigRules = DescribeAggregateComplianceByConfigRules'
{ _dacbcrFilters :: !(Maybe ConfigRuleComplianceFilters)
, _dacbcrNextToken :: !(Maybe Text)
, _dacbcrLimit :: !(Maybe Nat)
, _dacbcrConfigurationAggregatorName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeAggregateComplianceByConfigRules
:: Text
-> DescribeAggregateComplianceByConfigRules
describeAggregateComplianceByConfigRules pConfigurationAggregatorName_ =
DescribeAggregateComplianceByConfigRules'
{ _dacbcrFilters = Nothing
, _dacbcrNextToken = Nothing
, _dacbcrLimit = Nothing
, _dacbcrConfigurationAggregatorName = pConfigurationAggregatorName_
}
dacbcrFilters :: Lens' DescribeAggregateComplianceByConfigRules (Maybe ConfigRuleComplianceFilters)
dacbcrFilters = lens _dacbcrFilters (\ s a -> s{_dacbcrFilters = a})
dacbcrNextToken :: Lens' DescribeAggregateComplianceByConfigRules (Maybe Text)
dacbcrNextToken = lens _dacbcrNextToken (\ s a -> s{_dacbcrNextToken = a})
dacbcrLimit :: Lens' DescribeAggregateComplianceByConfigRules (Maybe Natural)
dacbcrLimit = lens _dacbcrLimit (\ s a -> s{_dacbcrLimit = a}) . mapping _Nat
dacbcrConfigurationAggregatorName :: Lens' DescribeAggregateComplianceByConfigRules Text
dacbcrConfigurationAggregatorName = lens _dacbcrConfigurationAggregatorName (\ s a -> s{_dacbcrConfigurationAggregatorName = a})
instance AWSRequest
DescribeAggregateComplianceByConfigRules
where
type Rs DescribeAggregateComplianceByConfigRules =
DescribeAggregateComplianceByConfigRulesResponse
request = postJSON config
response
= receiveJSON
(\ s h x ->
DescribeAggregateComplianceByConfigRulesResponse' <$>
(x .?> "NextToken") <*>
(x .?> "AggregateComplianceByConfigRules" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable
DescribeAggregateComplianceByConfigRules
where
instance NFData
DescribeAggregateComplianceByConfigRules
where
instance ToHeaders
DescribeAggregateComplianceByConfigRules
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StarlingDoveService.DescribeAggregateComplianceByConfigRules"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON
DescribeAggregateComplianceByConfigRules
where
toJSON DescribeAggregateComplianceByConfigRules'{..}
= object
(catMaybes
[("Filters" .=) <$> _dacbcrFilters,
("NextToken" .=) <$> _dacbcrNextToken,
("Limit" .=) <$> _dacbcrLimit,
Just
("ConfigurationAggregatorName" .=
_dacbcrConfigurationAggregatorName)])
instance ToPath
DescribeAggregateComplianceByConfigRules
where
toPath = const "/"
instance ToQuery
DescribeAggregateComplianceByConfigRules
where
toQuery = const mempty
data DescribeAggregateComplianceByConfigRulesResponse = DescribeAggregateComplianceByConfigRulesResponse'
{ _dacbcrrsNextToken :: !(Maybe Text)
, _dacbcrrsAggregateComplianceByConfigRules :: !(Maybe [AggregateComplianceByConfigRule])
, _dacbcrrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeAggregateComplianceByConfigRulesResponse
:: Int
-> DescribeAggregateComplianceByConfigRulesResponse
describeAggregateComplianceByConfigRulesResponse pResponseStatus_ =
DescribeAggregateComplianceByConfigRulesResponse'
{ _dacbcrrsNextToken = Nothing
, _dacbcrrsAggregateComplianceByConfigRules = Nothing
, _dacbcrrsResponseStatus = pResponseStatus_
}
dacbcrrsNextToken :: Lens' DescribeAggregateComplianceByConfigRulesResponse (Maybe Text)
dacbcrrsNextToken = lens _dacbcrrsNextToken (\ s a -> s{_dacbcrrsNextToken = a})
dacbcrrsAggregateComplianceByConfigRules :: Lens' DescribeAggregateComplianceByConfigRulesResponse [AggregateComplianceByConfigRule]
dacbcrrsAggregateComplianceByConfigRules = lens _dacbcrrsAggregateComplianceByConfigRules (\ s a -> s{_dacbcrrsAggregateComplianceByConfigRules = a}) . _Default . _Coerce
dacbcrrsResponseStatus :: Lens' DescribeAggregateComplianceByConfigRulesResponse Int
dacbcrrsResponseStatus = lens _dacbcrrsResponseStatus (\ s a -> s{_dacbcrrsResponseStatus = a})
instance NFData
DescribeAggregateComplianceByConfigRulesResponse
where