Amplify / Client / create_app
create_app#
- Amplify.Client.create_app(**kwargs)#
Creates a new Amplify app.
See also: AWS API Documentation
Request Syntax
response = client.create_app( name='string', description='string', repository='string', platform='WEB'|'WEB_DYNAMIC'|'WEB_COMPUTE', iamServiceRoleArn='string', oauthToken='string', accessToken='string', environmentVariables={ 'string': 'string' }, enableBranchAutoBuild=True|False, enableBranchAutoDeletion=True|False, enableBasicAuth=True|False, basicAuthCredentials='string', customRules=[ { 'source': 'string', 'target': 'string', 'status': 'string', 'condition': 'string' }, ], tags={ 'string': 'string' }, buildSpec='string', customHeaders='string', enableAutoBranchCreation=True|False, autoBranchCreationPatterns=[ 'string', ], autoBranchCreationConfig={ 'stage': 'PRODUCTION'|'BETA'|'DEVELOPMENT'|'EXPERIMENTAL'|'PULL_REQUEST', 'framework': 'string', 'enableAutoBuild': True|False, 'environmentVariables': { 'string': 'string' }, 'basicAuthCredentials': 'string', 'enableBasicAuth': True|False, 'enablePerformanceMode': True|False, 'buildSpec': 'string', 'enablePullRequestPreview': True|False, 'pullRequestEnvironmentName': 'string' }, cacheConfig={ 'type': 'AMPLIFY_MANAGED'|'AMPLIFY_MANAGED_NO_COOKIES' } )
- Parameters:
name (string) –
[REQUIRED]
The name of the Amplify app.
description (string) – The description of the Amplify app.
repository (string) – The Git repository for the Amplify app.
platform (string) –
The platform for the Amplify app. For a static app, set the platform type to
WEB
. For a dynamic server-side rendered (SSR) app, set the platform type toWEB_COMPUTE
. For an app requiring Amplify Hosting’s original SSR support only, set the platform type toWEB_DYNAMIC
.If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to
WEB_COMPUTE
and set the artifactsbaseDirectory
to.next
in the application’s build settings. For an example of the build specification settings, see Amplify build settings for a Next.js 14 SSG application in the Amplify Hosting User Guide.iamServiceRoleArn (string) – The AWS Identity and Access Management (IAM) service role for an Amplify app.
oauthToken (string) –
The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.
Use
oauthToken
for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, useaccessToken
.You must specify either
oauthToken
oraccessToken
when you create a new app.Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see Migrating an existing OAuth app to the Amplify GitHub App in the Amplify User Guide .
accessToken (string) –
The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.
Use
accessToken
for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, useoauthToken
.You must specify either
accessToken
oroauthToken
when you create a new app.Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see Migrating an existing OAuth app to the Amplify GitHub App in the Amplify User Guide .
environmentVariables (dict) –
The environment variables map for an Amplify app.
For a list of the environment variables that are accessible to Amplify by default, see Amplify Environment variables in the Amplify Hosting User Guide.
(string) –
(string) –
enableBranchAutoBuild (boolean) – Enables the auto building of branches for an Amplify app.
enableBranchAutoDeletion (boolean) – Automatically disconnects a branch in the Amplify console when you delete a branch from your Git repository.
enableBasicAuth (boolean) – Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
basicAuthCredentials (string) – The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format
user:password
.customRules (list) –
The custom rewrite and redirect rules for an Amplify app.
(dict) –
Describes a custom rewrite or redirect rule.
source (string) – [REQUIRED]
The source pattern for a URL rewrite or redirect rule.
target (string) – [REQUIRED]
The target pattern for a URL rewrite or redirect rule.
status (string) –
The status code for a URL rewrite or redirect rule.
200
Represents a 200 rewrite rule.
301
Represents a 301 (moved permanently) redirect rule. This and all future requests should be directed to the target URL.
302
Represents a 302 temporary redirect rule.
404
Represents a 404 redirect rule.
404-200
Represents a 404 rewrite rule.
condition (string) –
The condition for a URL rewrite or redirect rule, such as a country code.
tags (dict) –
The tag for an Amplify app.
(string) –
(string) –
buildSpec (string) – The build specification (build spec) for an Amplify app.
customHeaders (string) – The custom HTTP headers for an Amplify app.
enableAutoBranchCreation (boolean) – Enables automated branch creation for an Amplify app.
autoBranchCreationPatterns (list) –
The automated branch creation glob patterns for an Amplify app.
(string) –
autoBranchCreationConfig (dict) –
The automated branch creation configuration for an Amplify app.
stage (string) –
Describes the current stage for the autocreated branch.
framework (string) –
The framework for the autocreated branch.
enableAutoBuild (boolean) –
Enables auto building for the autocreated branch.
environmentVariables (dict) –
The environment variables for the autocreated branch.
(string) –
(string) –
basicAuthCredentials (string) –
The basic authorization credentials for the autocreated branch. You must base64-encode the authorization credentials and provide them in the format
user:password
.enableBasicAuth (boolean) –
Enables basic authorization for the autocreated branch.
enablePerformanceMode (boolean) –
Enables performance mode for the branch.
Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.
buildSpec (string) –
The build specification (build spec) for the autocreated branch.
enablePullRequestPreview (boolean) –
Enables pull request previews for the autocreated branch.
pullRequestEnvironmentName (string) –
The Amplify environment name for the pull request.
cacheConfig (dict) –
The cache configuration for the Amplify app.
type (string) – [REQUIRED]
The type of cache configuration to use for an Amplify app.
The
AMPLIFY_MANAGED
cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting.The
AMPLIFY_MANAGED_NO_COOKIES
cache configuration type is the same asAMPLIFY_MANAGED
, except that it excludes all cookies from the cache key.
- Return type:
dict
- Returns:
Response Syntax
{ 'app': { 'appId': 'string', 'appArn': 'string', 'name': 'string', 'tags': { 'string': 'string' }, 'description': 'string', 'repository': 'string', 'platform': 'WEB'|'WEB_DYNAMIC'|'WEB_COMPUTE', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'iamServiceRoleArn': 'string', 'environmentVariables': { 'string': 'string' }, 'defaultDomain': 'string', 'enableBranchAutoBuild': True|False, 'enableBranchAutoDeletion': True|False, 'enableBasicAuth': True|False, 'basicAuthCredentials': 'string', 'customRules': [ { 'source': 'string', 'target': 'string', 'status': 'string', 'condition': 'string' }, ], 'productionBranch': { 'lastDeployTime': datetime(2015, 1, 1), 'status': 'string', 'thumbnailUrl': 'string', 'branchName': 'string' }, 'buildSpec': 'string', 'customHeaders': 'string', 'enableAutoBranchCreation': True|False, 'autoBranchCreationPatterns': [ 'string', ], 'autoBranchCreationConfig': { 'stage': 'PRODUCTION'|'BETA'|'DEVELOPMENT'|'EXPERIMENTAL'|'PULL_REQUEST', 'framework': 'string', 'enableAutoBuild': True|False, 'environmentVariables': { 'string': 'string' }, 'basicAuthCredentials': 'string', 'enableBasicAuth': True|False, 'enablePerformanceMode': True|False, 'buildSpec': 'string', 'enablePullRequestPreview': True|False, 'pullRequestEnvironmentName': 'string' }, 'repositoryCloneMethod': 'SSH'|'TOKEN'|'SIGV4', 'cacheConfig': { 'type': 'AMPLIFY_MANAGED'|'AMPLIFY_MANAGED_NO_COOKIES' }, 'webhookCreateTime': datetime(2015, 1, 1), 'wafConfiguration': { 'webAclArn': 'string', 'wafStatus': 'ASSOCIATING'|'ASSOCIATION_FAILED'|'ASSOCIATION_SUCCESS'|'DISASSOCIATING'|'DISASSOCIATION_FAILED', 'statusReason': 'string' } } }
Response Structure
(dict) –
app (dict) –
Represents the different branches of a repository for building, deploying, and hosting an Amplify app.
appId (string) –
The unique ID of the Amplify app.
appArn (string) –
The Amazon Resource Name (ARN) of the Amplify app.
name (string) –
The name for the Amplify app.
tags (dict) –
The tag for the Amplify app.
(string) –
(string) –
description (string) –
The description for the Amplify app.
repository (string) –
The Git repository for the Amplify app.
platform (string) –
The platform for the Amplify app. For a static app, set the platform type to
WEB
. For a dynamic server-side rendered (SSR) app, set the platform type toWEB_COMPUTE
. For an app requiring Amplify Hosting’s original SSR support only, set the platform type toWEB_DYNAMIC
.If you are deploying an SSG only app with Next.js 14 or later, you must use the platform type
WEB_COMPUTE
.createTime (datetime) –
A timestamp of when Amplify created the application.
updateTime (datetime) –
A timestamp of when Amplify updated the application.
iamServiceRoleArn (string) –
The AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) of the Amplify app.
environmentVariables (dict) –
The environment variables for the Amplify app.
For a list of the environment variables that are accessible to Amplify by default, see Amplify Environment variables in the Amplify Hosting User Guide.
(string) –
(string) –
defaultDomain (string) –
The default domain for the Amplify app.
enableBranchAutoBuild (boolean) –
Enables the auto-building of branches for the Amplify app.
enableBranchAutoDeletion (boolean) –
Automatically disconnect a branch in the Amplify console when you delete a branch from your Git repository.
enableBasicAuth (boolean) –
Enables basic authorization for the Amplify app’s branches.
basicAuthCredentials (string) –
The basic authorization credentials for branches for the Amplify app. You must base64-encode the authorization credentials and provide them in the format
user:password
.customRules (list) –
Describes the custom redirect and rewrite rules for the Amplify app.
(dict) –
Describes a custom rewrite or redirect rule.
source (string) –
The source pattern for a URL rewrite or redirect rule.
target (string) –
The target pattern for a URL rewrite or redirect rule.
status (string) –
The status code for a URL rewrite or redirect rule.
200
Represents a 200 rewrite rule.
301
Represents a 301 (moved permanently) redirect rule. This and all future requests should be directed to the target URL.
302
Represents a 302 temporary redirect rule.
404
Represents a 404 redirect rule.
404-200
Represents a 404 rewrite rule.
condition (string) –
The condition for a URL rewrite or redirect rule, such as a country code.
productionBranch (dict) –
Describes the information about a production branch of the Amplify app.
lastDeployTime (datetime) –
The last deploy time of the production branch.
status (string) –
The status of the production branch.
thumbnailUrl (string) –
The thumbnail URL for the production branch.
branchName (string) –
The branch name for the production branch.
buildSpec (string) –
Describes the content of the build specification (build spec) for the Amplify app.
customHeaders (string) –
Describes the custom HTTP headers for the Amplify app.
enableAutoBranchCreation (boolean) –
Enables automated branch creation for the Amplify app.
autoBranchCreationPatterns (list) –
Describes the automated branch creation glob patterns for the Amplify app.
(string) –
autoBranchCreationConfig (dict) –
Describes the automated branch creation configuration for the Amplify app.
stage (string) –
Describes the current stage for the autocreated branch.
framework (string) –
The framework for the autocreated branch.
enableAutoBuild (boolean) –
Enables auto building for the autocreated branch.
environmentVariables (dict) –
The environment variables for the autocreated branch.
(string) –
(string) –
basicAuthCredentials (string) –
The basic authorization credentials for the autocreated branch. You must base64-encode the authorization credentials and provide them in the format
user:password
.enableBasicAuth (boolean) –
Enables basic authorization for the autocreated branch.
enablePerformanceMode (boolean) –
Enables performance mode for the branch.
Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.
buildSpec (string) –
The build specification (build spec) for the autocreated branch.
enablePullRequestPreview (boolean) –
Enables pull request previews for the autocreated branch.
pullRequestEnvironmentName (string) –
The Amplify environment name for the pull request.
repositoryCloneMethod (string) –
Note
This is for internal use.
The Amplify service uses this parameter to specify the authentication protocol to use to access the Git repository for an Amplify app. Amplify specifies
TOKEN
for a GitHub repository,SIGV4
for an Amazon Web Services CodeCommit repository, andSSH
for GitLab and Bitbucket repositories.cacheConfig (dict) –
The cache configuration for the Amplify app. If you don’t specify the cache configuration
type
, Amplify uses the defaultAMPLIFY_MANAGED
setting.type (string) –
The type of cache configuration to use for an Amplify app.
The
AMPLIFY_MANAGED
cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting.The
AMPLIFY_MANAGED_NO_COOKIES
cache configuration type is the same asAMPLIFY_MANAGED
, except that it excludes all cookies from the cache key.
webhookCreateTime (datetime) –
A timestamp of when Amplify created the webhook in your Git repository.
wafConfiguration (dict) –
Describes the Firewall configuration for the Amplify app. Firewall support enables you to protect your hosted applications with a direct integration with WAF.
webAclArn (string) –
The Amazon Resource Name (ARN) for the web ACL associated with an Amplify app.
wafStatus (string) –
The status of the process to associate or disassociate a web ACL to an Amplify app.
statusReason (string) –
The reason for the current status of the Firewall configuration.
Exceptions
Amplify.Client.exceptions.BadRequestException
Amplify.Client.exceptions.UnauthorizedException
Amplify.Client.exceptions.InternalFailureException
Amplify.Client.exceptions.LimitExceededException
Amplify.Client.exceptions.DependentServiceFailureException