Client Reference

deis apps

DeisClient.apps_create(args)[source]

Creates a new application.

  • if no <id> is provided, one will be generated automatically.

Usage: deis apps:create [<id>] [options]

Arguments:
<id>
a uniquely identifiable name for the application. No other app can already exist with this name.
Options:
--no-remote do not create a deis git remote.
-b –buildpack BUILDPACK
a buildpack url to use for this app
-r –remote REMOTE
name of remote to create. [default: deis]
DeisClient.apps_list(args)[source]

Lists applications visible to the current user.

Usage: deis apps:list

DeisClient.apps_info(args)[source]

Prints info about the current application.

Usage: deis apps:info [options]

Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.apps_open(args)[source]

Opens a URL to the application in the default browser.

Usage: deis apps:open [options]

Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.apps_logs(args)[source]

Retrieves the most recent log events.

Usage: deis apps:logs [options]

Options:
-a –app=<app>
the uniquely identifiable name for the application.
-n –lines=<lines>
the number of lines to display
DeisClient.apps_run(args)[source]

Runs a command inside an ephemeral app container. Default environment is /bin/bash.

Usage: deis apps:run [options] [–] <command>...

Arguments:
<command>
the shell command to run inside the container.
Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.apps_destroy(args)[source]

Destroys an application.

Usage: deis apps:destroy [options]

Options:
-a –app=<app>
the uniquely identifiable name for the application.
--confirm=<app>
 skips the prompt for the application name. <app> is the uniquely identifiable name for the application.

deis auth

DeisClient.auth_register(args)[source]

Registers a new user with a Deis controller.

Usage: deis auth:register <controller> [options]

Arguments:
<controller>
fully-qualified controller URI, e.g. http://deis.local3.deisapp.com/
Options:
--username=<username>
 provide a username for the new account.
--password=<password>
 provide a password for the new account.
--email=<email>
 provide an email address.
--ssl-verify=false
 disables SSL certificate verification for API requests
DeisClient.auth_cancel(args)[source]

Cancels and removes the current account.

Usage: deis auth:cancel [options]

Options:
--username=<username>
 provide a username for the account.
--password=<password>
 provide a password for the account.
--yes force “yes” when prompted.
DeisClient.auth_login(args)[source]

Logs in by authenticating against a controller.

Usage: deis auth:login <controller> [options]

Arguments:
<controller>
a fully-qualified controller URI, e.g. http://deis.local3.deisapp.com/.
Options:
--username=<username>
 provide a username for the account.
--password=<password>
 provide a password for the account.
--ssl-verify=false
 disables SSL certificate verification for API requests
DeisClient.auth_logout(args)[source]

Logs out from a controller and clears the user session.

Usage: deis auth:logout

deis builds

DeisClient.builds_list(args)[source]

Lists build history for an application.

Usage: deis builds:list [options]

Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.builds_create(args)[source]

Creates a new build of an application. Imports an <image> and deploys it to Deis as a new release. If a Procfile is present in the current directory, it will be used as the default process types for this application.

Usage: deis builds:create <image> [options]

Arguments:
<image>
A fully-qualified docker image, either from Docker Hub (e.g. deis/example-go:latest) or from an in-house registry (e.g. myregistry.example.com:5000/example-go:latest). This image must include the tag.
Options:
-a –app=<app>
The uniquely identifiable name for the application.
-p –procfile=<procfile>
A YAML string used to supply a Procfile to the application.

deis config

DeisClient.config_list(args)[source]

Lists environment variables for an application.

Usage: deis config:list [options]

Options:
--oneline print output on one line.
-a –app=<app>
the uniquely identifiable name of the application.
DeisClient.config_set(args)[source]

Sets environment variables for an application.

Usage: deis config:set <var>=<value> [<var>=<value>...] [options]

Arguments:
<var>
the uniquely identifiable name for the environment variable.
<value>
the value of said environment variable.
Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.config_unset(args)[source]

Unsets an environment variable for an application.

Usage: deis config:unset <key>... [options]

Arguments:
<key>
the variable to remove from the application’s environment.
Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.config_pull(args)[source]

Extract all environment variables from an application for local use.

Your environment will be stored locally in a file named .env. This file can be read by foreman to load the local environment for your app.

Usage: deis config:pull [options]

Options:
-a –app=<app>
The application that you wish to pull from
-i –interactive
Prompts for each value to be overwritten
-o –overwrite
Allows you to have the pull overwrite keys in .env

deis domains

DeisClient.domains_add(args)[source]

Binds a domain to an application.

Usage: deis domains:add <domain> [options]

Arguments:
<domain>
the domain name to be bound to the application, such as domain.deisapp.com.
Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.domains_list(args)[source]

Lists domains bound to an application.

Usage: deis domains:list [options]

Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.domains_remove(args)[source]

Unbinds a domain for an application.

Usage: deis domains:remove <domain> [options]

Arguments:
<domain>
the domain name to be removed from the application.
Options:
-a –app=<app>
the uniquely identifiable name for the application.

deis keys

DeisClient.keys_list(args)[source]

Lists SSH keys for the logged in user.

Usage: deis keys:list

DeisClient.keys_add(args)[source]

Adds SSH keys for the logged in user.

Usage: deis keys:add [<key>]

Arguments:
<key>
a local file path to an SSH public key used to push application code.
DeisClient.keys_remove(args)[source]

Removes an SSH key for the logged in user.

Usage: deis keys:remove <key>

Arguments:
<key>
the SSH public key to revoke source code push access.

deis limits

DeisClient.limits_list(args)[source]

Lists resource limits for an application.

Usage: deis limits:list [options]

Options:
-a –app=<app>
the uniquely identifiable name of the application.
DeisClient.limits_set(args)[source]

Sets resource limits for an application.

A resource limit is a finite resource within a container which we can apply restrictions to either through the scheduler or through the Docker API. This limit is applied to each individual container, so setting a memory limit of 1G for an application means that each container gets 1G of memory.

Usage: deis limits:set [options] <type>=<limit>...

Arguments:
<type>
the process type as defined in your Procfile, such as ‘web’ or ‘worker’. Note that Dockerfile apps have a default ‘cmd’ process type.
<limit>

The limit to apply to the process type. By default, this is set to –memory. You can only set one type of limit per call.

With –memory, units are represented in Bytes (B), Kilobytes (K), Megabytes (M), or Gigabytes (G). For example, deis limit:set cmd=1G will restrict all “cmd” processes to a maximum of 1 Gigabyte of memory each.

With –cpu, units are represented in the number of cpu shares. For example, deis limit:set –cpu cmd=1024 will restrict all “cmd” processes to a maximum of 1024 cpu shares.

Options:
-a –app=<app>
the uniquely identifiable name for the application.
-c –cpu
limits cpu shares.
-m –memory
limits memory. [default: true]
DeisClient.limits_unset(args)[source]

Unsets resource limits for an application.

Usage: deis limits:unset [options] [–memory | –cpu] <type>...

Arguments:
<type>
the process type as defined in your Procfile, such as ‘web’ or ‘worker’. Note that Dockerfile apps have a default ‘cmd’ process type.
Options:
-a –app=<app>
the uniquely identifiable name for the application.
-c –cpu
limits cpu shares.
-m –memory
limits memory. [default: true]

deis perms

DeisClient.perms_list(args)[source]

Lists all users with permission to use an app, or lists all users with system administrator privileges.

Usage: deis perms:list [-a –app=<app>|–admin]

Options:
-a –app=<app>
lists all users with permission to <app>. <app> is the uniquely identifiable name for the application.
--admin lists all users with system administrator privileges.
DeisClient.perms_create(args)[source]

Gives another user permission to use an app, or gives another user system administrator privileges.

Usage: deis perms:create <username> [-a –app=<app>|–admin]

Arguments:
<username>
the name of the new user.
Options:
-a –app=<app>
grants <username> permission to use <app>. <app> is the uniquely identifiable name for the application.
--admin grants <username> system administrator privileges.
DeisClient.perms_delete(args)[source]

Revokes another user’s permission to use an app, or revokes another user’s system administrator privileges.

Usage: deis perms:delete <username> [-a –app=<app>|–admin]

Arguments:
<username>
the name of the user.
Options:
-a –app=<app>
revokes <username> permission to use <app>. <app> is the uniquely identifiable name for the application.
--admin revokes <username> system administrator privileges.

deis pull

See deis_builds.

deis ps

DeisClient.ps_list(args, app=None)[source]

Lists processes servicing an application.

Usage: deis ps:list [options]

Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.ps_scale(args)[source]

Scales an application’s processes by type.

Usage: deis ps:scale <type>=<num>... [options]

Arguments:
<type>
the process name as defined in your Procfile, such as ‘web’ or ‘worker’. Note that Dockerfile apps have a default ‘cmd’ process type.
<num>
the number of processes.
Options:
-a –app=<app>
the uniquely identifiable name for the application.

deis releases

DeisClient.releases_list(args)[source]

Lists release history for an application.

Usage: deis releases:list [options]

Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.releases_info(args)[source]

Prints info about a particular release.

Usage: deis releases:info <version> [options]

Arguments:
<version>
the release of the application, such as ‘v1’.
Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.releases_rollback(args)[source]

Rolls back to a previous application release.

Usage: deis releases:rollback [<version>] [options]

Arguments:
<version>
the release of the application, such as ‘v1’.
Options:
-a –app=<app>
the uniquely identifiable name of the application.

deis tags

DeisClient.tags_list(args)[source]

Lists tags for an application.

Usage: deis tags:list [options]

Options:
-a –app=<app>
the uniquely identifiable name of the application.
DeisClient.tags_set(args)[source]

Sets tags for an application.

A tag is a key/value pair used to tag an application’s containers and is passed to the scheduler. This is often used to restrict workloads to specific hosts matching the scheduler-configured metadata.

Usage: deis tags:set [options] <key>=<value>...

Arguments:
<key> the tag key, for example: “environ” or “rack” <value> the tag value, for example: “prod” or “1”
Options:
-a –app=<app>
the uniquely identifiable name for the application.
DeisClient.tags_unset(args)[source]

Unsets tags for an application.

Usage: deis tags:unset [options] <key>...

Arguments:
<key> the tag key to unset, for example: “environ” or “rack”
Options:
-a –app=<app>
the uniquely identifiable name for the application.