{-# 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.GetAggregateConfigRuleComplianceSummary
(
getAggregateConfigRuleComplianceSummary
, GetAggregateConfigRuleComplianceSummary
, gacrcsFilters
, gacrcsNextToken
, gacrcsLimit
, gacrcsGroupByKey
, gacrcsConfigurationAggregatorName
, getAggregateConfigRuleComplianceSummaryResponse
, GetAggregateConfigRuleComplianceSummaryResponse
, gacrcsrsAggregateComplianceCounts
, gacrcsrsNextToken
, gacrcsrsGroupByKey
, gacrcsrsResponseStatus
) 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 GetAggregateConfigRuleComplianceSummary = GetAggregateConfigRuleComplianceSummary'
{ _gacrcsFilters :: !(Maybe ConfigRuleComplianceSummaryFilters)
, _gacrcsNextToken :: !(Maybe Text)
, _gacrcsLimit :: !(Maybe Nat)
, _gacrcsGroupByKey :: !(Maybe ConfigRuleComplianceSummaryGroupKey)
, _gacrcsConfigurationAggregatorName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getAggregateConfigRuleComplianceSummary
:: Text
-> GetAggregateConfigRuleComplianceSummary
getAggregateConfigRuleComplianceSummary pConfigurationAggregatorName_ =
GetAggregateConfigRuleComplianceSummary'
{ _gacrcsFilters = Nothing
, _gacrcsNextToken = Nothing
, _gacrcsLimit = Nothing
, _gacrcsGroupByKey = Nothing
, _gacrcsConfigurationAggregatorName = pConfigurationAggregatorName_
}
gacrcsFilters :: Lens' GetAggregateConfigRuleComplianceSummary (Maybe ConfigRuleComplianceSummaryFilters)
gacrcsFilters = lens _gacrcsFilters (\ s a -> s{_gacrcsFilters = a})
gacrcsNextToken :: Lens' GetAggregateConfigRuleComplianceSummary (Maybe Text)
gacrcsNextToken = lens _gacrcsNextToken (\ s a -> s{_gacrcsNextToken = a})
gacrcsLimit :: Lens' GetAggregateConfigRuleComplianceSummary (Maybe Natural)
gacrcsLimit = lens _gacrcsLimit (\ s a -> s{_gacrcsLimit = a}) . mapping _Nat
gacrcsGroupByKey :: Lens' GetAggregateConfigRuleComplianceSummary (Maybe ConfigRuleComplianceSummaryGroupKey)
gacrcsGroupByKey = lens _gacrcsGroupByKey (\ s a -> s{_gacrcsGroupByKey = a})
gacrcsConfigurationAggregatorName :: Lens' GetAggregateConfigRuleComplianceSummary Text
gacrcsConfigurationAggregatorName = lens _gacrcsConfigurationAggregatorName (\ s a -> s{_gacrcsConfigurationAggregatorName = a})
instance AWSRequest
GetAggregateConfigRuleComplianceSummary
where
type Rs GetAggregateConfigRuleComplianceSummary =
GetAggregateConfigRuleComplianceSummaryResponse
request = postJSON config
response
= receiveJSON
(\ s h x ->
GetAggregateConfigRuleComplianceSummaryResponse' <$>
(x .?> "AggregateComplianceCounts" .!@ mempty) <*>
(x .?> "NextToken")
<*> (x .?> "GroupByKey")
<*> (pure (fromEnum s)))
instance Hashable
GetAggregateConfigRuleComplianceSummary
where
instance NFData
GetAggregateConfigRuleComplianceSummary
where
instance ToHeaders
GetAggregateConfigRuleComplianceSummary
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StarlingDoveService.GetAggregateConfigRuleComplianceSummary"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON
GetAggregateConfigRuleComplianceSummary
where
toJSON GetAggregateConfigRuleComplianceSummary'{..}
= object
(catMaybes
[("Filters" .=) <$> _gacrcsFilters,
("NextToken" .=) <$> _gacrcsNextToken,
("Limit" .=) <$> _gacrcsLimit,
("GroupByKey" .=) <$> _gacrcsGroupByKey,
Just
("ConfigurationAggregatorName" .=
_gacrcsConfigurationAggregatorName)])
instance ToPath
GetAggregateConfigRuleComplianceSummary
where
toPath = const "/"
instance ToQuery
GetAggregateConfigRuleComplianceSummary
where
toQuery = const mempty
data GetAggregateConfigRuleComplianceSummaryResponse = GetAggregateConfigRuleComplianceSummaryResponse'
{ _gacrcsrsAggregateComplianceCounts :: !(Maybe [AggregateComplianceCount])
, _gacrcsrsNextToken :: !(Maybe Text)
, _gacrcsrsGroupByKey :: !(Maybe Text)
, _gacrcsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getAggregateConfigRuleComplianceSummaryResponse
:: Int
-> GetAggregateConfigRuleComplianceSummaryResponse
getAggregateConfigRuleComplianceSummaryResponse pResponseStatus_ =
GetAggregateConfigRuleComplianceSummaryResponse'
{ _gacrcsrsAggregateComplianceCounts = Nothing
, _gacrcsrsNextToken = Nothing
, _gacrcsrsGroupByKey = Nothing
, _gacrcsrsResponseStatus = pResponseStatus_
}
gacrcsrsAggregateComplianceCounts :: Lens' GetAggregateConfigRuleComplianceSummaryResponse [AggregateComplianceCount]
gacrcsrsAggregateComplianceCounts = lens _gacrcsrsAggregateComplianceCounts (\ s a -> s{_gacrcsrsAggregateComplianceCounts = a}) . _Default . _Coerce
gacrcsrsNextToken :: Lens' GetAggregateConfigRuleComplianceSummaryResponse (Maybe Text)
gacrcsrsNextToken = lens _gacrcsrsNextToken (\ s a -> s{_gacrcsrsNextToken = a})
gacrcsrsGroupByKey :: Lens' GetAggregateConfigRuleComplianceSummaryResponse (Maybe Text)
gacrcsrsGroupByKey = lens _gacrcsrsGroupByKey (\ s a -> s{_gacrcsrsGroupByKey = a})
gacrcsrsResponseStatus :: Lens' GetAggregateConfigRuleComplianceSummaryResponse Int
gacrcsrsResponseStatus = lens _gacrcsrsResponseStatus (\ s a -> s{_gacrcsrsResponseStatus = a})
instance NFData
GetAggregateConfigRuleComplianceSummaryResponse
where