module Network.AWS.SSM.ListResourceComplianceSummaries
(
listResourceComplianceSummaries
, ListResourceComplianceSummaries
, lrcsFilters
, lrcsNextToken
, lrcsMaxResults
, listResourceComplianceSummariesResponse
, ListResourceComplianceSummariesResponse
, lrcsrsResourceComplianceSummaryItems
, lrcsrsNextToken
, lrcsrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SSM.Types
import Network.AWS.SSM.Types.Product
data ListResourceComplianceSummaries = ListResourceComplianceSummaries'
{ _lrcsFilters :: !(Maybe [ComplianceStringFilter])
, _lrcsNextToken :: !(Maybe Text)
, _lrcsMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listResourceComplianceSummaries
:: ListResourceComplianceSummaries
listResourceComplianceSummaries =
ListResourceComplianceSummaries'
{_lrcsFilters = Nothing, _lrcsNextToken = Nothing, _lrcsMaxResults = Nothing}
lrcsFilters :: Lens' ListResourceComplianceSummaries [ComplianceStringFilter]
lrcsFilters = lens _lrcsFilters (\ s a -> s{_lrcsFilters = a}) . _Default . _Coerce;
lrcsNextToken :: Lens' ListResourceComplianceSummaries (Maybe Text)
lrcsNextToken = lens _lrcsNextToken (\ s a -> s{_lrcsNextToken = a});
lrcsMaxResults :: Lens' ListResourceComplianceSummaries (Maybe Natural)
lrcsMaxResults = lens _lrcsMaxResults (\ s a -> s{_lrcsMaxResults = a}) . mapping _Nat;
instance AWSRequest ListResourceComplianceSummaries
where
type Rs ListResourceComplianceSummaries =
ListResourceComplianceSummariesResponse
request = postJSON ssm
response
= receiveJSON
(\ s h x ->
ListResourceComplianceSummariesResponse' <$>
(x .?> "ResourceComplianceSummaryItems" .!@ mempty)
<*> (x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListResourceComplianceSummaries
where
instance NFData ListResourceComplianceSummaries where
instance ToHeaders ListResourceComplianceSummaries
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonSSM.ListResourceComplianceSummaries" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListResourceComplianceSummaries where
toJSON ListResourceComplianceSummaries'{..}
= object
(catMaybes
[("Filters" .=) <$> _lrcsFilters,
("NextToken" .=) <$> _lrcsNextToken,
("MaxResults" .=) <$> _lrcsMaxResults])
instance ToPath ListResourceComplianceSummaries where
toPath = const "/"
instance ToQuery ListResourceComplianceSummaries
where
toQuery = const mempty
data ListResourceComplianceSummariesResponse = ListResourceComplianceSummariesResponse'
{ _lrcsrsResourceComplianceSummaryItems :: !(Maybe [ResourceComplianceSummaryItem])
, _lrcsrsNextToken :: !(Maybe Text)
, _lrcsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listResourceComplianceSummariesResponse
:: Int
-> ListResourceComplianceSummariesResponse
listResourceComplianceSummariesResponse pResponseStatus_ =
ListResourceComplianceSummariesResponse'
{ _lrcsrsResourceComplianceSummaryItems = Nothing
, _lrcsrsNextToken = Nothing
, _lrcsrsResponseStatus = pResponseStatus_
}
lrcsrsResourceComplianceSummaryItems :: Lens' ListResourceComplianceSummariesResponse [ResourceComplianceSummaryItem]
lrcsrsResourceComplianceSummaryItems = lens _lrcsrsResourceComplianceSummaryItems (\ s a -> s{_lrcsrsResourceComplianceSummaryItems = a}) . _Default . _Coerce;
lrcsrsNextToken :: Lens' ListResourceComplianceSummariesResponse (Maybe Text)
lrcsrsNextToken = lens _lrcsrsNextToken (\ s a -> s{_lrcsrsNextToken = a});
lrcsrsResponseStatus :: Lens' ListResourceComplianceSummariesResponse Int
lrcsrsResponseStatus = lens _lrcsrsResponseStatus (\ s a -> s{_lrcsrsResponseStatus = a});
instance NFData
ListResourceComplianceSummariesResponse
where