module Network.AWS.Greengrass.ListSubscriptionDefinitionVersions
(
listSubscriptionDefinitionVersions
, ListSubscriptionDefinitionVersions
, lsdvNextToken
, lsdvMaxResults
, lsdvSubscriptionDefinitionId
, listSubscriptionDefinitionVersionsResponse
, ListSubscriptionDefinitionVersionsResponse
, lsdvrsVersions
, lsdvrsNextToken
, lsdvrsResponseStatus
) where
import Network.AWS.Greengrass.Types
import Network.AWS.Greengrass.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListSubscriptionDefinitionVersions = ListSubscriptionDefinitionVersions'
{ _lsdvNextToken :: !(Maybe Text)
, _lsdvMaxResults :: !(Maybe Text)
, _lsdvSubscriptionDefinitionId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listSubscriptionDefinitionVersions
:: Text
-> ListSubscriptionDefinitionVersions
listSubscriptionDefinitionVersions pSubscriptionDefinitionId_ =
ListSubscriptionDefinitionVersions'
{ _lsdvNextToken = Nothing
, _lsdvMaxResults = Nothing
, _lsdvSubscriptionDefinitionId = pSubscriptionDefinitionId_
}
lsdvNextToken :: Lens' ListSubscriptionDefinitionVersions (Maybe Text)
lsdvNextToken = lens _lsdvNextToken (\ s a -> s{_lsdvNextToken = a});
lsdvMaxResults :: Lens' ListSubscriptionDefinitionVersions (Maybe Text)
lsdvMaxResults = lens _lsdvMaxResults (\ s a -> s{_lsdvMaxResults = a});
lsdvSubscriptionDefinitionId :: Lens' ListSubscriptionDefinitionVersions Text
lsdvSubscriptionDefinitionId = lens _lsdvSubscriptionDefinitionId (\ s a -> s{_lsdvSubscriptionDefinitionId = a});
instance AWSRequest
ListSubscriptionDefinitionVersions
where
type Rs ListSubscriptionDefinitionVersions =
ListSubscriptionDefinitionVersionsResponse
request = get greengrass
response
= receiveJSON
(\ s h x ->
ListSubscriptionDefinitionVersionsResponse' <$>
(x .?> "Versions" .!@ mempty) <*> (x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListSubscriptionDefinitionVersions
where
instance NFData ListSubscriptionDefinitionVersions
where
instance ToHeaders ListSubscriptionDefinitionVersions
where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath ListSubscriptionDefinitionVersions
where
toPath ListSubscriptionDefinitionVersions'{..}
= mconcat
["/greengrass/definition/subscriptions/",
toBS _lsdvSubscriptionDefinitionId, "/versions"]
instance ToQuery ListSubscriptionDefinitionVersions
where
toQuery ListSubscriptionDefinitionVersions'{..}
= mconcat
["NextToken" =: _lsdvNextToken,
"MaxResults" =: _lsdvMaxResults]
data ListSubscriptionDefinitionVersionsResponse = ListSubscriptionDefinitionVersionsResponse'
{ _lsdvrsVersions :: !(Maybe [VersionInformation])
, _lsdvrsNextToken :: !(Maybe Text)
, _lsdvrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listSubscriptionDefinitionVersionsResponse
:: Int
-> ListSubscriptionDefinitionVersionsResponse
listSubscriptionDefinitionVersionsResponse pResponseStatus_ =
ListSubscriptionDefinitionVersionsResponse'
{ _lsdvrsVersions = Nothing
, _lsdvrsNextToken = Nothing
, _lsdvrsResponseStatus = pResponseStatus_
}
lsdvrsVersions :: Lens' ListSubscriptionDefinitionVersionsResponse [VersionInformation]
lsdvrsVersions = lens _lsdvrsVersions (\ s a -> s{_lsdvrsVersions = a}) . _Default . _Coerce;
lsdvrsNextToken :: Lens' ListSubscriptionDefinitionVersionsResponse (Maybe Text)
lsdvrsNextToken = lens _lsdvrsNextToken (\ s a -> s{_lsdvrsNextToken = a});
lsdvrsResponseStatus :: Lens' ListSubscriptionDefinitionVersionsResponse Int
lsdvrsResponseStatus = lens _lsdvrsResponseStatus (\ s a -> s{_lsdvrsResponseStatus = a});
instance NFData
ListSubscriptionDefinitionVersionsResponse
where