{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.Inspector.ListAssessmentTemplates
(
listAssessmentTemplates
, ListAssessmentTemplates
, latNextToken
, latFilter
, latMaxResults
, latAssessmentTargetARNs
, listAssessmentTemplatesResponse
, ListAssessmentTemplatesResponse
, latrsNextToken
, latrsResponseStatus
, latrsAssessmentTemplateARNs
) where
import Network.AWS.Inspector.Types
import Network.AWS.Inspector.Types.Product
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListAssessmentTemplates = ListAssessmentTemplates'
{ _latNextToken :: !(Maybe Text)
, _latFilter :: !(Maybe AssessmentTemplateFilter)
, _latMaxResults :: !(Maybe Int)
, _latAssessmentTargetARNs :: !(Maybe [Text])
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listAssessmentTemplates
:: ListAssessmentTemplates
listAssessmentTemplates =
ListAssessmentTemplates'
{ _latNextToken = Nothing
, _latFilter = Nothing
, _latMaxResults = Nothing
, _latAssessmentTargetARNs = Nothing
}
latNextToken :: Lens' ListAssessmentTemplates (Maybe Text)
latNextToken = lens _latNextToken (\ s a -> s{_latNextToken = a})
latFilter :: Lens' ListAssessmentTemplates (Maybe AssessmentTemplateFilter)
latFilter = lens _latFilter (\ s a -> s{_latFilter = a})
latMaxResults :: Lens' ListAssessmentTemplates (Maybe Int)
latMaxResults = lens _latMaxResults (\ s a -> s{_latMaxResults = a})
latAssessmentTargetARNs :: Lens' ListAssessmentTemplates [Text]
latAssessmentTargetARNs = lens _latAssessmentTargetARNs (\ s a -> s{_latAssessmentTargetARNs = a}) . _Default . _Coerce
instance AWSPager ListAssessmentTemplates where
page rq rs
| stop (rs ^. latrsNextToken) = Nothing
| stop (rs ^. latrsAssessmentTemplateARNs) = Nothing
| otherwise =
Just $ rq & latNextToken .~ rs ^. latrsNextToken
instance AWSRequest ListAssessmentTemplates where
type Rs ListAssessmentTemplates =
ListAssessmentTemplatesResponse
request = postJSON inspector
response
= receiveJSON
(\ s h x ->
ListAssessmentTemplatesResponse' <$>
(x .?> "nextToken") <*> (pure (fromEnum s)) <*>
(x .?> "assessmentTemplateArns" .!@ mempty))
instance Hashable ListAssessmentTemplates where
instance NFData ListAssessmentTemplates where
instance ToHeaders ListAssessmentTemplates where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("InspectorService.ListAssessmentTemplates" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListAssessmentTemplates where
toJSON ListAssessmentTemplates'{..}
= object
(catMaybes
[("nextToken" .=) <$> _latNextToken,
("filter" .=) <$> _latFilter,
("maxResults" .=) <$> _latMaxResults,
("assessmentTargetArns" .=) <$>
_latAssessmentTargetARNs])
instance ToPath ListAssessmentTemplates where
toPath = const "/"
instance ToQuery ListAssessmentTemplates where
toQuery = const mempty
data ListAssessmentTemplatesResponse = ListAssessmentTemplatesResponse'
{ _latrsNextToken :: !(Maybe Text)
, _latrsResponseStatus :: !Int
, _latrsAssessmentTemplateARNs :: ![Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listAssessmentTemplatesResponse
:: Int
-> ListAssessmentTemplatesResponse
listAssessmentTemplatesResponse pResponseStatus_ =
ListAssessmentTemplatesResponse'
{ _latrsNextToken = Nothing
, _latrsResponseStatus = pResponseStatus_
, _latrsAssessmentTemplateARNs = mempty
}
latrsNextToken :: Lens' ListAssessmentTemplatesResponse (Maybe Text)
latrsNextToken = lens _latrsNextToken (\ s a -> s{_latrsNextToken = a})
latrsResponseStatus :: Lens' ListAssessmentTemplatesResponse Int
latrsResponseStatus = lens _latrsResponseStatus (\ s a -> s{_latrsResponseStatus = a})
latrsAssessmentTemplateARNs :: Lens' ListAssessmentTemplatesResponse [Text]
latrsAssessmentTemplateARNs = lens _latrsAssessmentTemplateARNs (\ s a -> s{_latrsAssessmentTemplateARNs = a}) . _Coerce
instance NFData ListAssessmentTemplatesResponse where