module Network.AWS.CodeDeploy.ListApplications
(
ListApplications
, listApplications
, laNextToken
, ListApplicationsResponse
, listApplicationsResponse
, lar1Applications
, lar1NextToken
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.CodeDeploy.Types
import qualified GHC.Exts
newtype ListApplications = ListApplications
{ _laNextToken :: Maybe Text
} deriving (Eq, Ord, Show, Monoid)
listApplications :: ListApplications
listApplications = ListApplications
{ _laNextToken = Nothing
}
laNextToken :: Lens' ListApplications (Maybe Text)
laNextToken = lens _laNextToken (\s a -> s { _laNextToken = a })
data ListApplicationsResponse = ListApplicationsResponse
{ _lar1Applications :: List "applications" Text
, _lar1NextToken :: Maybe Text
} deriving (Eq, Ord, Show)
listApplicationsResponse :: ListApplicationsResponse
listApplicationsResponse = ListApplicationsResponse
{ _lar1Applications = mempty
, _lar1NextToken = Nothing
}
lar1Applications :: Lens' ListApplicationsResponse [Text]
lar1Applications = lens _lar1Applications (\s a -> s { _lar1Applications = a }) . _List
lar1NextToken :: Lens' ListApplicationsResponse (Maybe Text)
lar1NextToken = lens _lar1NextToken (\s a -> s { _lar1NextToken = a })
instance ToPath ListApplications where
toPath = const "/"
instance ToQuery ListApplications where
toQuery = const mempty
instance ToHeaders ListApplications
instance ToJSON ListApplications where
toJSON ListApplications{..} = object
[ "nextToken" .= _laNextToken
]
instance AWSRequest ListApplications where
type Sv ListApplications = CodeDeploy
type Rs ListApplications = ListApplicationsResponse
request = post "ListApplications"
response = jsonResponse
instance FromJSON ListApplicationsResponse where
parseJSON = withObject "ListApplicationsResponse" $ \o -> ListApplicationsResponse
<$> o .: "applications"
<*> o .:? "nextToken"