module Network.AWS.Inspector.ListAssessmentRuns
(
listAssessmentRuns
, ListAssessmentRuns
, larNextToken
, larFilter
, larAssessmentTemplateARNs
, larMaxResults
, listAssessmentRunsResponse
, ListAssessmentRunsResponse
, larrsNextToken
, larrsResponseStatus
, larrsAssessmentRunARNs
) where
import Network.AWS.Inspector.Types
import Network.AWS.Inspector.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListAssessmentRuns = ListAssessmentRuns'
{ _larNextToken :: !(Maybe Text)
, _larFilter :: !(Maybe AssessmentRunFilter)
, _larAssessmentTemplateARNs :: !(Maybe [Text])
, _larMaxResults :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAssessmentRuns
:: ListAssessmentRuns
listAssessmentRuns =
ListAssessmentRuns'
{ _larNextToken = Nothing
, _larFilter = Nothing
, _larAssessmentTemplateARNs = Nothing
, _larMaxResults = Nothing
}
larNextToken :: Lens' ListAssessmentRuns (Maybe Text)
larNextToken = lens _larNextToken (\ s a -> s{_larNextToken = a});
larFilter :: Lens' ListAssessmentRuns (Maybe AssessmentRunFilter)
larFilter = lens _larFilter (\ s a -> s{_larFilter = a});
larAssessmentTemplateARNs :: Lens' ListAssessmentRuns [Text]
larAssessmentTemplateARNs = lens _larAssessmentTemplateARNs (\ s a -> s{_larAssessmentTemplateARNs = a}) . _Default . _Coerce;
larMaxResults :: Lens' ListAssessmentRuns (Maybe Int)
larMaxResults = lens _larMaxResults (\ s a -> s{_larMaxResults = a});
instance AWSRequest ListAssessmentRuns where
type Rs ListAssessmentRuns =
ListAssessmentRunsResponse
request = postJSON inspector
response
= receiveJSON
(\ s h x ->
ListAssessmentRunsResponse' <$>
(x .?> "nextToken") <*> (pure (fromEnum s)) <*>
(x .?> "assessmentRunArns" .!@ mempty))
instance Hashable ListAssessmentRuns
instance NFData ListAssessmentRuns
instance ToHeaders ListAssessmentRuns where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("InspectorService.ListAssessmentRuns" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListAssessmentRuns where
toJSON ListAssessmentRuns'{..}
= object
(catMaybes
[("nextToken" .=) <$> _larNextToken,
("filter" .=) <$> _larFilter,
("assessmentTemplateArns" .=) <$>
_larAssessmentTemplateARNs,
("maxResults" .=) <$> _larMaxResults])
instance ToPath ListAssessmentRuns where
toPath = const "/"
instance ToQuery ListAssessmentRuns where
toQuery = const mempty
data ListAssessmentRunsResponse = ListAssessmentRunsResponse'
{ _larrsNextToken :: !(Maybe Text)
, _larrsResponseStatus :: !Int
, _larrsAssessmentRunARNs :: ![Text]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAssessmentRunsResponse
:: Int
-> ListAssessmentRunsResponse
listAssessmentRunsResponse pResponseStatus_ =
ListAssessmentRunsResponse'
{ _larrsNextToken = Nothing
, _larrsResponseStatus = pResponseStatus_
, _larrsAssessmentRunARNs = mempty
}
larrsNextToken :: Lens' ListAssessmentRunsResponse (Maybe Text)
larrsNextToken = lens _larrsNextToken (\ s a -> s{_larrsNextToken = a});
larrsResponseStatus :: Lens' ListAssessmentRunsResponse Int
larrsResponseStatus = lens _larrsResponseStatus (\ s a -> s{_larrsResponseStatus = a});
larrsAssessmentRunARNs :: Lens' ListAssessmentRunsResponse [Text]
larrsAssessmentRunARNs = lens _larrsAssessmentRunARNs (\ s a -> s{_larrsAssessmentRunARNs = a}) . _Coerce;
instance NFData ListAssessmentRunsResponse