module Network.AWS.Greengrass.ListCoreDefinitionVersions
(
listCoreDefinitionVersions
, ListCoreDefinitionVersions
, lcdvNextToken
, lcdvMaxResults
, lcdvCoreDefinitionId
, listCoreDefinitionVersionsResponse
, ListCoreDefinitionVersionsResponse
, lcdvrsVersions
, lcdvrsNextToken
, lcdvrsResponseStatus
) 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 ListCoreDefinitionVersions = ListCoreDefinitionVersions'
{ _lcdvNextToken :: !(Maybe Text)
, _lcdvMaxResults :: !(Maybe Text)
, _lcdvCoreDefinitionId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listCoreDefinitionVersions
:: Text
-> ListCoreDefinitionVersions
listCoreDefinitionVersions pCoreDefinitionId_ =
ListCoreDefinitionVersions'
{ _lcdvNextToken = Nothing
, _lcdvMaxResults = Nothing
, _lcdvCoreDefinitionId = pCoreDefinitionId_
}
lcdvNextToken :: Lens' ListCoreDefinitionVersions (Maybe Text)
lcdvNextToken = lens _lcdvNextToken (\ s a -> s{_lcdvNextToken = a});
lcdvMaxResults :: Lens' ListCoreDefinitionVersions (Maybe Text)
lcdvMaxResults = lens _lcdvMaxResults (\ s a -> s{_lcdvMaxResults = a});
lcdvCoreDefinitionId :: Lens' ListCoreDefinitionVersions Text
lcdvCoreDefinitionId = lens _lcdvCoreDefinitionId (\ s a -> s{_lcdvCoreDefinitionId = a});
instance AWSRequest ListCoreDefinitionVersions where
type Rs ListCoreDefinitionVersions =
ListCoreDefinitionVersionsResponse
request = get greengrass
response
= receiveJSON
(\ s h x ->
ListCoreDefinitionVersionsResponse' <$>
(x .?> "Versions" .!@ mempty) <*> (x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListCoreDefinitionVersions where
instance NFData ListCoreDefinitionVersions where
instance ToHeaders ListCoreDefinitionVersions where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath ListCoreDefinitionVersions where
toPath ListCoreDefinitionVersions'{..}
= mconcat
["/greengrass/definition/cores/",
toBS _lcdvCoreDefinitionId, "/versions"]
instance ToQuery ListCoreDefinitionVersions where
toQuery ListCoreDefinitionVersions'{..}
= mconcat
["NextToken" =: _lcdvNextToken,
"MaxResults" =: _lcdvMaxResults]
data ListCoreDefinitionVersionsResponse = ListCoreDefinitionVersionsResponse'
{ _lcdvrsVersions :: !(Maybe [VersionInformation])
, _lcdvrsNextToken :: !(Maybe Text)
, _lcdvrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listCoreDefinitionVersionsResponse
:: Int
-> ListCoreDefinitionVersionsResponse
listCoreDefinitionVersionsResponse pResponseStatus_ =
ListCoreDefinitionVersionsResponse'
{ _lcdvrsVersions = Nothing
, _lcdvrsNextToken = Nothing
, _lcdvrsResponseStatus = pResponseStatus_
}
lcdvrsVersions :: Lens' ListCoreDefinitionVersionsResponse [VersionInformation]
lcdvrsVersions = lens _lcdvrsVersions (\ s a -> s{_lcdvrsVersions = a}) . _Default . _Coerce;
lcdvrsNextToken :: Lens' ListCoreDefinitionVersionsResponse (Maybe Text)
lcdvrsNextToken = lens _lcdvrsNextToken (\ s a -> s{_lcdvrsNextToken = a});
lcdvrsResponseStatus :: Lens' ListCoreDefinitionVersionsResponse Int
lcdvrsResponseStatus = lens _lcdvrsResponseStatus (\ s a -> s{_lcdvrsResponseStatus = a});
instance NFData ListCoreDefinitionVersionsResponse
where