module Network.AWS.Config.DescribeConfigRuleEvaluationStatus
(
describeConfigRuleEvaluationStatus
, DescribeConfigRuleEvaluationStatus
, dcresConfigRuleNames
, dcresNextToken
, dcresLimit
, describeConfigRuleEvaluationStatusResponse
, DescribeConfigRuleEvaluationStatusResponse
, dcresrsConfigRulesEvaluationStatus
, dcresrsNextToken
, dcresrsResponseStatus
) 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 DescribeConfigRuleEvaluationStatus = DescribeConfigRuleEvaluationStatus'
{ _dcresConfigRuleNames :: !(Maybe [Text])
, _dcresNextToken :: !(Maybe Text)
, _dcresLimit :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeConfigRuleEvaluationStatus
:: DescribeConfigRuleEvaluationStatus
describeConfigRuleEvaluationStatus =
DescribeConfigRuleEvaluationStatus'
{ _dcresConfigRuleNames = Nothing
, _dcresNextToken = Nothing
, _dcresLimit = Nothing
}
dcresConfigRuleNames :: Lens' DescribeConfigRuleEvaluationStatus [Text]
dcresConfigRuleNames = lens _dcresConfigRuleNames (\ s a -> s{_dcresConfigRuleNames = a}) . _Default . _Coerce;
dcresNextToken :: Lens' DescribeConfigRuleEvaluationStatus (Maybe Text)
dcresNextToken = lens _dcresNextToken (\ s a -> s{_dcresNextToken = a});
dcresLimit :: Lens' DescribeConfigRuleEvaluationStatus (Maybe Natural)
dcresLimit = lens _dcresLimit (\ s a -> s{_dcresLimit = a}) . mapping _Nat;
instance AWSRequest
DescribeConfigRuleEvaluationStatus
where
type Rs DescribeConfigRuleEvaluationStatus =
DescribeConfigRuleEvaluationStatusResponse
request = postJSON config
response
= receiveJSON
(\ s h x ->
DescribeConfigRuleEvaluationStatusResponse' <$>
(x .?> "ConfigRulesEvaluationStatus" .!@ mempty) <*>
(x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable DescribeConfigRuleEvaluationStatus
where
instance NFData DescribeConfigRuleEvaluationStatus
where
instance ToHeaders DescribeConfigRuleEvaluationStatus
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StarlingDoveService.DescribeConfigRuleEvaluationStatus"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeConfigRuleEvaluationStatus
where
toJSON DescribeConfigRuleEvaluationStatus'{..}
= object
(catMaybes
[("ConfigRuleNames" .=) <$> _dcresConfigRuleNames,
("NextToken" .=) <$> _dcresNextToken,
("Limit" .=) <$> _dcresLimit])
instance ToPath DescribeConfigRuleEvaluationStatus
where
toPath = const "/"
instance ToQuery DescribeConfigRuleEvaluationStatus
where
toQuery = const mempty
data DescribeConfigRuleEvaluationStatusResponse = DescribeConfigRuleEvaluationStatusResponse'
{ _dcresrsConfigRulesEvaluationStatus :: !(Maybe [ConfigRuleEvaluationStatus])
, _dcresrsNextToken :: !(Maybe Text)
, _dcresrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeConfigRuleEvaluationStatusResponse
:: Int
-> DescribeConfigRuleEvaluationStatusResponse
describeConfigRuleEvaluationStatusResponse pResponseStatus_ =
DescribeConfigRuleEvaluationStatusResponse'
{ _dcresrsConfigRulesEvaluationStatus = Nothing
, _dcresrsNextToken = Nothing
, _dcresrsResponseStatus = pResponseStatus_
}
dcresrsConfigRulesEvaluationStatus :: Lens' DescribeConfigRuleEvaluationStatusResponse [ConfigRuleEvaluationStatus]
dcresrsConfigRulesEvaluationStatus = lens _dcresrsConfigRulesEvaluationStatus (\ s a -> s{_dcresrsConfigRulesEvaluationStatus = a}) . _Default . _Coerce;
dcresrsNextToken :: Lens' DescribeConfigRuleEvaluationStatusResponse (Maybe Text)
dcresrsNextToken = lens _dcresrsNextToken (\ s a -> s{_dcresrsNextToken = a});
dcresrsResponseStatus :: Lens' DescribeConfigRuleEvaluationStatusResponse Int
dcresrsResponseStatus = lens _dcresrsResponseStatus (\ s a -> s{_dcresrsResponseStatus = a});
instance NFData
DescribeConfigRuleEvaluationStatusResponse
where