module Network.AWS.SSM.ListAssociations
(
ListAssociations
, listAssociations
, laAssociationFilterList
, laMaxResults
, laNextToken
, ListAssociationsResponse
, listAssociationsResponse
, larAssociations
, larNextToken
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.SSM.Types
import qualified GHC.Exts
data ListAssociations = ListAssociations
{ _laAssociationFilterList :: List1 "AssociationFilter" AssociationFilter
, _laMaxResults :: Maybe Nat
, _laNextToken :: Maybe Text
} deriving (Eq, Read, Show)
listAssociations :: NonEmpty AssociationFilter
-> ListAssociations
listAssociations p1 = ListAssociations
{ _laAssociationFilterList = withIso _List1 (const id) p1
, _laMaxResults = Nothing
, _laNextToken = Nothing
}
laAssociationFilterList :: Lens' ListAssociations (NonEmpty AssociationFilter)
laAssociationFilterList =
lens _laAssociationFilterList (\s a -> s { _laAssociationFilterList = a })
. _List1
laMaxResults :: Lens' ListAssociations (Maybe Natural)
laMaxResults = lens _laMaxResults (\s a -> s { _laMaxResults = a }) . mapping _Nat
laNextToken :: Lens' ListAssociations (Maybe Text)
laNextToken = lens _laNextToken (\s a -> s { _laNextToken = a })
data ListAssociationsResponse = ListAssociationsResponse
{ _larAssociations :: List "Association" Association
, _larNextToken :: Maybe Text
} deriving (Eq, Read, Show)
listAssociationsResponse :: ListAssociationsResponse
listAssociationsResponse = ListAssociationsResponse
{ _larAssociations = mempty
, _larNextToken = Nothing
}
larAssociations :: Lens' ListAssociationsResponse [Association]
larAssociations = lens _larAssociations (\s a -> s { _larAssociations = a }) . _List
larNextToken :: Lens' ListAssociationsResponse (Maybe Text)
larNextToken = lens _larNextToken (\s a -> s { _larNextToken = a })
instance ToPath ListAssociations where
toPath = const "/"
instance ToQuery ListAssociations where
toQuery = const mempty
instance ToHeaders ListAssociations
instance ToJSON ListAssociations where
toJSON ListAssociations{..} = object
[ "AssociationFilterList" .= _laAssociationFilterList
, "MaxResults" .= _laMaxResults
, "NextToken" .= _laNextToken
]
instance AWSRequest ListAssociations where
type Sv ListAssociations = SSM
type Rs ListAssociations = ListAssociationsResponse
request = post "ListAssociations"
response = jsonResponse
instance FromJSON ListAssociationsResponse where
parseJSON = withObject "ListAssociationsResponse" $ \o -> ListAssociationsResponse
<$> o .:? "Associations" .!= mempty
<*> o .:? "NextToken"