module Network.AWS.CodeDeploy.ListApplicationRevisions
(
listApplicationRevisions
, ListApplicationRevisions
, larS3KeyPrefix
, larDeployed
, larNextToken
, larSortOrder
, larS3Bucket
, larSortBy
, larApplicationName
, listApplicationRevisionsResponse
, ListApplicationRevisionsResponse
, larrsNextToken
, larrsRevisions
, larrsStatus
) where
import Network.AWS.CodeDeploy.Types
import Network.AWS.CodeDeploy.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListApplicationRevisions = ListApplicationRevisions'
{ _larS3KeyPrefix :: !(Maybe Text)
, _larDeployed :: !(Maybe ListStateFilterAction)
, _larNextToken :: !(Maybe Text)
, _larSortOrder :: !(Maybe SortOrder)
, _larS3Bucket :: !(Maybe Text)
, _larSortBy :: !(Maybe ApplicationRevisionSortBy)
, _larApplicationName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listApplicationRevisions
:: Text
-> ListApplicationRevisions
listApplicationRevisions pApplicationName_ =
ListApplicationRevisions'
{ _larS3KeyPrefix = Nothing
, _larDeployed = Nothing
, _larNextToken = Nothing
, _larSortOrder = Nothing
, _larS3Bucket = Nothing
, _larSortBy = Nothing
, _larApplicationName = pApplicationName_
}
larS3KeyPrefix :: Lens' ListApplicationRevisions (Maybe Text)
larS3KeyPrefix = lens _larS3KeyPrefix (\ s a -> s{_larS3KeyPrefix = a});
larDeployed :: Lens' ListApplicationRevisions (Maybe ListStateFilterAction)
larDeployed = lens _larDeployed (\ s a -> s{_larDeployed = a});
larNextToken :: Lens' ListApplicationRevisions (Maybe Text)
larNextToken = lens _larNextToken (\ s a -> s{_larNextToken = a});
larSortOrder :: Lens' ListApplicationRevisions (Maybe SortOrder)
larSortOrder = lens _larSortOrder (\ s a -> s{_larSortOrder = a});
larS3Bucket :: Lens' ListApplicationRevisions (Maybe Text)
larS3Bucket = lens _larS3Bucket (\ s a -> s{_larS3Bucket = a});
larSortBy :: Lens' ListApplicationRevisions (Maybe ApplicationRevisionSortBy)
larSortBy = lens _larSortBy (\ s a -> s{_larSortBy = a});
larApplicationName :: Lens' ListApplicationRevisions Text
larApplicationName = lens _larApplicationName (\ s a -> s{_larApplicationName = a});
instance AWSRequest ListApplicationRevisions where
type Rs ListApplicationRevisions =
ListApplicationRevisionsResponse
request = postJSON codeDeploy
response
= receiveJSON
(\ s h x ->
ListApplicationRevisionsResponse' <$>
(x .?> "nextToken") <*>
(x .?> "revisions" .!@ mempty)
<*> (pure (fromEnum s)))
instance ToHeaders ListApplicationRevisions where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeDeploy_20141006.ListApplicationRevisions" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListApplicationRevisions where
toJSON ListApplicationRevisions'{..}
= object
(catMaybes
[("s3KeyPrefix" .=) <$> _larS3KeyPrefix,
("deployed" .=) <$> _larDeployed,
("nextToken" .=) <$> _larNextToken,
("sortOrder" .=) <$> _larSortOrder,
("s3Bucket" .=) <$> _larS3Bucket,
("sortBy" .=) <$> _larSortBy,
Just ("applicationName" .= _larApplicationName)])
instance ToPath ListApplicationRevisions where
toPath = const "/"
instance ToQuery ListApplicationRevisions where
toQuery = const mempty
data ListApplicationRevisionsResponse = ListApplicationRevisionsResponse'
{ _larrsNextToken :: !(Maybe Text)
, _larrsRevisions :: !(Maybe [RevisionLocation])
, _larrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listApplicationRevisionsResponse
:: Int
-> ListApplicationRevisionsResponse
listApplicationRevisionsResponse pStatus_ =
ListApplicationRevisionsResponse'
{ _larrsNextToken = Nothing
, _larrsRevisions = Nothing
, _larrsStatus = pStatus_
}
larrsNextToken :: Lens' ListApplicationRevisionsResponse (Maybe Text)
larrsNextToken = lens _larrsNextToken (\ s a -> s{_larrsNextToken = a});
larrsRevisions :: Lens' ListApplicationRevisionsResponse [RevisionLocation]
larrsRevisions = lens _larrsRevisions (\ s a -> s{_larrsRevisions = a}) . _Default . _Coerce;
larrsStatus :: Lens' ListApplicationRevisionsResponse Int
larrsStatus = lens _larrsStatus (\ s a -> s{_larrsStatus = a});