> **Experimental**
>
> `@aws-cdk/aws-amplify-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# AppProps

Properties for an App.

Extends: AppProps
Used as props by: App

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/app.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0-alpha.0/packages/@aws-cdk/aws-amplify-alpha/lib/app.ts#L79)

## Example

```ts
const amplifyApp = new amplify.App(this, 'MyApp', {
  sourceCodeProvider: new amplify.GitHubSourceCodeProvider({
    owner: '<user>',
    repository: '<repo>',
    oauthToken: SecretValue.secretsManager('my-github-token'),
  }),
  autoBranchCreation: { // Automatically connect branches that match a pattern set
    patterns: ['feature/*', 'test/*'],
  },
  autoBranchDeletion: true, // Automatically disconnect a branch when you delete a branch from your repository
});
```

## Properties

- `appName`: string — The name for the application.

  **Default:** a CDK generated name

- `autoBranchCreation`: [AutoBranchCreation](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.AutoBranchCreation.html) — The auto branch creation configuration.

  **Default:** no auto branch creation

  Use this to automatically create
  branches that match a certain pattern.

- `autoBranchDeletion`: boolean = false — Automatically disconnect a branch in the Amplify Console when you delete a branch from your Git repository.

- `basicAuth`: [BasicAuth](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.BasicAuth.html) — The Basic Auth configuration.

  **Default:** no password protection

  Use this to set password protection at an
  app level to all your branches.

- `buildComputeType`: [BuildComputeType](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.BuildComputeType.html) — Specifies the size of the build instance.

  **Default:** undefined - Amplify default setting is `BuildComputeType.STANDARD_8GB`.

- `buildSpec`: [BuildSpec](/cdk/api/v2/docs/aws-cdk-lib.aws_codebuild.BuildSpec.html) — BuildSpec for the application.

  **Default:** no build spec

  Alternatively, add a `amplify.yml`
  file to the repository.

- `cacheConfigType`: [CacheConfigType](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.CacheConfigType.html) = CacheConfigType.AMPLIFY_MANAGED — The type of cache configuration to use for an Amplify app.

- `computeRole`: [IRole](/cdk/api/v2/docs/aws-cdk-lib.aws_iam.IRole.html) — The IAM role for an SSR app.

  **Default:** undefined - a new role is created when `platform` is `Platform.WEB_COMPUTE` or `Platform.WEB_DYNAMIC`, otherwise no compute role

  The Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions.

- `customResponseHeaders`: [CustomResponseHeader](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.CustomResponseHeader.html)[] — The custom HTTP response headers for an Amplify app.

  **Default:** no custom response headers

- `customRules`: [CustomRule](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.CustomRule.html)[] — Custom rewrite/redirect rules for the application.

  **Default:** no custom rewrite/redirect rules

- `description`: string — A description for the application.

  **Default:** no description

- `environmentVariables`: { [key: string]: string } — Environment variables for the application.

  **Default:** no environment variables

  All environment variables that you add are encrypted to prevent rogue
  access so you can use them to store secret information.

- `platform`: [Platform](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.Platform.html) = Platform.WEB — Indicates the hosting platform to use.

  Set to WEB for static site
  generated (SSG) apps (i.e. a Create React App or Gatsby) and WEB_COMPUTE
  for server side rendered (SSR) apps (i.e. NextJS).

- `role`: [IRole](/cdk/api/v2/docs/aws-cdk-lib.aws_iam.IRole.html) — The IAM service role to associate with the application.

  **Default:** a new role is created

  The App
  implements IGrantable.

- `sourceCodeProvider`: [ISourceCodeProvider](/cdk/api/v2/docs/@aws-cdk_aws-amplify-alpha.ISourceCodeProvider.html) — The source code provider for this application.

  **Default:** not connected to a source code provider
