Menu
AWS OpsWorks
API Reference (API Version 2013-02-18)

CreateApp

Creates an app for a specified stack. For more information, see Creating Apps.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

Request Syntax

{
   "AppSource": { 
      "Password": "string",
      "Revision": "string",
      "SshKey": "string",
      "Type": "string",
      "Url": "string",
      "Username": "string"
   },
   "Attributes": { 
      "string" : "string" 
   },
   "DataSources": [ 
      { 
         "Arn": "string",
         "DatabaseName": "string",
         "Type": "string"
      }
   ],
   "Description": "string",
   "Domains": [ "string" ],
   "EnableSsl": boolean,
   "Environment": [ 
      { 
         "Key": "string",
         "Secure": boolean,
         "Value": "string"
      }
   ],
   "Name": "string",
   "Shortname": "string",
   "SslConfiguration": { 
      "Certificate": "string",
      "Chain": "string",
      "PrivateKey": "string"
   },
   "StackId": "string",
   "Type": "string"
}

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

AppSource

A Source object that specifies the app repository.

Type: Source object

Required: No

Attributes

One or more user-defined key/value pairs to be added to the stack attributes.

Type: String to string map

Valid Keys: DocumentRoot | RailsEnv | AutoBundleOnDeploy | AwsFlowRubySettings

Required: No

DataSources

The app's data source.

Type: Array of DataSource objects

Required: No

Description

A description of the app.

Type: String

Required: No

Domains

The app virtual host settings, with multiple domains separated by commas. For example: 'www.example.com, example.com'

Type: Array of strings

Required: No

EnableSsl

Whether to enable SSL for the app.

Type: Boolean

Required: No

Environment

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instance. For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, "Environment: is too large (maximum is 10KB)."

Note

This parameter is supported only by Chef 11.10 stacks. If you have specified one or more environment variables, you cannot modify the stack's Chef version.

Type: Array of EnvironmentVariable objects

Required: No

Name

The app name.

Type: String

Required: Yes

Shortname

The app's short name.

Type: String

Required: No

SslConfiguration

An SslConfiguration object with the SSL configuration.

Type: SslConfiguration object

Required: No

StackId

The stack ID.

Type: String

Required: Yes

Type

The app type. Each supported type is associated with a particular layer. For example, PHP applications are associated with a PHP layer. AWS OpsWorks Stacks deploys an application to those instances that are members of the corresponding layer. If your app isn't one of the standard types, or you prefer to implement your own Deploy recipes, specify other.

Type: String

Valid Values: aws-flow-ruby | java | rails | php | nodejs | static | other

Required: Yes

Response Syntax

{
   "AppId": "string"
}

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

AppId

The app ID.

Type: String

Errors

For information about the errors that are common to all actions, see Common Errors.

ResourceNotFoundException

Indicates that a resource was not found.

HTTP Status Code: 400

ValidationException

Indicates that a request was not valid.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: