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, ... ]
} }
YAML
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, 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 .
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 defaultAMPLIFY_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, 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 .
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 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.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
-
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.