module Network.AWS.SSM.ListAssociations
(
listAssociations
, ListAssociations
, laNextToken
, laMaxResults
, laAssociationFilterList
, listAssociationsResponse
, ListAssociationsResponse
, larsNextToken
, larsAssociations
, larsStatus
) 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 Sv ListAssociations = SSM
type Rs ListAssociations = ListAssociationsResponse
request = postJSON
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
["NextToken" .= _laNextToken,
"MaxResults" .= _laMaxResults,
"AssociationFilterList" .= _laAssociationFilterList]
instance ToPath ListAssociations where
toPath = const "/"
instance ToQuery ListAssociations where
toQuery = const mempty
data ListAssociationsResponse = ListAssociationsResponse'
{ _larsNextToken :: !(Maybe Text)
, _larsAssociations :: !(Maybe [Association])
, _larsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listAssociationsResponse
:: Int
-> ListAssociationsResponse
listAssociationsResponse pStatus_ =
ListAssociationsResponse'
{ _larsNextToken = Nothing
, _larsAssociations = Nothing
, _larsStatus = pStatus_
}
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;
larsStatus :: Lens' ListAssociationsResponse Int
larsStatus = lens _larsStatus (\ s a -> s{_larsStatus = a});