Creating a Docker App (experimental)
POST /v2/apps/
Request
Route
POST /v2/apps
Body
Name |
Description |
Default |
Valid Values |
Example Values |
name
|
The name of the app.
|
|
|
|
memory
|
The amount of memory each instance should have. In megabytes.
|
|
|
|
instances
|
The number of instances of the app to run. To ensure optimal availability, ensure there are at least 2 instances.
|
|
|
|
disk_quota
|
The maximum amount of disk available to an instance of an app. In megabytes.
|
|
|
|
space_guid
|
The guid of the associated space.
|
|
|
- guid-fe879a18-55e0-4691-9b12-de51709831ed
|
stack_guid
|
The guid of the associated stack.
|
Uses the default system stack.
|
|
- guid-e9666a1b-7ffc-4c85-88b9-765c08dc044d
|
state
|
The current desired state of the app. One of STOPPED or STARTED.
|
STOPPED
|
|
|
detected_start_command
|
The command detected by the buildpack during staging.
|
|
|
|
command
|
The command to start an app after it is staged, maximum length: 4096 (e.g. 'rails s -p $PORT' or 'java com.org.Server $PORT').
|
|
|
|
buildpack
|
Buildpack to build the app. 3 options: a) Blank means autodetection; b) A Git Url pointing to a buildpack; c) Name of an installed buildpack.
|
|
|
- https://github.com/virtualstaticvoid/heroku-buildpack-r.git
- an_example_installed_buildpack
|
health_check_type
|
Type of health check to perform. 'none' is deprecated and an alias to 'process'.
|
port
|
|
|
health_check_timeout
|
Timeout for health checking of an staged app when starting up
|
|
|
|
diego
|
Use diego to stage and to run when available
|
false
|
|
|
enable_ssh
|
Enable SSHing into the app. Supported for Diego only.
|
false if SSH is disabled globally or on the space, true if enabled for both
|
|
|
docker_image
|
Name of the Docker image containing the app
|
|
|
- cloudfoundry/helloworld
- registry.example.com:5000/user/repository/tag
|
docker_credentials_json
|
Docker credentials for pulling docker image.
|
{}
|
|
- #<RspecApiDocumentation::Views::HtmlExample:0x00000006c02a28>
|
environment_json
|
Key/value pairs of all the environment variables to run in your app. Does not include any system or service variables.
|
|
|
|
production
|
Deprecated.
|
true
|
|
|
console
|
Open the console port for the app (at $CONSOLE_PORT).
|
false
|
|
|
debug
|
Open the debug port for the app (at $DEBUG_PORT).
|
false
|
|
|
staging_failed_reason
|
Reason for application staging failures
|
|
|
- StagingError
- StagingTimeExpired
|
staging_failed_description
|
Detailed description for the staging_failed_reason
|
|
|
- An app was not successfully detected by any available buildpack
|
ports
|
Ports on which application may listen. Overwrites previously configured ports. Ports must be in range 1024-65535. Supported for Diego only.
|
|
|
|
{
"name": "docker_app",
"space_guid": "7da39ef8-ac66-403c-9aae-a26c165dfd12",
"docker_image": "cloudfoundry/hello",
"diego": true
}
Headers
cURL
curl "https://api.[your-domain.com]/v2/apps" -d '{
"name": "docker_app",
"space_guid": "7da39ef8-ac66-403c-9aae-a26c165dfd12",
"docker_image": "cloudfoundry/hello",
"diego": true
}' -X POST \
-H "Authorization: bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoidWFhLWlkLTE1MiIsImVtYWlsIjoiZW1haWwtMTIwQHNvbWVkb21haW4uY29tIiwic2NvcGUiOlsiY2xvdWRfY29udHJvbGxlci5hZG1pbiJdLCJhdWQiOlsiY2xvdWRfY29udHJvbGxlciJdLCJleHAiOjE0NjE5NTgzOTl9.ZTzmdJNUa429Drb3IcGFMYAB2THeVRv6YQtjc8GhoRA" \
-H "Host: example.org" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Cookie: "
Response
Status
201 Created
Body
{
"metadata": {
"guid": "8a5bdd5b-6f23-428f-9871-61aad652bfee",
"url": "/v2/apps/8a5bdd5b-6f23-428f-9871-61aad652bfee",
"created_at": "2016-04-22T19:33:18Z",
"updated_at": null
},
"entity": {
"name": "docker_app",
"production": false,
"space_guid": "7da39ef8-ac66-403c-9aae-a26c165dfd12",
"stack_guid": "4f2ab158-fefc-4152-af18-fb7feff485a4",
"buildpack": null,
"detected_buildpack": null,
"environment_json": {
},
"memory": 1024,
"instances": 1,
"disk_quota": 1024,
"state": "STOPPED",
"version": "3321e9c7-c9d8-4388-abab-1f9b69ff0c81",
"command": null,
"console": false,
"debug": null,
"staging_task_id": null,
"package_state": "PENDING",
"health_check_type": "port",
"health_check_timeout": null,
"staging_failed_reason": null,
"staging_failed_description": null,
"diego": true,
"docker_image": "cloudfoundry/hello:latest",
"package_updated_at": "2016-04-22T19:33:19Z",
"detected_start_command": "",
"enable_ssh": true,
"docker_credentials_json": {
"redacted_message": "[PRIVATE DATA HIDDEN]"
},
"ports": [
],
"space_url": "/v2/spaces/7da39ef8-ac66-403c-9aae-a26c165dfd12",
"stack_url": "/v2/stacks/4f2ab158-fefc-4152-af18-fb7feff485a4",
"routes_url": "/v2/apps/8a5bdd5b-6f23-428f-9871-61aad652bfee/routes",
"events_url": "/v2/apps/8a5bdd5b-6f23-428f-9871-61aad652bfee/events",
"service_bindings_url": "/v2/apps/8a5bdd5b-6f23-428f-9871-61aad652bfee/service_bindings",
"route_mappings_url": "/v2/apps/8a5bdd5b-6f23-428f-9871-61aad652bfee/route_mappings"
}
}
Headers
Audit Records Created By The Request
Audit Record: audit.app.create
Attribute Name |
Value |
id
|
12
|
guid
|
482b6a1c-cca5-4844-939b-6b2ecfe1b1d7
|
created_at
|
2016-04-22 19:33:18 UTC
|
updated_at
|
|
timestamp
|
2016-04-22 19:33:18 UTC
|
type
|
audit.app.create
|
actor
|
uaa-id-152
|
actor_type
|
user
|
actee
|
8a5bdd5b-6f23-428f-9871-61aad652bfee
|
actee_type
|
app
|
metadata
|
{
"request": {
"name": "docker_app",
"space_guid": "7da39ef8-ac66-403c-9aae-a26c165dfd12",
"docker_image": "cloudfoundry/hello",
"diego": true,
"console": false,
"docker_credentials_json": "PRIVATE DATA HIDDEN",
"environment_json": "PRIVATE DATA HIDDEN",
"health_check_type": "port",
"instances": 1,
"production": false,
"state": "STOPPED"
}
}
|
space_id
|
|
organization_guid
|
79965f6a-5cf2-4e43-a992-b6e54c1bca69
|
space_guid
|
7da39ef8-ac66-403c-9aae-a26c165dfd12
|
actor_name
|
email-120@somedomain.com
|
actee_name
|
docker_app
|