UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,010 lines (1,009 loc) 43.8 kB
import * as cdk from "../../core"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; /** * The AWS::Amplify::App resource specifies Apps in Amplify Hosting. * * An App is a collection of branches. * * @cloudformationResource AWS::Amplify::App * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html */ export declare class CfnApp extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnApp from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApp; /** * Unique Id for the Amplify App. * * @cloudformationAttribute AppId */ readonly attrAppId: string; /** * Name for the Amplify App. * * @cloudformationAttribute AppName */ readonly attrAppName: string; /** * ARN for the Amplify App. * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * Default domain for the Amplify App. * * @cloudformationAttribute DefaultDomain */ readonly attrDefaultDomain: string; /** * The personal access token for a GitHub repository for an Amplify app. */ accessToken?: string; /** * Sets the configuration for your automatic branch creation. */ autoBranchCreationConfig?: CfnApp.AutoBranchCreationConfigProperty | cdk.IResolvable; /** * The credentials for basic authorization for an Amplify app. */ basicAuthConfig?: CfnApp.BasicAuthConfigProperty | cdk.IResolvable; /** * The build specification (build spec) for an Amplify app. */ buildSpec?: string; /** * The custom HTTP headers for an Amplify app. */ customHeaders?: string; /** * The custom rewrite and redirect rules for an Amplify app. */ customRules?: Array<CfnApp.CustomRuleProperty | cdk.IResolvable> | cdk.IResolvable; /** * The description for an Amplify app. */ description?: string; /** * Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository. */ enableBranchAutoDeletion?: boolean | cdk.IResolvable; /** * The environment variables map for an Amplify app. */ environmentVariables?: Array<CfnApp.EnvironmentVariableProperty | cdk.IResolvable> | cdk.IResolvable; /** * The AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) of the Amplify app. */ iamServiceRole?: string; /** * The name for an Amplify app. */ name: string; /** * The OAuth token for a third-party source control system for an Amplify app. */ oauthToken?: string; /** * The platform for the Amplify app. */ platform?: string; /** * The repository for an Amplify app. */ repository?: string; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tag for an Amplify app. */ tagsRaw?: Array<cdk.CfnTag>; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnAppProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnApp { /** * Use the AutoBranchCreationConfig property type to automatically create branches that match a certain pattern. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html */ interface AutoBranchCreationConfigProperty { /** * Automated branch creation glob patterns for the Amplify app. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-autobranchcreationpatterns */ readonly autoBranchCreationPatterns?: Array<string>; /** * Sets password protection for your auto created branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-basicauthconfig */ readonly basicAuthConfig?: CfnApp.BasicAuthConfigProperty | cdk.IResolvable; /** * The build specification (build spec) for the autocreated branch. * * *Length Constraints:* Minimum length of 1. Maximum length of 25000. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-buildspec */ readonly buildSpec?: string; /** * Enables automated branch creation for the Amplify app. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableautobranchcreation */ readonly enableAutoBranchCreation?: boolean | cdk.IResolvable; /** * Enables auto building for the auto created branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableautobuild */ readonly enableAutoBuild?: boolean | cdk.IResolvable; /** * Enables performance mode for the branch. * * Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableperformancemode */ readonly enablePerformanceMode?: boolean | cdk.IResolvable; /** * Sets whether pull request previews are enabled for each branch that Amplify Hosting automatically creates for your app. * * Amplify creates previews by deploying your app to a unique URL whenever a pull request is opened for the branch. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch. * * To provide backend support for your preview, Amplify Hosting automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property. * * For more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enablepullrequestpreview */ readonly enablePullRequestPreview?: boolean | cdk.IResolvable; /** * Environment variables for the auto created branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-environmentvariables */ readonly environmentVariables?: Array<CfnApp.EnvironmentVariableProperty | cdk.IResolvable> | cdk.IResolvable; /** * The framework for the autocreated branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-framework */ readonly framework?: string; /** * If pull request previews are enabled, you can use this property to specify a dedicated backend environment for your previews. * * For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI. * * To enable pull request previews, set the `EnablePullRequestPreview` property to `true` . * * If you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify deletes this environment when the pull request is closed. * * For more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* . * * *Length Constraints:* Maximum length of 20. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-pullrequestenvironmentname */ readonly pullRequestEnvironmentName?: string; /** * Stage for the auto created branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-stage */ readonly stage?: string; } /** * Environment variables are key-value pairs that are available at build time. * * Set environment variables for all branches in your app. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html */ interface EnvironmentVariableProperty { /** * The environment variable name. * * *Length Constraints:* Maximum length of 255. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html#cfn-amplify-app-environmentvariable-name */ readonly name: string; /** * The environment variable value. * * *Length Constraints:* Maximum length of 5500. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html#cfn-amplify-app-environmentvariable-value */ readonly value: string; } /** * Use the BasicAuthConfig property type to set password protection at an app level to all your branches. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html */ interface BasicAuthConfigProperty { /** * Enables basic authorization for the Amplify app's branches. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-enablebasicauth */ readonly enableBasicAuth?: boolean | cdk.IResolvable; /** * The password for basic authorization. * * *Length Constraints:* Minimum length of 1. Maximum length of 255. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-password */ readonly password?: string; /** * The user name for basic authorization. * * *Length Constraints:* Minimum length of 1. Maximum length of 255. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-username */ readonly username?: string; } /** * The CustomRule property type allows you to specify redirects, rewrites, and reverse proxies. * * Redirects enable a web app to reroute navigation from one URL to another. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html */ interface CustomRuleProperty { /** * The condition for a URL rewrite or redirect rule, such as a country code. * * *Length Constraints:* Minimum length of 0. Maximum length of 2048. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-condition */ readonly condition?: string; /** * The source pattern for a URL rewrite or redirect rule. * * *Length Constraints:* Minimum length of 1. Maximum length of 2048. * * *Pattern:* (?s).+ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-source */ readonly source: string; /** * The status code for a URL rewrite or redirect rule. * * - **200** - Represents a 200 rewrite rule. * - **301** - Represents a 301 (moved pemanently) redirect rule. This and all future requests should be directed to the target URL. * - **302** - Represents a 302 temporary redirect rule. * - **404** - Represents a 404 redirect rule. * - **404-200** - Represents a 404 rewrite rule. * * *Length Constraints:* Minimum length of 3. Maximum length of 7. * * *Pattern:* .{3,7} * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-status */ readonly status?: string; /** * The target pattern for a URL rewrite or redirect rule. * * *Length Constraints:* Minimum length of 1. Maximum length of 2048. * * *Pattern:* (?s).+ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-target */ readonly target: string; } } /** * Properties for defining a `CfnApp` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html */ export interface CfnAppProps { /** * 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* . * * *Length Constraints:* Minimum length of 1. Maximum length of 255. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-accesstoken */ readonly accessToken?: string; /** * Sets the configuration for your automatic branch creation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-autobranchcreationconfig */ readonly autoBranchCreationConfig?: CfnApp.AutoBranchCreationConfigProperty | cdk.IResolvable; /** * The credentials for basic authorization for an Amplify app. * * You must base64-encode the authorization credentials and provide them in the format `user:password` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-basicauthconfig */ readonly basicAuthConfig?: CfnApp.BasicAuthConfigProperty | cdk.IResolvable; /** * The build specification (build spec) for an Amplify app. * * *Length Constraints:* Minimum length of 1. Maximum length of 25000. * * *Pattern:* (?s).+ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-buildspec */ readonly buildSpec?: string; /** * The custom HTTP headers for an Amplify app. * * *Length Constraints:* Minimum length of 0. Maximum length of 25000. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-customheaders */ readonly customHeaders?: string; /** * The custom rewrite and redirect rules for an Amplify app. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-customrules */ readonly customRules?: Array<CfnApp.CustomRuleProperty | cdk.IResolvable> | cdk.IResolvable; /** * The description for an Amplify app. * * *Length Constraints:* Maximum length of 1000. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-description */ readonly description?: string; /** * Automatically disconnect a branch in Amplify Hosting when you delete a branch from your Git repository. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-enablebranchautodeletion */ readonly enableBranchAutoDeletion?: boolean | cdk.IResolvable; /** * The environment variables map for an 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* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-environmentvariables */ readonly environmentVariables?: Array<CfnApp.EnvironmentVariableProperty | cdk.IResolvable> | cdk.IResolvable; /** * The AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) of the Amplify app. * * *Length Constraints:* Minimum length of 0. Maximum length of 1000. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-iamservicerole */ readonly iamServiceRole?: string; /** * The name for an Amplify app. * * *Length Constraints:* Minimum length of 1. Maximum length of 255. * * *Pattern:* (?s).+ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-name */ readonly name: 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* . * * *Length Constraints:* Maximum length of 1000. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-oauthtoken */ readonly oauthToken?: 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` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-platform */ readonly platform?: string; /** * The repository for an Amplify app. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-repository */ readonly repository?: string; /** * The tag for an Amplify app. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The AWS::Amplify::Branch resource specifies a new branch within an app. * * @cloudformationResource AWS::Amplify::Branch * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html */ export declare class CfnBranch extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnBranch from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnBranch; /** * ARN for a branch, part of an Amplify App. * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * Name for a branch, part of an Amplify App. * * @cloudformationAttribute BranchName */ readonly attrBranchName: string; /** * The unique ID for an Amplify app. */ appId: string; /** * The backend environment for an Amplify app. */ backend?: CfnBranch.BackendProperty | cdk.IResolvable; /** * The basic authorization credentials for a branch of an Amplify app. */ basicAuthConfig?: CfnBranch.BasicAuthConfigProperty | cdk.IResolvable; /** * The name for the branch. */ branchName: string; /** * The build specification (build spec) for the branch. */ buildSpec?: string; /** * The description for the branch that is part of an Amplify app. */ description?: string; /** * Enables auto building for the branch. */ enableAutoBuild?: boolean | cdk.IResolvable; /** * Enables performance mode for the branch. */ enablePerformanceMode?: boolean | cdk.IResolvable; /** * Specifies whether Amplify Hosting creates a preview for each pull request that is made for this branch. */ enablePullRequestPreview?: boolean | cdk.IResolvable; /** * The environment variables for the branch. */ environmentVariables?: Array<CfnBranch.EnvironmentVariableProperty | cdk.IResolvable> | cdk.IResolvable; /** * The framework for the branch. */ framework?: string; /** * If pull request previews are enabled for this branch, you can use this property to specify a dedicated backend environment for your previews. */ pullRequestEnvironmentName?: string; /** * Describes the current stage for the branch. */ stage?: string; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tag for the branch. */ tagsRaw?: Array<cdk.CfnTag>; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnBranchProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnBranch { /** * The EnvironmentVariable property type sets environment variables for a specific branch. * * Environment variables are key-value pairs that are available at build time. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-environmentvariable.html */ interface EnvironmentVariableProperty { /** * The environment variable name. * * *Length Constraints:* Maximum length of 255. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-environmentvariable.html#cfn-amplify-branch-environmentvariable-name */ readonly name: string; /** * The environment variable value. * * *Length Constraints:* Maximum length of 5500. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-environmentvariable.html#cfn-amplify-branch-environmentvariable-value */ readonly value: string; } /** * Use the BasicAuthConfig property type to set password protection for a specific branch. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html */ interface BasicAuthConfigProperty { /** * Enables basic authorization for the branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html#cfn-amplify-branch-basicauthconfig-enablebasicauth */ readonly enableBasicAuth?: boolean | cdk.IResolvable; /** * The password for basic authorization. * * *Length Constraints:* Minimum length of 1. Maximum length of 255. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html#cfn-amplify-branch-basicauthconfig-password */ readonly password: string; /** * The user name for basic authorization. * * *Length Constraints:* Minimum length of 1. Maximum length of 255. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html#cfn-amplify-branch-basicauthconfig-username */ readonly username: string; } /** * Describes the backend properties associated with an Amplify `Branch` . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-backend.html */ interface BackendProperty { /** * The Amazon Resource Name (ARN) for the AWS CloudFormation stack. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-backend.html#cfn-amplify-branch-backend-stackarn */ readonly stackArn?: string; } } /** * Properties for defining a `CfnBranch` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html */ export interface CfnBranchProps { /** * The unique ID for an Amplify app. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-appid */ readonly appId: string; /** * The backend environment for an Amplify app. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-backend */ readonly backend?: CfnBranch.BackendProperty | cdk.IResolvable; /** * The basic authorization credentials for a branch of an Amplify app. * * You must base64-encode the authorization credentials and provide them in the format `user:password` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-basicauthconfig */ readonly basicAuthConfig?: CfnBranch.BasicAuthConfigProperty | cdk.IResolvable; /** * The name for the branch. * * *Length Constraints:* Minimum length of 1. Maximum length of 255. * * *Pattern:* (?s).+ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-branchname */ readonly branchName: string; /** * The build specification (build spec) for the branch. * * *Length Constraints:* Minimum length of 1. Maximum length of 25000. * * *Pattern:* (?s).+ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-buildspec */ readonly buildSpec?: string; /** * The description for the branch that is part of an Amplify app. * * *Length Constraints:* Maximum length of 1000. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-description */ readonly description?: string; /** * Enables auto building for the branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enableautobuild */ readonly enableAutoBuild?: boolean | cdk.IResolvable; /** * Enables performance mode for the branch. * * Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enableperformancemode */ readonly enablePerformanceMode?: boolean | cdk.IResolvable; /** * Specifies whether Amplify Hosting creates a preview for each pull request that is made for this branch. * * If this property is enabled, Amplify deploys your app to a unique preview URL after each pull request is opened. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch. * * To provide backend support for your preview, Amplify automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property. * * For more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enablepullrequestpreview */ readonly enablePullRequestPreview?: boolean | cdk.IResolvable; /** * The environment variables for the branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-environmentvariables */ readonly environmentVariables?: Array<CfnBranch.EnvironmentVariableProperty | cdk.IResolvable> | cdk.IResolvable; /** * The framework for the branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-framework */ readonly framework?: string; /** * If pull request previews are enabled for this branch, you can use this property to specify a dedicated backend environment for your previews. * * For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI and mapped to this branch. * * To enable pull request previews, set the `EnablePullRequestPreview` property to `true` . * * If you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify Hosting deletes this environment when the pull request is closed. * * For more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* . * * *Length Constraints:* Maximum length of 20. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-pullrequestenvironmentname */ readonly pullRequestEnvironmentName?: string; /** * Describes the current stage for the branch. * * *Valid Values:* PRODUCTION | BETA | DEVELOPMENT | EXPERIMENTAL | PULL_REQUEST * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-stage */ readonly stage?: string; /** * The tag for the branch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The AWS::Amplify::Domain resource allows you to connect a custom domain to your app. * * @cloudformationResource AWS::Amplify::Domain * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html */ export declare class CfnDomain extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDomain from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDomain; /** * ARN for the Domain Association. * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * @cloudformationAttribute AutoSubDomainCreationPatterns */ readonly attrAutoSubDomainCreationPatterns: Array<string>; /** * The IAM service role for the subdomain. * * @cloudformationAttribute AutoSubDomainIAMRole */ readonly attrAutoSubDomainIamRole: string; /** * DNS Record for certificate verification. * * @cloudformationAttribute CertificateRecord */ readonly attrCertificateRecord: string; /** * Name of the domain. * * @cloudformationAttribute DomainName */ readonly attrDomainName: string; /** * Status for the Domain Association. * * @cloudformationAttribute DomainStatus */ readonly attrDomainStatus: string; /** * Specifies whether the automated creation of subdomains for branches is enabled. * * @cloudformationAttribute EnableAutoSubDomain */ readonly attrEnableAutoSubDomain: cdk.IResolvable; /** * Reason for the current status of the domain. * * @cloudformationAttribute StatusReason */ readonly attrStatusReason: string; /** * The unique ID for an Amplify app. */ appId: string; /** * Sets the branch patterns for automatic subdomain creation. */ autoSubDomainCreationPatterns?: Array<string>; /** * The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains. */ autoSubDomainIamRole?: string; /** * The domain name for the domain association. */ domainName: string; /** * Enables the automated creation of subdomains for branches. */ enableAutoSubDomain?: boolean | cdk.IResolvable; /** * The setting for the subdomain. */ subDomainSettings: Array<cdk.IResolvable | CfnDomain.SubDomainSettingProperty> | cdk.IResolvable; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnDomainProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnDomain { /** * The SubDomainSetting property type enables you to connect a subdomain (for example, example.exampledomain.com) to a specific branch. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-domain-subdomainsetting.html */ interface SubDomainSettingProperty { /** * The branch name setting for the subdomain. * * *Length Constraints:* Minimum length of 1. Maximum length of 255. * * *Pattern:* (?s).+ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-domain-subdomainsetting.html#cfn-amplify-domain-subdomainsetting-branchname */ readonly branchName: string; /** * The prefix setting for the subdomain. * * *Length Constraints:* Maximum length of 255. * * *Pattern:* (?s).* * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-domain-subdomainsetting.html#cfn-amplify-domain-subdomainsetting-prefix */ readonly prefix: string; } } /** * Properties for defining a `CfnDomain` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html */ export interface CfnDomainProps { /** * The unique ID for an Amplify app. * * *Length Constraints:* Minimum length of 1. Maximum length of 20. * * *Pattern:* d[a-z0-9]+ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-appid */ readonly appId: string; /** * Sets the branch patterns for automatic subdomain creation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-autosubdomaincreationpatterns */ readonly autoSubDomainCreationPatterns?: Array<string>; /** * The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains. * * *Length Constraints:* Maximum length of 1000. * * *Pattern:* ^$|^arn:aws:iam::\d{12}:role.+ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-autosubdomainiamrole */ readonly autoSubDomainIamRole?: string; /** * The domain name for the domain association. * * *Length Constraints:* Maximum length of 255. * * *Pattern:* ^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\.)?$ * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-domainname */ readonly domainName: string; /** * Enables the automated creation of subdomains for branches. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-enableautosubdomain */ readonly enableAutoSubDomain?: boolean | cdk.IResolvable; /** * The setting for the subdomain. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-subdomainsettings */ readonly subDomainSettings: Array<cdk.IResolvable | CfnDomain.SubDomainSettingProperty> | cdk.IResolvable; }