module Network.AWS.CodeDeploy.BatchGetApplicationRevisions
(
batchGetApplicationRevisions
, BatchGetApplicationRevisions
, bgarApplicationName
, bgarRevisions
, batchGetApplicationRevisionsResponse
, BatchGetApplicationRevisionsResponse
, bgarrsApplicationName
, bgarrsRevisions
, bgarrsErrorMessage
, bgarrsResponseStatus
) where
import Network.AWS.CodeDeploy.Types
import Network.AWS.CodeDeploy.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data BatchGetApplicationRevisions = BatchGetApplicationRevisions'
{ _bgarApplicationName :: !Text
, _bgarRevisions :: ![RevisionLocation]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
batchGetApplicationRevisions
:: Text
-> BatchGetApplicationRevisions
batchGetApplicationRevisions pApplicationName_ =
BatchGetApplicationRevisions'
{_bgarApplicationName = pApplicationName_, _bgarRevisions = mempty}
bgarApplicationName :: Lens' BatchGetApplicationRevisions Text
bgarApplicationName = lens _bgarApplicationName (\ s a -> s{_bgarApplicationName = a});
bgarRevisions :: Lens' BatchGetApplicationRevisions [RevisionLocation]
bgarRevisions = lens _bgarRevisions (\ s a -> s{_bgarRevisions = a}) . _Coerce;
instance AWSRequest BatchGetApplicationRevisions
where
type Rs BatchGetApplicationRevisions =
BatchGetApplicationRevisionsResponse
request = postJSON codeDeploy
response
= receiveJSON
(\ s h x ->
BatchGetApplicationRevisionsResponse' <$>
(x .?> "applicationName") <*>
(x .?> "revisions" .!@ mempty)
<*> (x .?> "errorMessage")
<*> (pure (fromEnum s)))
instance Hashable BatchGetApplicationRevisions where
instance NFData BatchGetApplicationRevisions where
instance ToHeaders BatchGetApplicationRevisions where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeDeploy_20141006.BatchGetApplicationRevisions"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON BatchGetApplicationRevisions where
toJSON BatchGetApplicationRevisions'{..}
= object
(catMaybes
[Just ("applicationName" .= _bgarApplicationName),
Just ("revisions" .= _bgarRevisions)])
instance ToPath BatchGetApplicationRevisions where
toPath = const "/"
instance ToQuery BatchGetApplicationRevisions where
toQuery = const mempty
data BatchGetApplicationRevisionsResponse = BatchGetApplicationRevisionsResponse'
{ _bgarrsApplicationName :: !(Maybe Text)
, _bgarrsRevisions :: !(Maybe [RevisionInfo])
, _bgarrsErrorMessage :: !(Maybe Text)
, _bgarrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
batchGetApplicationRevisionsResponse
:: Int
-> BatchGetApplicationRevisionsResponse
batchGetApplicationRevisionsResponse pResponseStatus_ =
BatchGetApplicationRevisionsResponse'
{ _bgarrsApplicationName = Nothing
, _bgarrsRevisions = Nothing
, _bgarrsErrorMessage = Nothing
, _bgarrsResponseStatus = pResponseStatus_
}
bgarrsApplicationName :: Lens' BatchGetApplicationRevisionsResponse (Maybe Text)
bgarrsApplicationName = lens _bgarrsApplicationName (\ s a -> s{_bgarrsApplicationName = a});
bgarrsRevisions :: Lens' BatchGetApplicationRevisionsResponse [RevisionInfo]
bgarrsRevisions = lens _bgarrsRevisions (\ s a -> s{_bgarrsRevisions = a}) . _Default . _Coerce;
bgarrsErrorMessage :: Lens' BatchGetApplicationRevisionsResponse (Maybe Text)
bgarrsErrorMessage = lens _bgarrsErrorMessage (\ s a -> s{_bgarrsErrorMessage = a});
bgarrsResponseStatus :: Lens' BatchGetApplicationRevisionsResponse Int
bgarrsResponseStatus = lens _bgarrsResponseStatus (\ s a -> s{_bgarrsResponseStatus = a});
instance NFData BatchGetApplicationRevisionsResponse
where