AWS::Amplify::App - AWS CloudFormation

AWS::Amplify::App

The AWS::Amplify::App resource specifies Apps in Amplify Hosting. An App is a collection of branches.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::Amplify::App", "Properties" : { "AccessToken" : String, "AutoBranchCreationConfig" : AutoBranchCreationConfig, "BasicAuthConfig" : BasicAuthConfig, "BuildSpec" : String, "CacheConfig" : CacheConfig, "CustomHeaders" : String, "CustomRules" : [ CustomRule, ... ], "Description" : String, "EnableBranchAutoDeletion" : Boolean, "EnvironmentVariables" : [ EnvironmentVariable, ... ], "IAMServiceRole" : String, "Name" : String, "OauthToken" : String, "Platform" : String, "Repository" : String, "Tags" : [ Tag, ... ] } }

Properties

AccessToken

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, use OauthToken.

You must specify either AccessToken or OauthToken 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 .

Required: No

Type: String

Minimum: 1

Maximum: 255

Update requires: No interruption

AutoBranchCreationConfig

Sets the configuration for your automatic branch creation.

Required: No

Type: AutoBranchCreationConfig

Update requires: No interruption

BasicAuthConfig

The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format user:password.

Required: No

Type: BasicAuthConfig

Pattern: (?s).*

Maximum: 2000

Update requires: No interruption

BuildSpec

The build specification (build spec) for an Amplify app.

Required: No

Type: String

Pattern: (?s).+

Minimum: 1

Maximum: 25000

Update requires: No interruption

CacheConfig

The cache configuration for the Amplify app. If you don't specify the cache configuration type, Amplify uses the default AMPLIFY_MANAGED setting.

Required: No

Type: CacheConfig

Update requires: No interruption

CustomHeaders

The custom HTTP headers for an Amplify app.

Required: No

Type: String

Pattern: (?s).*

Minimum: 0

Maximum: 25000

Update requires: No interruption

CustomRules

The custom rewrite and redirect rules for an Amplify app.

Required: No

Type: Array of CustomRule

Update requires: No interruption

Description

The description of the Amplify app.

Required: No

Type: String

Pattern: (?s).*

Maximum: 1000

Update requires: No interruption

EnableBranchAutoDeletion

Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository.

Required: No

Type: Boolean

Update requires: No interruption

EnvironmentVariables

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.

Required: No

Type: Array of EnvironmentVariable

Update requires: No interruption

IAMServiceRole

AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) of the Amplify app.

Required: No

Type: String

Pattern: (?s).*

Minimum: 1

Maximum: 1000

Update requires: No interruption

Name

The name of the Amplify app.

Required: Yes

Type: String

Pattern: (?s).+

Minimum: 1

Maximum: 255

Update requires: No interruption

OauthToken

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, use AccessToken.

You must specify either OauthToken or AccessToken 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 .

Required: No

Type: String

Pattern: (?s).*

Maximum: 1000

Update requires: No interruption

Platform

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 to WEB_COMPUTE. For an app requiring Amplify Hosting's original SSR support only, set the platform type to WEB_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 artifacts baseDirectory 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.

Required: No

Type: String

Allowed values: WEB | WEB_DYNAMIC | WEB_COMPUTE

Update requires: No interruption

Repository

The Git repository for the Amplify app.

Required: No

Type: String

Pattern: (?s).*

Update requires: No interruption

Tags

The tag for an Amplify app.

Required: No

Type: Array of Tag

Update requires: No interruption

Return values

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

AppId

Unique Id for the Amplify App.

AppName

Name for the Amplify App.

Arn

ARN for the Amplify App.

DefaultDomain

Default domain for the Amplify App.