import * as core from "@terrascript/core"; export interface DeploymentTargetsArgs extends core.SchemaArgs { organizationalUnitIds?: core.Array | core.ArrayOut; } export class DeploymentTargets extends core.Schema { @core.attr(String, { kind: "array" }) public organizationalUnitIds?: | core.Array | core.ArrayOut; } export interface OperationPreferencesArgs extends core.SchemaArgs { failureToleranceCount?: number | core.NumberOut; failureTolerancePercentage?: number | core.NumberOut; maxConcurrentCount?: number | core.NumberOut; maxConcurrentPercentage?: number | core.NumberOut; regionConcurrencyType?: string | core.StringOut; regionOrder?: core.Array | core.ArrayOut; } export class OperationPreferences extends core.Schema { @core.attr(Number) public failureToleranceCount?: number | core.NumberOut; @core.attr(Number) public failureTolerancePercentage?: number | core.NumberOut; @core.attr(Number) public maxConcurrentCount?: number | core.NumberOut; @core.attr(Number) public maxConcurrentPercentage?: number | core.NumberOut; @core.attr(String) public regionConcurrencyType?: string | core.StringOut; @core.attr(String, { kind: "array" }) public regionOrder?: core.Array | core.ArrayOut; } export interface StackSetInstanceArgs extends core.ResourceArgs { /** * (Optional) Target AWS Account ID to create a Stack based on the StackSet. Defaults to current accoun * t. */ accountId?: string | core.StringOut; /** * (Optional) Specifies whether you are acting as an account administrator in the organization's manage * ment account or as a delegated administrator in a member account. Valid values: `SELF` (default), `D * ELEGATED_ADMIN`. */ callAs?: string | core.StringOut; /** * (Optional) The AWS Organizations accounts to which StackSets deploys. StackSets doesn't deploy stack * instances to the organization management account, even if the organization management account is in * your organization or in an OU in your organization. Drift detection is not possible for this argume * nt. See [deployment_targets](#deployment_targets-argument-reference) below. */ deploymentTargets?: DeploymentTargets; /** * (Optional) Preferences for how AWS CloudFormation performs a stack set operation. */ operationPreferences?: OperationPreferences; /** * (Optional) Key-value map of input parameters to override from the StackSet for this Instance. */ parameterOverrides?: core.Map | core.MapOut; /** * (Optional) Target AWS Region to create a Stack based on the StackSet. Defaults to current region. */ region?: string | core.StringOut; /** * (Optional) During Terraform resource destroy, remove Instance from StackSet while keeping the Stack * and its associated resources. Must be enabled in Terraform state _before_ destroy operation to take * effect. You cannot reassociate a retained Stack or add an existing, saved Stack to a new StackSet. D * efaults to `false`. */ retainStack?: boolean | core.BooleanOut; /** * (Required) Name of the StackSet. */ stackSetName: string | core.StringOut; } export class StackSetInstance extends core.Resource { /** * (Optional) Target AWS Account ID to create a Stack based on the StackSet. Defaults to current accoun * t. */ @core.attr(String, { computed: true }) public accountId?: string | core.StringOut; /** * (Optional) Specifies whether you are acting as an account administrator in the organization's manage * ment account or as a delegated administrator in a member account. Valid values: `SELF` (default), `D * ELEGATED_ADMIN`. */ @core.attr(String) public callAs?: string | core.StringOut; /** * (Optional) The AWS Organizations accounts to which StackSets deploys. StackSets doesn't deploy stack * instances to the organization management account, even if the organization management account is in * your organization or in an OU in your organization. Drift detection is not possible for this argume * nt. See [deployment_targets](#deployment_targets-argument-reference) below. */ @core.attr(DeploymentTargets) public deploymentTargets?: DeploymentTargets; /** * StackSet name, target AWS account ID, and target AWS region separated by commas (`,`) */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Preferences for how AWS CloudFormation performs a stack set operation. */ @core.attr(OperationPreferences) public operationPreferences?: OperationPreferences; /** * The organization root ID or organizational unit (OU) IDs specified for `deployment_targets`. */ @core.attr(String, { computed: true }) public organizationalUnitId!: string | core.StringOut; /** * (Optional) Key-value map of input parameters to override from the StackSet for this Instance. */ @core.attr(String, { kind: "map" }) public parameterOverrides?: | core.Map | core.MapOut; /** * (Optional) Target AWS Region to create a Stack based on the StackSet. Defaults to current region. */ @core.attr(String, { computed: true }) public region?: string | core.StringOut; /** * (Optional) During Terraform resource destroy, remove Instance from StackSet while keeping the Stack * and its associated resources. Must be enabled in Terraform state _before_ destroy operation to take * effect. You cannot reassociate a retained Stack or add an existing, saved Stack to a new StackSet. D * efaults to `false`. */ @core.attr(Boolean) public retainStack?: boolean | core.BooleanOut; /** * Stack identifier */ @core.attr(String, { computed: true }) public stackId!: string | core.StringOut; /** * (Required) Name of the StackSet. */ @core.attr(String) public stackSetName!: string | core.StringOut; constructor(name: string, args?: StackSetInstanceArgs) { super(name, "aws_cloudformation_stack_set_instance", args); } public override getNamespace(): string { return "aws_cloudformation"; } }