module Network.AWS.Inspector.ListAssessmentAgents
(
listAssessmentAgents
, ListAssessmentAgents
, laasNextToken
, laasFilter
, laasMaxResults
, laasAssessmentARN
, listAssessmentAgentsResponse
, ListAssessmentAgentsResponse
, laarsAgentList
, laarsNextToken
, laarsResponseStatus
) 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 ListAssessmentAgents = ListAssessmentAgents'
{ _laasNextToken :: !(Maybe Text)
, _laasFilter :: !(Maybe AgentsFilter)
, _laasMaxResults :: !(Maybe Int)
, _laasAssessmentARN :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAssessmentAgents
:: Text
-> ListAssessmentAgents
listAssessmentAgents pAssessmentARN_ =
ListAssessmentAgents'
{ _laasNextToken = Nothing
, _laasFilter = Nothing
, _laasMaxResults = Nothing
, _laasAssessmentARN = pAssessmentARN_
}
laasNextToken :: Lens' ListAssessmentAgents (Maybe Text)
laasNextToken = lens _laasNextToken (\ s a -> s{_laasNextToken = a});
laasFilter :: Lens' ListAssessmentAgents (Maybe AgentsFilter)
laasFilter = lens _laasFilter (\ s a -> s{_laasFilter = a});
laasMaxResults :: Lens' ListAssessmentAgents (Maybe Int)
laasMaxResults = lens _laasMaxResults (\ s a -> s{_laasMaxResults = a});
laasAssessmentARN :: Lens' ListAssessmentAgents Text
laasAssessmentARN = lens _laasAssessmentARN (\ s a -> s{_laasAssessmentARN = a});
instance AWSRequest ListAssessmentAgents where
type Rs ListAssessmentAgents =
ListAssessmentAgentsResponse
request = postJSON inspector
response
= receiveJSON
(\ s h x ->
ListAssessmentAgentsResponse' <$>
(x .?> "agentList" .!@ mempty) <*>
(x .?> "nextToken")
<*> (pure (fromEnum s)))
instance Hashable ListAssessmentAgents
instance ToHeaders ListAssessmentAgents where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("InspectorService.ListAssessmentAgents" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListAssessmentAgents where
toJSON ListAssessmentAgents'{..}
= object
(catMaybes
[("nextToken" .=) <$> _laasNextToken,
("filter" .=) <$> _laasFilter,
("maxResults" .=) <$> _laasMaxResults,
Just ("assessmentArn" .= _laasAssessmentARN)])
instance ToPath ListAssessmentAgents where
toPath = const "/"
instance ToQuery ListAssessmentAgents where
toQuery = const mempty
data ListAssessmentAgentsResponse = ListAssessmentAgentsResponse'
{ _laarsAgentList :: !(Maybe [Agent])
, _laarsNextToken :: !(Maybe Text)
, _laarsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAssessmentAgentsResponse
:: Int
-> ListAssessmentAgentsResponse
listAssessmentAgentsResponse pResponseStatus_ =
ListAssessmentAgentsResponse'
{ _laarsAgentList = Nothing
, _laarsNextToken = Nothing
, _laarsResponseStatus = pResponseStatus_
}
laarsAgentList :: Lens' ListAssessmentAgentsResponse [Agent]
laarsAgentList = lens _laarsAgentList (\ s a -> s{_laarsAgentList = a}) . _Default . _Coerce;
laarsNextToken :: Lens' ListAssessmentAgentsResponse (Maybe Text)
laarsNextToken = lens _laarsNextToken (\ s a -> s{_laarsNextToken = a});
laarsResponseStatus :: Lens' ListAssessmentAgentsResponse Int
laarsResponseStatus = lens _laarsResponseStatus (\ s a -> s{_laarsResponseStatus = a});