Search

11.2. Create an Application

download PDF
Description

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 and URL Structure

Method URL Structure
POST /broker/rest/domain/:domain_name/applications

Request Parameters

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

Valid cartridge options may be different based on your OpenShift Enterprise deployment.

See Section A.6, “Applications” for more information about the valid options applicable to these request parameters.
Request

{
  "name": "myapp",
  "cartridges": "ruby-2.0",
  "scale": "true",
  "gear_size": "small",
  "initial_git_url": ""
}

cURL Command Example

$ 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

In the previous cURL command example, the 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
JSON Response

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

An application may not be immediately available after it is created. Therefore, ensure the application DNS resolves correctly before executing other REST API calls to that application.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.