import * as core from "@terrascript/core"; export interface BranchArgs extends core.ResourceArgs { /** * (Required) The unique ID for an Amplify app. */ appId: string | core.StringOut; /** * (Optional) The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify app. */ backendEnvironmentArn?: string | core.StringOut; /** * (Optional) The basic authorization credentials for the branch. */ basicAuthCredentials?: string | core.StringOut; /** * (Required) The name for the branch. */ branchName: string | core.StringOut; /** * (Optional) The description for the branch. */ description?: string | core.StringOut; /** * (Optional) The display name for a branch. This is used as the default domain prefix. */ displayName?: string | core.StringOut; /** * (Optional) Enables auto building for the branch. */ enableAutoBuild?: boolean | core.BooleanOut; /** * (Optional) Enables basic authorization for the branch. */ enableBasicAuth?: boolean | core.BooleanOut; /** * (Optional) Enables notifications for the branch. */ enableNotification?: boolean | core.BooleanOut; /** * (Optional) Enables performance mode for the branch. */ enablePerformanceMode?: boolean | core.BooleanOut; /** * (Optional) Enables pull request previews for this branch. */ enablePullRequestPreview?: boolean | core.BooleanOut; /** * (Optional) The environment variables for the branch. */ environmentVariables?: core.Map | core.MapOut; /** * (Optional) The framework for the branch. */ framework?: string | core.StringOut; /** * (Optional) The Amplify environment name for the pull request. */ pullRequestEnvironmentName?: string | core.StringOut; /** * (Optional) Describes the current stage for the branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPM * ENT`, `EXPERIMENTAL`, `PULL_REQUEST`. */ stage?: string | core.StringOut; /** * (Optional) Key-value mapping of resource tags. If configured with a provider [`default_tags` configu * ration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configu * ration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) The content Time To Live (TTL) for the website in seconds. */ ttl?: string | core.StringOut; } export class Branch extends core.Resource { /** * (Required) The unique ID for an Amplify app. */ @core.attr(String) public appId!: string | core.StringOut; /** * The Amazon Resource Name (ARN) for the branch. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * A list of custom resources that are linked to this branch. */ @core.attr(String, { computed: true, kind: "array" }) public associatedResources!: | core.Array | core.ArrayOut; /** * (Optional) The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify app. */ @core.attr(String) public backendEnvironmentArn?: string | core.StringOut; /** * (Optional) The basic authorization credentials for the branch. */ @core.attr(String) public basicAuthCredentials?: string | core.StringOut; /** * (Required) The name for the branch. */ @core.attr(String) public branchName!: string | core.StringOut; /** * The custom domains for the branch. */ @core.attr(String, { computed: true, kind: "array" }) public customDomains!: core.Array | core.ArrayOut; /** * (Optional) The description for the branch. */ @core.attr(String) public description?: string | core.StringOut; /** * The destination branch if the branch is a pull request branch. */ @core.attr(String, { computed: true }) public destinationBranch!: string | core.StringOut; /** * (Optional) The display name for a branch. This is used as the default domain prefix. */ @core.attr(String, { computed: true }) public displayName?: string | core.StringOut; /** * (Optional) Enables auto building for the branch. */ @core.attr(Boolean) public enableAutoBuild?: boolean | core.BooleanOut; /** * (Optional) Enables basic authorization for the branch. */ @core.attr(Boolean) public enableBasicAuth?: boolean | core.BooleanOut; /** * (Optional) Enables notifications for the branch. */ @core.attr(Boolean) public enableNotification?: boolean | core.BooleanOut; /** * (Optional) Enables performance mode for the branch. */ @core.attr(Boolean) public enablePerformanceMode?: boolean | core.BooleanOut; /** * (Optional) Enables pull request previews for this branch. */ @core.attr(Boolean) public enablePullRequestPreview?: boolean | core.BooleanOut; /** * (Optional) The environment variables for the branch. */ @core.attr(String, { kind: "map" }) public environmentVariables?: | core.Map | core.MapOut; /** * (Optional) The framework for the branch. */ @core.attr(String) public framework?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) The Amplify environment name for the pull request. */ @core.attr(String) public pullRequestEnvironmentName?: string | core.StringOut; /** * The source branch if the branch is a pull request branch. */ @core.attr(String, { computed: true }) public sourceBranch!: string | core.StringOut; /** * (Optional) Describes the current stage for the branch. Valid values: `PRODUCTION`, `BETA`, `DEVELOPM * ENT`, `EXPERIMENTAL`, `PULL_REQUEST`. */ @core.attr(String) public stage?: string | core.StringOut; /** * (Optional) Key-value mapping of resource tags. If configured with a provider [`default_tags` configu * ration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configu * ration-block) present, tags with matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; /** * (Optional) The content Time To Live (TTL) for the website in seconds. */ @core.attr(String) public ttl?: string | core.StringOut; constructor(name: string, args?: BranchArgs) { super(name, "aws_amplify_branch", args); } public override getNamespace(): string { return "aws_amplify"; } }