|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.heroku.api.HerokuAPI
public class HerokuAPI
A convenience class for making HTTP requests to the Heroku API for a given user. An underlying Connection
is created
for each instance of HerokuAPI. To make HTTP requests to the Heroku API in multi-user or systems that have resource
constraints (e.g. a pool of Connection
objects are required), Connection
should be used
directly.
HerokuAPI heroku = new HerokuAPI("apiKey");
App app = heroku.createApp();
heroku.scaleProcess(app.getName(), "web", 1)
RuntimeException
will be thrown for any request failures.
Field Summary | |
---|---|
protected java.lang.String |
apiKey
|
protected Connection |
connection
|
Constructor Summary | |
---|---|
HerokuAPI(Connection connection,
java.lang.String apiKey)
|
|
HerokuAPI(java.lang.String apiKey)
Constructs a HerokuAPI with a Connection based on the first ConnectionProvider
found on the classpath. |
Method Summary | |
---|---|
AddonChange |
addAddon(java.lang.String appName,
java.lang.String addonName)
Add an addon to the app. |
void |
addCollaborator(java.lang.String appName,
java.lang.String collaborator)
Add a collaborator to an app. |
void |
addConfig(java.lang.String appName,
java.util.Map<java.lang.String,java.lang.String> config)
Add environment variables to an app. |
void |
addKey(java.lang.String sshKey)
Add an ssh key to the current user's account. |
App |
createApp()
Create a new app on the Heroku.Stack.Cedar stack. |
App |
createApp(App app)
Create a new app using App to specify parameters. |
void |
destroyApp(java.lang.String appName)
Delete an app. |
App |
getApp(java.lang.String name)
Get information about a specific app. |
Connection |
getConnection()
|
LogStreamResponse |
getLogs(Log.LogRequestBuilder logRequest)
Get logs for an app by specifying additional parameters. |
LogStreamResponse |
getLogs(java.lang.String appName)
Get logs for an app. |
Release |
getReleaseInfo(java.lang.String appName,
java.lang.String releaseName)
Information about a specific release. |
User |
getUserInfo()
Information for the current user. |
java.util.List<Addon> |
listAllAddons()
Get a list of all addons available. |
java.util.List<Addon> |
listAppAddons(java.lang.String appName)
List the addons already added to an app. |
java.util.List<App> |
listApps()
List all apps for the current user's account. |
java.util.List<StackInfo> |
listAppStacks(java.lang.String appName)
Gets a list of stacks available. |
java.util.List<Collaborator> |
listCollaborators(java.lang.String appName)
Get a list of collaborators that are allowed access to an app. |
java.util.Map<java.lang.String,java.lang.String> |
listConfig(java.lang.String appName)
List all the environment variables for an app. |
java.util.List<Key> |
listKeys()
Get a list of keys associated with the current user's account. |
java.util.List<Proc> |
listProcesses(java.lang.String appName)
List of processes running for an app. |
java.util.List<Release> |
listReleases(java.lang.String appName)
List of releases for an app. |
java.lang.String |
migrateStack(java.lang.String appName,
Heroku.Stack migrateTo)
Migrates an app from its current stack to the specified stack. |
AddonChange |
removeAddon(java.lang.String appName,
java.lang.String addonName)
Remove an addon from an app. |
void |
removeCollaborator(java.lang.String appName,
java.lang.String collaborator)
Remove a collaborator from an app. |
java.util.Map<java.lang.String,java.lang.String> |
removeConfig(java.lang.String appName,
java.lang.String configVarName)
Remove an environment variable from an app. |
void |
removeKey(java.lang.String sshKey)
Delete an ssh key from the current user's account. |
java.lang.String |
renameApp(java.lang.String appName,
java.lang.String newName)
Rename an existing app. |
void |
restart(java.lang.String appName)
Restart an app. |
void |
restartProcessByName(java.lang.String appName,
java.lang.String procName)
Restart a named process. |
void |
restartProcessByType(java.lang.String appName,
java.lang.String type)
Restart a process for an app. |
java.lang.String |
rollback(java.lang.String appName,
java.lang.String releaseName)
Rollback an app to a specific release. |
void |
run(java.lang.String appName,
java.lang.String command)
Run a one-off process on a Heroku dyno. |
RunResponse |
runAttached(java.lang.String appName,
java.lang.String command)
Run a one-off process on a Heroku dyno in an attached state. |
void |
scaleProcess(java.lang.String appName,
java.lang.String processType,
int quantity)
Change the number of processes running for a given process type. |
void |
transferApp(java.lang.String appName,
java.lang.String to)
Transfer the ownership of an application to another user. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final Connection connection
protected final java.lang.String apiKey
Constructor Detail |
---|
public HerokuAPI(java.lang.String apiKey)
Connection
based on the first ConnectionProvider
found on the classpath.
apiKey
- User's API key found at https://api.heroku.com/accountpublic HerokuAPI(Connection connection, java.lang.String apiKey)
connection
- apiKey
- User's API key found at https://api.heroku.com/accountMethod Detail |
---|
public Connection getConnection()
public User getUserInfo()
public void addKey(java.lang.String sshKey)
sshKey
- Public key value. e.g. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCz29znMi/UJX/nvkRSO5FFugKhU9DkkI53E0vXUnP8zeLFxMgyUqmXryPVjWtGzz2LRWqjm14SbqHAmM44pGHVfBIp6wCKBWSUYGv/FxOulwYgtWzz4moxWLZrFyWWgJAnehcVUifHNgzKwT2ovWm2ns52681Z8yFK3K8/uLStDjLIaPePEOaxaTvgIxZNsfyEoXoHcyTPwdR1GtQuDTuDYqYmjmPCoKybYnXrTQ1QFuQxDneBkswQYSl0H2aLf3uBK4F01hr+azXQuSe39eSV4I/TqzmNJlanpILT9Jz3/J1i4r6brpF3AxLnFnb9ufIbzQAIa/VZIulfrZkcBsUl [email protected]public void removeKey(java.lang.String sshKey)
sshKey
- The comment in the public key. See listKeys()
to get a list of keys that can be removed.public java.util.List<Key> listKeys()
public java.util.List<App> listApps()
public App getApp(java.lang.String name)
name
- The name of the app. See listApps()
to get a list of apps and their names.
public App createApp()
Heroku.Stack.Cedar
stack. For more information about the Cedar stack, please see
the Dev Center.
public App createApp(App app)
App
to specify parameters. App
has convenience methods for specifying
parameters to send as part of the request. Typically, these will be the name of the app and the requested stack. e.g.
heroku.createApp(new App().on(Heroku.Stack.Cedar).named("new-app")
app
- See App
public java.lang.String renameApp(java.lang.String appName, java.lang.String newName)
appName
- Existing app name. See listApps()
for names that can be used.newName
- New name to give the existing app.
public void destroyApp(java.lang.String appName)
appName
- public AddonChange addAddon(java.lang.String appName, java.lang.String addonName)
appName
- App name. See listApps()
for a list of apps that can be used.addonName
- Addon name. See listAllAddons()
to get a list of addons that can be used.
public java.util.List<Addon> listAllAddons()
public java.util.List<Addon> listAppAddons(java.lang.String appName)
appName
-
public AddonChange removeAddon(java.lang.String appName, java.lang.String addonName)
appName
- App name. See listApps()
for a list of apps that can be used.addonName
- Addon name. See listAppAddons(java.lang.String)
for a list of addons that can be used.
public void scaleProcess(java.lang.String appName, java.lang.String processType, int quantity)
appName
- App name. See listApps()
for a list of apps that can be used.processType
- Process name. See listProcesses(java.lang.String)
for a list of processes that can be used.quantity
- The number to scale the process to.public java.util.List<Proc> listProcesses(java.lang.String appName)
appName
- App name. See listApps()
for a list of apps that can be used.
public java.util.List<Release> listReleases(java.lang.String appName)
appName
- App name. See listApps()
for a list of apps that can be used.
public java.lang.String rollback(java.lang.String appName, java.lang.String releaseName)
appName
- App name. See listApps()
for a list of apps that can be used.releaseName
- Release name. See listReleases(java.lang.String)
for a list of the app's releases.
public Release getReleaseInfo(java.lang.String appName, java.lang.String releaseName)
appName
- App name. See listApps()
for a list of apps that can be used.releaseName
- Release name. See listReleases(java.lang.String)
for a list of the app's releases.
public java.util.List<Collaborator> listCollaborators(java.lang.String appName)
appName
- App name. See listApps()
for a list of apps that can be used.
public void addCollaborator(java.lang.String appName, java.lang.String collaborator)
appName
- App name. See listApps()
for a list of apps that can be used.collaborator
- Username of the collaborator to add. This is usually in the form of "[email protected]".public void removeCollaborator(java.lang.String appName, java.lang.String collaborator)
appName
- App name. See listApps()
for a list of apps that can be used.collaborator
- See listCollaborators(java.lang.String)
for collaborators that can be removed from the app.public void addConfig(java.lang.String appName, java.util.Map<java.lang.String,java.lang.String> config)
appName
- App name. See listApps()
for a list of apps that can be used.config
- Key/Value pairs of environment variables.public java.util.Map<java.lang.String,java.lang.String> listConfig(java.lang.String appName)
appName
- App name. See listApps()
for a list of apps that can be used.
public java.util.Map<java.lang.String,java.lang.String> removeConfig(java.lang.String appName, java.lang.String configVarName)
appName
- App name. See listApps()
for a list of apps that can be used.configVarName
- Name of the environment variable. See listConfig(java.lang.String)
for variables that can be removed
public void transferApp(java.lang.String appName, java.lang.String to)
appName
- App name. See listApps()
for a list of apps that can be used.to
- Username of the person to transfer the app to. This is usually in the form of "[email protected]".public LogStreamResponse getLogs(java.lang.String appName)
appName
- App name. See listApps()
for a list of apps that can be used.
public LogStreamResponse getLogs(Log.LogRequestBuilder logRequest)
logRequest
- See LogRequestBuilder
public void run(java.lang.String appName, java.lang.String command)
appName
- App name. See listApps()
for a list of apps that can be used.command
- Bash command to run inside a dyno. See One-off processes.public RunResponse runAttached(java.lang.String appName, java.lang.String command)
RunResponse.attach()
for more information on running an attached process.
appName
- App name. See listApps()
for a list of apps that can be used.command
- Bash command to run inside a dyno. See One-off processes.
public void restart(java.lang.String appName)
appName
- See listApps()
for a list of apps that can be used.public void restartProcessByType(java.lang.String appName, java.lang.String type)
appName
- See listApps()
for a list of apps that can be used.type
- The type of process to restart. e.g. web, worker, etc...public void restartProcessByName(java.lang.String appName, java.lang.String procName)
appName
- See listApps()
for a list of apps that can be used.procName
- Name of process to restart.public java.lang.String migrateStack(java.lang.String appName, Heroku.Stack migrateTo)
com.heroku.api.Heroku.Stack.Bamboo187
to com.heroku.api.Heroku.Stack.Bamboo192
, but not to com.heroku.api.Heroku.Stack.Cedar
.
appName
- See listApps()
for a list of apps that can be used.migrateTo
- Stack to migrate the app to.
public java.util.List<StackInfo> listAppStacks(java.lang.String appName)
appName
- See listApps()
for a list of apps that can be used.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |