@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
229 lines (228 loc) • 13.5 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
* The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches.
*/
export declare class App extends pulumi.CustomResource {
/**
* Get an existing App resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): App;
/**
* Returns true if the given object is an instance of App. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is App;
/**
* 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](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .
*/
readonly accessToken: pulumi.Output<string | undefined>;
/**
* Unique Id for the Amplify App.
*/
readonly appId: pulumi.Output<string>;
/**
* Name for the Amplify App.
*/
readonly appName: pulumi.Output<string>;
/**
* ARN for the Amplify App.
*/
readonly arn: pulumi.Output<string>;
/**
* Sets the configuration for your automatic branch creation.
*/
readonly autoBranchCreationConfig: pulumi.Output<outputs.amplify.AppAutoBranchCreationConfig | undefined>;
/**
* The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .
*/
readonly basicAuthConfig: pulumi.Output<outputs.amplify.AppBasicAuthConfig | undefined>;
/**
* The build specification (build spec) for an Amplify app.
*/
readonly buildSpec: pulumi.Output<string | undefined>;
/**
* The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting.
*/
readonly cacheConfig: pulumi.Output<outputs.amplify.AppCacheConfig | undefined>;
/**
* The Amazon Resource Name (ARN) of the IAM role for an SSR app. The Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .
*/
readonly computeRoleArn: pulumi.Output<string | undefined>;
/**
* The custom HTTP headers for an Amplify app.
*/
readonly customHeaders: pulumi.Output<string | undefined>;
/**
* The custom rewrite and redirect rules for an Amplify app.
*/
readonly customRules: pulumi.Output<outputs.amplify.AppCustomRule[] | undefined>;
/**
* Default domain for the Amplify App.
*/
readonly defaultDomain: pulumi.Output<string>;
/**
* The description of the Amplify app.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository.
*/
readonly enableBranchAutoDeletion: pulumi.Output<boolean | undefined>;
/**
* 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](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html) in the *Amplify Hosting User Guide* .
*/
readonly environmentVariables: pulumi.Output<outputs.amplify.AppEnvironmentVariable[] | undefined>;
/**
* AWS Identity and Access Management ( IAM ) service role for the Amazon Resource Name (ARN) of the Amplify app.
*/
readonly iamServiceRole: pulumi.Output<string | undefined>;
/**
* The configuration details that apply to the jobs for an Amplify app.
*/
readonly jobConfig: pulumi.Output<outputs.amplify.AppJobConfig | undefined>;
/**
* The name of the Amplify app.
*/
readonly name: pulumi.Output<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, 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](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .
*/
readonly oauthToken: pulumi.Output<string | 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` 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](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* .
*/
readonly platform: pulumi.Output<enums.amplify.AppPlatform | undefined>;
/**
* The Git repository for the Amplify app.
*/
readonly repository: pulumi.Output<string | undefined>;
/**
* The tag for an Amplify app.
*/
readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
/**
* Create a App resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: AppArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a App resource.
*/
export interface AppArgs {
/**
* 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](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .
*/
accessToken?: pulumi.Input<string>;
/**
* Sets the configuration for your automatic branch creation.
*/
autoBranchCreationConfig?: pulumi.Input<inputs.amplify.AppAutoBranchCreationConfigArgs>;
/**
* The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` .
*/
basicAuthConfig?: pulumi.Input<inputs.amplify.AppBasicAuthConfigArgs>;
/**
* The build specification (build spec) for an Amplify app.
*/
buildSpec?: pulumi.Input<string>;
/**
* The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting.
*/
cacheConfig?: pulumi.Input<inputs.amplify.AppCacheConfigArgs>;
/**
* The Amazon Resource Name (ARN) of the IAM role for an SSR app. The Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .
*/
computeRoleArn?: pulumi.Input<string>;
/**
* The custom HTTP headers for an Amplify app.
*/
customHeaders?: pulumi.Input<string>;
/**
* The custom rewrite and redirect rules for an Amplify app.
*/
customRules?: pulumi.Input<pulumi.Input<inputs.amplify.AppCustomRuleArgs>[]>;
/**
* The description of the Amplify app.
*/
description?: pulumi.Input<string>;
/**
* Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository.
*/
enableBranchAutoDeletion?: pulumi.Input<boolean>;
/**
* 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](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html) in the *Amplify Hosting User Guide* .
*/
environmentVariables?: pulumi.Input<pulumi.Input<inputs.amplify.AppEnvironmentVariableArgs>[]>;
/**
* AWS Identity and Access Management ( IAM ) service role for the Amazon Resource Name (ARN) of the Amplify app.
*/
iamServiceRole?: pulumi.Input<string>;
/**
* The configuration details that apply to the jobs for an Amplify app.
*/
jobConfig?: pulumi.Input<inputs.amplify.AppJobConfigArgs>;
/**
* The name of the Amplify app.
*/
name?: pulumi.Input<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, 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](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* .
*/
oauthToken?: pulumi.Input<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 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](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* .
*/
platform?: pulumi.Input<enums.amplify.AppPlatform>;
/**
* The Git repository for the Amplify app.
*/
repository?: pulumi.Input<string>;
/**
* The tag for an Amplify app.
*/
tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}