OpsWorks / Client / create_app
create_app#
- OpsWorks.Client.create_app(**kwargs)#
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.
See also: AWS API Documentation
Request Syntax
response = client.create_app( StackId='string', Shortname='string', Name='string', Description='string', DataSources=[ { 'Type': 'string', 'Arn': 'string', 'DatabaseName': 'string' }, ], Type='aws-flow-ruby'|'java'|'rails'|'php'|'nodejs'|'static'|'other', AppSource={ 'Type': 'git'|'svn'|'archive'|'s3', 'Url': 'string', 'Username': 'string', 'Password': 'string', 'SshKey': 'string', 'Revision': 'string' }, Domains=[ 'string', ], EnableSsl=True|False, SslConfiguration={ 'Certificate': 'string', 'PrivateKey': 'string', 'Chain': 'string' }, Attributes={ 'string': 'string' }, Environment=[ { 'Key': 'string', 'Value': 'string', 'Secure': True|False }, ] )
- Parameters:
StackId (string) –
[REQUIRED]
The stack ID.
Shortname (string) – The app’s short name.
Name (string) –
[REQUIRED]
The app name.
Description (string) – A description of the app.
DataSources (list) –
The app’s data source.
(dict) –
Describes an app’s data source.
Type (string) –
The data source’s type,
AutoSelectOpsworksMysqlInstance
,OpsworksMysqlInstance
,RdsDbInstance
, orNone
.Arn (string) –
The data source’s ARN.
DatabaseName (string) –
The database name.
Type (string) –
[REQUIRED]
The app type. Each supported type is associated with a particular layer. For example, PHP applications are associated with a PHP layer. 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
.AppSource (dict) –
A
Source
object that specifies the app repository.Type (string) –
The repository type.
Url (string) –
The source URL. The following is an example of an Amazon S3 source URL:
https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz
.Username (string) –
This parameter depends on the repository type.
For Amazon S3 bundles, set
Username
to the appropriate IAM access key ID.For HTTP bundles, Git repositories, and Subversion repositories, set
Username
to the user name.
Password (string) –
When included in a request, the parameter depends on the repository type.
For Amazon S3 bundles, set
Password
to the appropriate IAM secret access key.For HTTP bundles and Subversion repositories, set
Password
to the password.
For more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.
In responses, OpsWorks Stacks returns
*****FILTERED*****
instead of the actual value.SshKey (string) –
In requests, the repository’s SSH key.
In responses, OpsWorks Stacks returns
*****FILTERED*****
instead of the actual value.Revision (string) –
The application’s version. OpsWorks Stacks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.
Domains (list) –
The app virtual host settings, with multiple domains separated by commas. For example:
'www.example.com, example.com'
(string) –
EnableSsl (boolean) – Whether to enable SSL for the app.
SslConfiguration (dict) –
An
SslConfiguration
object with the SSL configuration.Certificate (string) – [REQUIRED]
The contents of the certificate’s domain.crt file.
PrivateKey (string) – [REQUIRED]
The private key; the contents of the certificate’s domain.kex file.
Chain (string) –
Optional. Can be used to specify an intermediate certificate authority key or client authentication.
Attributes (dict) –
One or more user-defined key/value pairs to be added to the stack attributes.
(string) –
(string) –
Environment (list) –
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 20 KB. 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 20KB).”
Note
If you have specified one or more environment variables, you cannot modify the stack’s Chef version.
(dict) –
Represents an app’s environment variable.
Key (string) – [REQUIRED]
(Required) The environment variable’s name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.
Value (string) – [REQUIRED]
(Optional) The environment variable’s value, which can be left empty. If you specify a value, it can contain up to 256 characters, which must all be printable.
Secure (boolean) –
(Optional) Whether the variable’s value is returned by the DescribeApps action. To hide an environment variable’s value, set
Secure
totrue
.DescribeApps
returns*****FILTERED*****
instead of the actual value. The default value forSecure
isfalse
.
- Return type:
dict
- Returns:
Response Syntax
{ 'AppId': 'string' }
Response Structure
(dict) –
Contains the response to a
CreateApp
request.AppId (string) –
The app ID.
Exceptions
OpsWorks.Client.exceptions.ValidationException
OpsWorks.Client.exceptions.ResourceNotFoundException