module Network.AWS.SSM.ListDocuments
(
ListDocuments
, listDocuments
, ldDocumentFilterList
, ldMaxResults
, ldNextToken
, ListDocumentsResponse
, listDocumentsResponse
, ldrDocumentIdentifiers
, ldrNextToken
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.SSM.Types
import qualified GHC.Exts
data ListDocuments = ListDocuments
{ _ldDocumentFilterList :: List1 "DocumentFilter" DocumentFilter
, _ldMaxResults :: Maybe Nat
, _ldNextToken :: Maybe Text
} deriving (Eq, Read, Show)
listDocuments :: NonEmpty DocumentFilter
-> ListDocuments
listDocuments p1 = ListDocuments
{ _ldDocumentFilterList = withIso _List1 (const id) p1
, _ldMaxResults = Nothing
, _ldNextToken = Nothing
}
ldDocumentFilterList :: Lens' ListDocuments (NonEmpty DocumentFilter)
ldDocumentFilterList =
lens _ldDocumentFilterList (\s a -> s { _ldDocumentFilterList = a })
. _List1
ldMaxResults :: Lens' ListDocuments (Maybe Natural)
ldMaxResults = lens _ldMaxResults (\s a -> s { _ldMaxResults = a }) . mapping _Nat
ldNextToken :: Lens' ListDocuments (Maybe Text)
ldNextToken = lens _ldNextToken (\s a -> s { _ldNextToken = a })
data ListDocumentsResponse = ListDocumentsResponse
{ _ldrDocumentIdentifiers :: List "DocumentIdentifier" DocumentIdentifier
, _ldrNextToken :: Maybe Text
} deriving (Eq, Read, Show)
listDocumentsResponse :: ListDocumentsResponse
listDocumentsResponse = ListDocumentsResponse
{ _ldrDocumentIdentifiers = mempty
, _ldrNextToken = Nothing
}
ldrDocumentIdentifiers :: Lens' ListDocumentsResponse [DocumentIdentifier]
ldrDocumentIdentifiers =
lens _ldrDocumentIdentifiers (\s a -> s { _ldrDocumentIdentifiers = a })
. _List
ldrNextToken :: Lens' ListDocumentsResponse (Maybe Text)
ldrNextToken = lens _ldrNextToken (\s a -> s { _ldrNextToken = a })
instance ToPath ListDocuments where
toPath = const "/"
instance ToQuery ListDocuments where
toQuery = const mempty
instance ToHeaders ListDocuments
instance ToJSON ListDocuments where
toJSON ListDocuments{..} = object
[ "DocumentFilterList" .= _ldDocumentFilterList
, "MaxResults" .= _ldMaxResults
, "NextToken" .= _ldNextToken
]
instance AWSRequest ListDocuments where
type Sv ListDocuments = SSM
type Rs ListDocuments = ListDocumentsResponse
request = post "ListDocuments"
response = jsonResponse
instance FromJSON ListDocumentsResponse where
parseJSON = withObject "ListDocumentsResponse" $ \o -> ListDocumentsResponse
<$> o .:? "DocumentIdentifiers" .!= mempty
<*> o .:? "NextToken"