UpdateAppCommand

Updates an existing Amplify app.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { AmplifyClient, UpdateAppCommand } from "@aws-sdk/client-amplify"; // ES Modules import
// const { AmplifyClient, UpdateAppCommand } = require("@aws-sdk/client-amplify"); // CommonJS import
const client = new AmplifyClient(config);
const input = { // UpdateAppRequest
  appId: "STRING_VALUE", // required
  name: "STRING_VALUE",
  description: "STRING_VALUE",
  platform: "WEB" || "WEB_DYNAMIC" || "WEB_COMPUTE",
  computeRoleArn: "STRING_VALUE",
  iamServiceRoleArn: "STRING_VALUE",
  environmentVariables: { // EnvironmentVariables
    "<keys>": "STRING_VALUE",
  },
  enableBranchAutoBuild: true || false,
  enableBranchAutoDeletion: true || false,
  enableBasicAuth: true || false,
  basicAuthCredentials: "STRING_VALUE",
  customRules: [ // CustomRules
    { // CustomRule
      source: "STRING_VALUE", // required
      target: "STRING_VALUE", // required
      status: "STRING_VALUE",
      condition: "STRING_VALUE",
    },
  ],
  buildSpec: "STRING_VALUE",
  customHeaders: "STRING_VALUE",
  enableAutoBranchCreation: true || false,
  autoBranchCreationPatterns: [ // AutoBranchCreationPatterns
    "STRING_VALUE",
  ],
  autoBranchCreationConfig: { // AutoBranchCreationConfig
    stage: "PRODUCTION" || "BETA" || "DEVELOPMENT" || "EXPERIMENTAL" || "PULL_REQUEST",
    framework: "STRING_VALUE",
    enableAutoBuild: true || false,
    environmentVariables: {
      "<keys>": "STRING_VALUE",
    },
    basicAuthCredentials: "STRING_VALUE",
    enableBasicAuth: true || false,
    enablePerformanceMode: true || false,
    buildSpec: "STRING_VALUE",
    enablePullRequestPreview: true || false,
    pullRequestEnvironmentName: "STRING_VALUE",
  },
  repository: "STRING_VALUE",
  oauthToken: "STRING_VALUE",
  accessToken: "STRING_VALUE",
  cacheConfig: { // CacheConfig
    type: "AMPLIFY_MANAGED" || "AMPLIFY_MANAGED_NO_COOKIES", // required
  },
};
const command = new UpdateAppCommand(input);
const response = await client.send(command);
// { // UpdateAppResult
//   app: { // App
//     appId: "STRING_VALUE", // required
//     appArn: "STRING_VALUE", // required
//     name: "STRING_VALUE", // required
//     tags: { // TagMap
//       "<keys>": "STRING_VALUE",
//     },
//     description: "STRING_VALUE", // required
//     repository: "STRING_VALUE", // required
//     platform: "WEB" || "WEB_DYNAMIC" || "WEB_COMPUTE", // required
//     createTime: new Date("TIMESTAMP"), // required
//     updateTime: new Date("TIMESTAMP"), // required
//     computeRoleArn: "STRING_VALUE",
//     iamServiceRoleArn: "STRING_VALUE",
//     environmentVariables: { // EnvironmentVariables // required
//       "<keys>": "STRING_VALUE",
//     },
//     defaultDomain: "STRING_VALUE", // required
//     enableBranchAutoBuild: true || false, // required
//     enableBranchAutoDeletion: true || false,
//     enableBasicAuth: true || false, // required
//     basicAuthCredentials: "STRING_VALUE",
//     customRules: [ // CustomRules
//       { // CustomRule
//         source: "STRING_VALUE", // required
//         target: "STRING_VALUE", // required
//         status: "STRING_VALUE",
//         condition: "STRING_VALUE",
//       },
//     ],
//     productionBranch: { // ProductionBranch
//       lastDeployTime: new Date("TIMESTAMP"),
//       status: "STRING_VALUE",
//       thumbnailUrl: "STRING_VALUE",
//       branchName: "STRING_VALUE",
//     },
//     buildSpec: "STRING_VALUE",
//     customHeaders: "STRING_VALUE",
//     enableAutoBranchCreation: true || false,
//     autoBranchCreationPatterns: [ // AutoBranchCreationPatterns
//       "STRING_VALUE",
//     ],
//     autoBranchCreationConfig: { // AutoBranchCreationConfig
//       stage: "PRODUCTION" || "BETA" || "DEVELOPMENT" || "EXPERIMENTAL" || "PULL_REQUEST",
//       framework: "STRING_VALUE",
//       enableAutoBuild: true || false,
//       environmentVariables: {
//         "<keys>": "STRING_VALUE",
//       },
//       basicAuthCredentials: "STRING_VALUE",
//       enableBasicAuth: true || false,
//       enablePerformanceMode: true || false,
//       buildSpec: "STRING_VALUE",
//       enablePullRequestPreview: true || false,
//       pullRequestEnvironmentName: "STRING_VALUE",
//     },
//     repositoryCloneMethod: "SSH" || "TOKEN" || "SIGV4",
//     cacheConfig: { // CacheConfig
//       type: "AMPLIFY_MANAGED" || "AMPLIFY_MANAGED_NO_COOKIES", // required
//     },
//     webhookCreateTime: new Date("TIMESTAMP"),
//     wafConfiguration: { // WafConfiguration
//       webAclArn: "STRING_VALUE",
//       wafStatus: "ASSOCIATING" || "ASSOCIATION_FAILED" || "ASSOCIATION_SUCCESS" || "DISASSOCIATING" || "DISASSOCIATION_FAILED",
//       statusReason: "STRING_VALUE",
//     },
//   },
// };

UpdateAppCommand Input

See UpdateAppCommandInput for more details

Parameter
Type
Description
appId
Required
string | undefined

The unique ID for an Amplify app.

accessToken
string | undefined

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 update an 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 .

autoBranchCreationConfig
AutoBranchCreationConfig | undefined

The automated branch creation configuration for an Amplify app.

autoBranchCreationPatterns
string[] | undefined

Describes the automated branch creation glob patterns for an Amplify app.

basicAuthCredentials
string | undefined

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

buildSpec
string | undefined

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

cacheConfig
CacheConfig | undefined

The cache configuration for the Amplify app.

computeRoleArn
string | undefined

The Amazon Resource Name (ARN) of the IAM role to assign to an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific Amazon Web Services resources based on the role's permissions. For more information about the SSR Compute role, see Adding an SSR Compute role  in the Amplify User Guide.

customHeaders
string | undefined

The custom HTTP headers for an Amplify app.

customRules
CustomRule[] | undefined

The custom redirect and rewrite rules for an Amplify app.

description
string | undefined

The description for an Amplify app.

enableAutoBranchCreation
boolean | undefined

Enables automated branch creation for an Amplify app.

enableBasicAuth
boolean | undefined

Enables basic authorization for an Amplify app.

enableBranchAutoBuild
boolean | undefined

Enables branch auto-building for an Amplify app.

enableBranchAutoDeletion
boolean | undefined

Automatically disconnects a branch in the Amplify console when you delete a branch from your Git repository.

environmentVariables
Record<string, string> | undefined

The environment variables for an Amplify app.

iamServiceRoleArn
string | undefined

The Amazon Resource Name (ARN) of the IAM service role for the Amplify app.

name
string | undefined

The name for an Amplify app.

oauthToken
string | undefined

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 update an 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 .

platform
Platform | undefined

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.

repository
string | undefined

The name of the Git repository for an Amplify app.

UpdateAppCommand Output

See UpdateAppCommandOutput for details

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
app
Required
App | undefined

Represents the updated Amplify app.

Throws

Name
Fault
Details
BadRequestException
client

A request contains unexpected data.

InternalFailureException
server

The service failed to perform an operation due to an internal issue.

NotFoundException
client

An entity was not found during an operation.

UnauthorizedException
client

An operation failed due to a lack of access.

AmplifyServiceException
Base exception class for all service exceptions from Amplify service.