module Network.AWS.Inspector.ListApplications
(
listApplications
, ListApplications
, lNextToken
, lFilter
, lMaxResults
, listApplicationsResponse
, ListApplicationsResponse
, lrsApplicationARNList
, lrsNextToken
, lrsResponseStatus
) 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 ListApplications = ListApplications'
{ _lNextToken :: !(Maybe Text)
, _lFilter :: !(Maybe ApplicationsFilter)
, _lMaxResults :: !(Maybe Int)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listApplications
:: ListApplications
listApplications =
ListApplications'
{ _lNextToken = Nothing
, _lFilter = Nothing
, _lMaxResults = Nothing
}
lNextToken :: Lens' ListApplications (Maybe Text)
lNextToken = lens _lNextToken (\ s a -> s{_lNextToken = a});
lFilter :: Lens' ListApplications (Maybe ApplicationsFilter)
lFilter = lens _lFilter (\ s a -> s{_lFilter = a});
lMaxResults :: Lens' ListApplications (Maybe Int)
lMaxResults = lens _lMaxResults (\ s a -> s{_lMaxResults = a});
instance AWSRequest ListApplications where
type Rs ListApplications = ListApplicationsResponse
request = postJSON inspector
response
= receiveJSON
(\ s h x ->
ListApplicationsResponse' <$>
(x .?> "applicationArnList" .!@ mempty) <*>
(x .?> "nextToken")
<*> (pure (fromEnum s)))
instance Hashable ListApplications
instance ToHeaders ListApplications where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("InspectorService.ListApplications" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListApplications where
toJSON ListApplications'{..}
= object
(catMaybes
[("nextToken" .=) <$> _lNextToken,
("filter" .=) <$> _lFilter,
("maxResults" .=) <$> _lMaxResults])
instance ToPath ListApplications where
toPath = const "/"
instance ToQuery ListApplications where
toQuery = const mempty
data ListApplicationsResponse = ListApplicationsResponse'
{ _lrsApplicationARNList :: !(Maybe [Text])
, _lrsNextToken :: !(Maybe Text)
, _lrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listApplicationsResponse
:: Int
-> ListApplicationsResponse
listApplicationsResponse pResponseStatus_ =
ListApplicationsResponse'
{ _lrsApplicationARNList = Nothing
, _lrsNextToken = Nothing
, _lrsResponseStatus = pResponseStatus_
}
lrsApplicationARNList :: Lens' ListApplicationsResponse [Text]
lrsApplicationARNList = lens _lrsApplicationARNList (\ s a -> s{_lrsApplicationARNList = a}) . _Default . _Coerce;
lrsNextToken :: Lens' ListApplicationsResponse (Maybe Text)
lrsNextToken = lens _lrsNextToken (\ s a -> s{_lrsNextToken = a});
lrsResponseStatus :: Lens' ListApplicationsResponse Int
lrsResponseStatus = lens _lrsResponseStatus (\ s a -> s{_lrsResponseStatus = a});