module Network.AWS.SSM.ListAssociations
(
listAssociations
, ListAssociations
, laNextToken
, laMaxResults
, laAssociationFilterList
, listAssociationsResponse
, ListAssociationsResponse
, larsNextToken
, larsAssociations
, larsResponseStatus
) where
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SSM.Types
import Network.AWS.SSM.Types.Product
data ListAssociations = ListAssociations'
{ _laNextToken :: !(Maybe Text)
, _laMaxResults :: !(Maybe Nat)
, _laAssociationFilterList :: !(List1 AssociationFilter)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAssociations
:: NonEmpty AssociationFilter
-> ListAssociations
listAssociations pAssociationFilterList_ =
ListAssociations'
{ _laNextToken = Nothing
, _laMaxResults = Nothing
, _laAssociationFilterList = _List1 # pAssociationFilterList_
}
laNextToken :: Lens' ListAssociations (Maybe Text)
laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});
laMaxResults :: Lens' ListAssociations (Maybe Natural)
laMaxResults = lens _laMaxResults (\ s a -> s{_laMaxResults = a}) . mapping _Nat;
laAssociationFilterList :: Lens' ListAssociations (NonEmpty AssociationFilter)
laAssociationFilterList = lens _laAssociationFilterList (\ s a -> s{_laAssociationFilterList = a}) . _List1;
instance AWSRequest ListAssociations where
type Rs ListAssociations = ListAssociationsResponse
request = postJSON sSM
response
= receiveJSON
(\ s h x ->
ListAssociationsResponse' <$>
(x .?> "NextToken") <*>
(x .?> "Associations" .!@ mempty)
<*> (pure (fromEnum s)))
instance ToHeaders ListAssociations where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonSSM.ListAssociations" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListAssociations where
toJSON ListAssociations'{..}
= object
(catMaybes
[("NextToken" .=) <$> _laNextToken,
("MaxResults" .=) <$> _laMaxResults,
Just
("AssociationFilterList" .=
_laAssociationFilterList)])
instance ToPath ListAssociations where
toPath = const "/"
instance ToQuery ListAssociations where
toQuery = const mempty
data ListAssociationsResponse = ListAssociationsResponse'
{ _larsNextToken :: !(Maybe Text)
, _larsAssociations :: !(Maybe [Association])
, _larsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAssociationsResponse
:: Int
-> ListAssociationsResponse
listAssociationsResponse pResponseStatus_ =
ListAssociationsResponse'
{ _larsNextToken = Nothing
, _larsAssociations = Nothing
, _larsResponseStatus = pResponseStatus_
}
larsNextToken :: Lens' ListAssociationsResponse (Maybe Text)
larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a});
larsAssociations :: Lens' ListAssociationsResponse [Association]
larsAssociations = lens _larsAssociations (\ s a -> s{_larsAssociations = a}) . _Default . _Coerce;
larsResponseStatus :: Lens' ListAssociationsResponse Int
larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a});