module Network.AWS.CodeDeploy.ListApplications
(
listApplications
, ListApplications
, laNextToken
, listApplicationsResponse
, ListApplicationsResponse
, larsNextToken
, larsApplications
, larsResponseStatus
) 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
newtype ListApplications = ListApplications'
{ _laNextToken :: Maybe Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listApplications
:: ListApplications
listApplications =
ListApplications'
{ _laNextToken = Nothing
}
laNextToken :: Lens' ListApplications (Maybe Text)
laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});
instance AWSRequest ListApplications where
type Rs ListApplications = ListApplicationsResponse
request = postJSON codeDeploy
response
= receiveJSON
(\ s h x ->
ListApplicationsResponse' <$>
(x .?> "nextToken") <*>
(x .?> "applications" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListApplications
instance ToHeaders ListApplications where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeDeploy_20141006.ListApplications" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListApplications where
toJSON ListApplications'{..}
= object
(catMaybes [("nextToken" .=) <$> _laNextToken])
instance ToPath ListApplications where
toPath = const "/"
instance ToQuery ListApplications where
toQuery = const mempty
data ListApplicationsResponse = ListApplicationsResponse'
{ _larsNextToken :: !(Maybe Text)
, _larsApplications :: !(Maybe [Text])
, _larsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listApplicationsResponse
:: Int
-> ListApplicationsResponse
listApplicationsResponse pResponseStatus_ =
ListApplicationsResponse'
{ _larsNextToken = Nothing
, _larsApplications = Nothing
, _larsResponseStatus = pResponseStatus_
}
larsNextToken :: Lens' ListApplicationsResponse (Maybe Text)
larsNextToken = lens _larsNextToken (\ s a -> s{_larsNextToken = a});
larsApplications :: Lens' ListApplicationsResponse [Text]
larsApplications = lens _larsApplications (\ s a -> s{_larsApplications = a}) . _Default . _Coerce;
larsResponseStatus :: Lens' ListApplicationsResponse Int
larsResponseStatus = lens _larsResponseStatus (\ s a -> s{_larsResponseStatus = a});