11.2. Create an Application
Create a new application. Note that if the specified domain does not exist when attempting to create an application, a domain is automatically created. See Section 7.1, “Create a Domain” for more information on how to create a domain.
| Method | URL Structure |
|---|---|
POST | /broker/rest/domain/:domain_name/applications |
| Name | Description | Required | Default |
|---|---|---|---|
name | Name of application | Yes | |
cartridges | Add cartridges to the application by specifying an array of one or more cartridges, using the name or unique ID | No | |
template | UUID of application template | No | |
scale | Mark application as scalable | No | false |
gear_size | Cartridge gear size | No | small |
initial_git_url | URL to Git source code repository that is the basis for this application | No | |
cartridges[][name] | Name of cartridge | No | |
cartridges[][gear_size] | Gear size of each individual cartridge. If gear_size is not specified, default gear size is used depending on user input | No | |
cartridges[][url] | URL to a downloadable cartridge; multiple URLs can be specified | No | |
environment_variables | Add or update application environment variables | No | |
region | Restrict the application to the specified region | No |
Note
{
"name": "myapp",
"cartridges": "ruby-2.0",
"scale": "true",
"gear_size": "small",
"initial_git_url": ""
}
$ curl -X POST https://openshift.redhat.com/broker/rest/domain/mydomain/applications --user user@example.com:password --data-urlencode name=myapp --data-urlencode cartridges=ruby-2.0 --data-urlencode scale=true --data-urlencode gear_size=small
gear_size parameter is applied to all cartridges that are added to the specified application. However, the following cURL command example shows how to apply the gear_size parameter to individual cartridges when adding multiple cartridges to an application.
$ curl -X POST https://openshift.redhat.com/broker/rest/domain/mydomain/applications --user user@example.com:password --data-urlencode name=mysecondapp --data-urlencode cartridges=[][name]=jbosseap-6 --data-urlencode cartridges[][gear_size]=medium --data-urlencode cartridges[][name]=mysql-5.5 --data-urlencode cartridges[][gear_size]=small
The API returns information about the newly created application with related resource links which have been left out for brevity. See Chapter 11, Applications for more information on all application parameters.
{
"api_version": 1.6,
"data": {
"aliases": [
],
"app_url": "http://myapp-mydomain.rhcloud.com/",
"build_job_url": null,
"building_app": null,
"building_with": null,
"creation_time": "2013-08-21T01:58:41Z",
"domain_id": "mydomain",
"embedded": {
"haproxy-1.4": {
}
},
"framework": "ruby-2.0",
"gear_count": 1,
"gear_profile": "small",
"git_url": "ssh://534253991015616165707776@myapp-mydomain.rhcloud.com/~/git/myapp.git/",
"health_check_path": "health",
"id": "534253991015616165707776",
"initial_git_url": null,
"members": [
{
"explicit_role": null,
"from": [
{
"type": "domain",
"role": "admin"
}
],
"id": "5213a826e499b22f15000001",
"name": "user@example.com",
"owner": true,
"role": "admin",
"type": "user"
}
],
"name": "myapp",
"scalable": true,
"ssh_url": "ssh://534253991015616165707776@myapp-mydomain.rhcloud.com"
},
"messages": [
{
"exit_code": 0,
"field": null,
"severity": "info",
"text": "Application myapp was created."
},
{
"exit_code": 0,
"field": null,
"severity": "warning",
"text": "HAProxy instance is started\n"
}
],
"status": "created",
"supported_api_versions": [
1.0,
1.1,
1.2,
1.3,
1.4,
1.5,
1.6,
1.7
],
"type": "application",
"version": "1.7"
}
Note

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.