UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

925 lines 133 kB
"use strict"; var _a, _b, _c, _d, _e, _f; Object.defineProperty(exports, "__esModule", { value: true }); exports.CloudformationStackSetInstance = exports.CloudformationStackSetInstanceTimeoutsOutputReference = exports.CloudformationStackSetInstanceOperationPreferencesOutputReference = exports.CloudformationStackSetInstanceDeploymentTargetsOutputReference = exports.CloudformationStackSetInstanceStackInstanceSummariesList = exports.CloudformationStackSetInstanceStackInstanceSummariesOutputReference = void 0; exports.cloudformationStackSetInstanceStackInstanceSummariesToTerraform = cloudformationStackSetInstanceStackInstanceSummariesToTerraform; exports.cloudformationStackSetInstanceStackInstanceSummariesToHclTerraform = cloudformationStackSetInstanceStackInstanceSummariesToHclTerraform; exports.cloudformationStackSetInstanceDeploymentTargetsToTerraform = cloudformationStackSetInstanceDeploymentTargetsToTerraform; exports.cloudformationStackSetInstanceDeploymentTargetsToHclTerraform = cloudformationStackSetInstanceDeploymentTargetsToHclTerraform; exports.cloudformationStackSetInstanceOperationPreferencesToTerraform = cloudformationStackSetInstanceOperationPreferencesToTerraform; exports.cloudformationStackSetInstanceOperationPreferencesToHclTerraform = cloudformationStackSetInstanceOperationPreferencesToHclTerraform; exports.cloudformationStackSetInstanceTimeoutsToTerraform = cloudformationStackSetInstanceTimeoutsToTerraform; exports.cloudformationStackSetInstanceTimeoutsToHclTerraform = cloudformationStackSetInstanceTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function cloudformationStackSetInstanceStackInstanceSummariesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return {}; } function cloudformationStackSetInstanceStackInstanceSummariesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = {}; return attrs; } class CloudformationStackSetInstanceStackInstanceSummariesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // account_id - computed: true, optional: false, required: false get accountId() { return this.getStringAttribute('account_id'); } // organizational_unit_id - computed: true, optional: false, required: false get organizationalUnitId() { return this.getStringAttribute('organizational_unit_id'); } // stack_id - computed: true, optional: false, required: false get stackId() { return this.getStringAttribute('stack_id'); } } exports.CloudformationStackSetInstanceStackInstanceSummariesOutputReference = CloudformationStackSetInstanceStackInstanceSummariesOutputReference; _a = JSII_RTTI_SYMBOL_1; CloudformationStackSetInstanceStackInstanceSummariesOutputReference[_a] = { fqn: "@cdktf/provider-aws.cloudformationStackSetInstance.CloudformationStackSetInstanceStackInstanceSummariesOutputReference", version: "21.22.1" }; class CloudformationStackSetInstanceStackInstanceSummariesList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new CloudformationStackSetInstanceStackInstanceSummariesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudformationStackSetInstanceStackInstanceSummariesList = CloudformationStackSetInstanceStackInstanceSummariesList; _b = JSII_RTTI_SYMBOL_1; CloudformationStackSetInstanceStackInstanceSummariesList[_b] = { fqn: "@cdktf/provider-aws.cloudformationStackSetInstance.CloudformationStackSetInstanceStackInstanceSummariesList", version: "21.22.1" }; function cloudformationStackSetInstanceDeploymentTargetsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { account_filter_type: cdktf.stringToTerraform(struct.accountFilterType), accounts: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.accounts), accounts_url: cdktf.stringToTerraform(struct.accountsUrl), organizational_unit_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.organizationalUnitIds), }; } function cloudformationStackSetInstanceDeploymentTargetsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { account_filter_type: { value: cdktf.stringToHclTerraform(struct.accountFilterType), isBlock: false, type: "simple", storageClassType: "string", }, accounts: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.accounts), isBlock: false, type: "set", storageClassType: "stringList", }, accounts_url: { value: cdktf.stringToHclTerraform(struct.accountsUrl), isBlock: false, type: "simple", storageClassType: "string", }, organizational_unit_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.organizationalUnitIds), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CloudformationStackSetInstanceDeploymentTargetsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._accountFilterType !== undefined) { hasAnyValues = true; internalValueResult.accountFilterType = this._accountFilterType; } if (this._accounts !== undefined) { hasAnyValues = true; internalValueResult.accounts = this._accounts; } if (this._accountsUrl !== undefined) { hasAnyValues = true; internalValueResult.accountsUrl = this._accountsUrl; } if (this._organizationalUnitIds !== undefined) { hasAnyValues = true; internalValueResult.organizationalUnitIds = this._organizationalUnitIds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._accountFilterType = undefined; this._accounts = undefined; this._accountsUrl = undefined; this._organizationalUnitIds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._accountFilterType = value.accountFilterType; this._accounts = value.accounts; this._accountsUrl = value.accountsUrl; this._organizationalUnitIds = value.organizationalUnitIds; } } get accountFilterType() { return this.getStringAttribute('account_filter_type'); } set accountFilterType(value) { this._accountFilterType = value; } resetAccountFilterType() { this._accountFilterType = undefined; } // Temporarily expose input value. Use with caution. get accountFilterTypeInput() { return this._accountFilterType; } get accounts() { return cdktf.Fn.tolist(this.getListAttribute('accounts')); } set accounts(value) { this._accounts = value; } resetAccounts() { this._accounts = undefined; } // Temporarily expose input value. Use with caution. get accountsInput() { return this._accounts; } get accountsUrl() { return this.getStringAttribute('accounts_url'); } set accountsUrl(value) { this._accountsUrl = value; } resetAccountsUrl() { this._accountsUrl = undefined; } // Temporarily expose input value. Use with caution. get accountsUrlInput() { return this._accountsUrl; } get organizationalUnitIds() { return cdktf.Fn.tolist(this.getListAttribute('organizational_unit_ids')); } set organizationalUnitIds(value) { this._organizationalUnitIds = value; } resetOrganizationalUnitIds() { this._organizationalUnitIds = undefined; } // Temporarily expose input value. Use with caution. get organizationalUnitIdsInput() { return this._organizationalUnitIds; } } exports.CloudformationStackSetInstanceDeploymentTargetsOutputReference = CloudformationStackSetInstanceDeploymentTargetsOutputReference; _c = JSII_RTTI_SYMBOL_1; CloudformationStackSetInstanceDeploymentTargetsOutputReference[_c] = { fqn: "@cdktf/provider-aws.cloudformationStackSetInstance.CloudformationStackSetInstanceDeploymentTargetsOutputReference", version: "21.22.1" }; function cloudformationStackSetInstanceOperationPreferencesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { concurrency_mode: cdktf.stringToTerraform(struct.concurrencyMode), failure_tolerance_count: cdktf.numberToTerraform(struct.failureToleranceCount), failure_tolerance_percentage: cdktf.numberToTerraform(struct.failureTolerancePercentage), max_concurrent_count: cdktf.numberToTerraform(struct.maxConcurrentCount), max_concurrent_percentage: cdktf.numberToTerraform(struct.maxConcurrentPercentage), region_concurrency_type: cdktf.stringToTerraform(struct.regionConcurrencyType), region_order: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.regionOrder), }; } function cloudformationStackSetInstanceOperationPreferencesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { concurrency_mode: { value: cdktf.stringToHclTerraform(struct.concurrencyMode), isBlock: false, type: "simple", storageClassType: "string", }, failure_tolerance_count: { value: cdktf.numberToHclTerraform(struct.failureToleranceCount), isBlock: false, type: "simple", storageClassType: "number", }, failure_tolerance_percentage: { value: cdktf.numberToHclTerraform(struct.failureTolerancePercentage), isBlock: false, type: "simple", storageClassType: "number", }, max_concurrent_count: { value: cdktf.numberToHclTerraform(struct.maxConcurrentCount), isBlock: false, type: "simple", storageClassType: "number", }, max_concurrent_percentage: { value: cdktf.numberToHclTerraform(struct.maxConcurrentPercentage), isBlock: false, type: "simple", storageClassType: "number", }, region_concurrency_type: { value: cdktf.stringToHclTerraform(struct.regionConcurrencyType), isBlock: false, type: "simple", storageClassType: "string", }, region_order: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.regionOrder), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CloudformationStackSetInstanceOperationPreferencesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._concurrencyMode !== undefined) { hasAnyValues = true; internalValueResult.concurrencyMode = this._concurrencyMode; } if (this._failureToleranceCount !== undefined) { hasAnyValues = true; internalValueResult.failureToleranceCount = this._failureToleranceCount; } if (this._failureTolerancePercentage !== undefined) { hasAnyValues = true; internalValueResult.failureTolerancePercentage = this._failureTolerancePercentage; } if (this._maxConcurrentCount !== undefined) { hasAnyValues = true; internalValueResult.maxConcurrentCount = this._maxConcurrentCount; } if (this._maxConcurrentPercentage !== undefined) { hasAnyValues = true; internalValueResult.maxConcurrentPercentage = this._maxConcurrentPercentage; } if (this._regionConcurrencyType !== undefined) { hasAnyValues = true; internalValueResult.regionConcurrencyType = this._regionConcurrencyType; } if (this._regionOrder !== undefined) { hasAnyValues = true; internalValueResult.regionOrder = this._regionOrder; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._concurrencyMode = undefined; this._failureToleranceCount = undefined; this._failureTolerancePercentage = undefined; this._maxConcurrentCount = undefined; this._maxConcurrentPercentage = undefined; this._regionConcurrencyType = undefined; this._regionOrder = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._concurrencyMode = value.concurrencyMode; this._failureToleranceCount = value.failureToleranceCount; this._failureTolerancePercentage = value.failureTolerancePercentage; this._maxConcurrentCount = value.maxConcurrentCount; this._maxConcurrentPercentage = value.maxConcurrentPercentage; this._regionConcurrencyType = value.regionConcurrencyType; this._regionOrder = value.regionOrder; } } get concurrencyMode() { return this.getStringAttribute('concurrency_mode'); } set concurrencyMode(value) { this._concurrencyMode = value; } resetConcurrencyMode() { this._concurrencyMode = undefined; } // Temporarily expose input value. Use with caution. get concurrencyModeInput() { return this._concurrencyMode; } get failureToleranceCount() { return this.getNumberAttribute('failure_tolerance_count'); } set failureToleranceCount(value) { this._failureToleranceCount = value; } resetFailureToleranceCount() { this._failureToleranceCount = undefined; } // Temporarily expose input value. Use with caution. get failureToleranceCountInput() { return this._failureToleranceCount; } get failureTolerancePercentage() { return this.getNumberAttribute('failure_tolerance_percentage'); } set failureTolerancePercentage(value) { this._failureTolerancePercentage = value; } resetFailureTolerancePercentage() { this._failureTolerancePercentage = undefined; } // Temporarily expose input value. Use with caution. get failureTolerancePercentageInput() { return this._failureTolerancePercentage; } get maxConcurrentCount() { return this.getNumberAttribute('max_concurrent_count'); } set maxConcurrentCount(value) { this._maxConcurrentCount = value; } resetMaxConcurrentCount() { this._maxConcurrentCount = undefined; } // Temporarily expose input value. Use with caution. get maxConcurrentCountInput() { return this._maxConcurrentCount; } get maxConcurrentPercentage() { return this.getNumberAttribute('max_concurrent_percentage'); } set maxConcurrentPercentage(value) { this._maxConcurrentPercentage = value; } resetMaxConcurrentPercentage() { this._maxConcurrentPercentage = undefined; } // Temporarily expose input value. Use with caution. get maxConcurrentPercentageInput() { return this._maxConcurrentPercentage; } get regionConcurrencyType() { return this.getStringAttribute('region_concurrency_type'); } set regionConcurrencyType(value) { this._regionConcurrencyType = value; } resetRegionConcurrencyType() { this._regionConcurrencyType = undefined; } // Temporarily expose input value. Use with caution. get regionConcurrencyTypeInput() { return this._regionConcurrencyType; } get regionOrder() { return this.getListAttribute('region_order'); } set regionOrder(value) { this._regionOrder = value; } resetRegionOrder() { this._regionOrder = undefined; } // Temporarily expose input value. Use with caution. get regionOrderInput() { return this._regionOrder; } } exports.CloudformationStackSetInstanceOperationPreferencesOutputReference = CloudformationStackSetInstanceOperationPreferencesOutputReference; _d = JSII_RTTI_SYMBOL_1; CloudformationStackSetInstanceOperationPreferencesOutputReference[_d] = { fqn: "@cdktf/provider-aws.cloudformationStackSetInstance.CloudformationStackSetInstanceOperationPreferencesOutputReference", version: "21.22.1" }; function cloudformationStackSetInstanceTimeoutsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } function cloudformationStackSetInstanceTimeoutsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class CloudformationStackSetInstanceTimeoutsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._update = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._create = value.create; this._delete = value.delete; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.CloudformationStackSetInstanceTimeoutsOutputReference = CloudformationStackSetInstanceTimeoutsOutputReference; _e = JSII_RTTI_SYMBOL_1; CloudformationStackSetInstanceTimeoutsOutputReference[_e] = { fqn: "@cdktf/provider-aws.cloudformationStackSetInstance.CloudformationStackSetInstanceTimeoutsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudformation_stack_set_instance aws_cloudformation_stack_set_instance} */ class CloudformationStackSetInstance extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a CloudformationStackSetInstance resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the CloudformationStackSetInstance to import * @param importFromId The id of the existing CloudformationStackSetInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudformation_stack_set_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CloudformationStackSetInstance to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_cloudformation_stack_set_instance", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/cloudformation_stack_set_instance aws_cloudformation_stack_set_instance} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options CloudformationStackSetInstanceConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_cloudformation_stack_set_instance', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // stack_instance_summaries - computed: true, optional: false, required: false this._stackInstanceSummaries = new CloudformationStackSetInstanceStackInstanceSummariesList(this, "stack_instance_summaries", false); // deployment_targets - computed: false, optional: true, required: false this._deploymentTargets = new CloudformationStackSetInstanceDeploymentTargetsOutputReference(this, "deployment_targets"); // operation_preferences - computed: false, optional: true, required: false this._operationPreferences = new CloudformationStackSetInstanceOperationPreferencesOutputReference(this, "operation_preferences"); // timeouts - computed: false, optional: true, required: false this._timeouts = new CloudformationStackSetInstanceTimeoutsOutputReference(this, "timeouts"); this._accountId = config.accountId; this._callAs = config.callAs; this._id = config.id; this._parameterOverrides = config.parameterOverrides; this._region = config.region; this._retainStack = config.retainStack; this._stackSetInstanceRegion = config.stackSetInstanceRegion; this._stackSetName = config.stackSetName; this._deploymentTargets.internalValue = config.deploymentTargets; this._operationPreferences.internalValue = config.operationPreferences; this._timeouts.internalValue = config.timeouts; } get accountId() { return this.getStringAttribute('account_id'); } set accountId(value) { this._accountId = value; } resetAccountId() { this._accountId = undefined; } // Temporarily expose input value. Use with caution. get accountIdInput() { return this._accountId; } get callAs() { return this.getStringAttribute('call_as'); } set callAs(value) { this._callAs = value; } resetCallAs() { this._callAs = undefined; } // Temporarily expose input value. Use with caution. get callAsInput() { return this._callAs; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } // organizational_unit_id - computed: true, optional: false, required: false get organizationalUnitId() { return this.getStringAttribute('organizational_unit_id'); } get parameterOverrides() { return this.getStringMapAttribute('parameter_overrides'); } set parameterOverrides(value) { this._parameterOverrides = value; } resetParameterOverrides() { this._parameterOverrides = undefined; } // Temporarily expose input value. Use with caution. get parameterOverridesInput() { return this._parameterOverrides; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } get retainStack() { return this.getBooleanAttribute('retain_stack'); } set retainStack(value) { this._retainStack = value; } resetRetainStack() { this._retainStack = undefined; } // Temporarily expose input value. Use with caution. get retainStackInput() { return this._retainStack; } // stack_id - computed: true, optional: false, required: false get stackId() { return this.getStringAttribute('stack_id'); } get stackInstanceSummaries() { return this._stackInstanceSummaries; } get stackSetInstanceRegion() { return this.getStringAttribute('stack_set_instance_region'); } set stackSetInstanceRegion(value) { this._stackSetInstanceRegion = value; } resetStackSetInstanceRegion() { this._stackSetInstanceRegion = undefined; } // Temporarily expose input value. Use with caution. get stackSetInstanceRegionInput() { return this._stackSetInstanceRegion; } get stackSetName() { return this.getStringAttribute('stack_set_name'); } set stackSetName(value) { this._stackSetName = value; } // Temporarily expose input value. Use with caution. get stackSetNameInput() { return this._stackSetName; } get deploymentTargets() { return this._deploymentTargets; } putDeploymentTargets(value) { this._deploymentTargets.internalValue = value; } resetDeploymentTargets() { this._deploymentTargets.internalValue = undefined; } // Temporarily expose input value. Use with caution. get deploymentTargetsInput() { return this._deploymentTargets.internalValue; } get operationPreferences() { return this._operationPreferences; } putOperationPreferences(value) { this._operationPreferences.internalValue = value; } resetOperationPreferences() { this._operationPreferences.internalValue = undefined; } // Temporarily expose input value. Use with caution. get operationPreferencesInput() { return this._operationPreferences.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { account_id: cdktf.stringToTerraform(this._accountId), call_as: cdktf.stringToTerraform(this._callAs), id: cdktf.stringToTerraform(this._id), parameter_overrides: cdktf.hashMapper(cdktf.stringToTerraform)(this._parameterOverrides), region: cdktf.stringToTerraform(this._region), retain_stack: cdktf.booleanToTerraform(this._retainStack), stack_set_instance_region: cdktf.stringToTerraform(this._stackSetInstanceRegion), stack_set_name: cdktf.stringToTerraform(this._stackSetName), deployment_targets: cloudformationStackSetInstanceDeploymentTargetsToTerraform(this._deploymentTargets.internalValue), operation_preferences: cloudformationStackSetInstanceOperationPreferencesToTerraform(this._operationPreferences.internalValue), timeouts: cloudformationStackSetInstanceTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { account_id: { value: cdktf.stringToHclTerraform(this._accountId), isBlock: false, type: "simple", storageClassType: "string", }, call_as: { value: cdktf.stringToHclTerraform(this._callAs), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, parameter_overrides: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._parameterOverrides), isBlock: false, type: "map", storageClassType: "stringMap", }, region: { value: cdktf.stringToHclTerraform(this._region), isBlock: false, type: "simple", storageClassType: "string", }, retain_stack: { value: cdktf.booleanToHclTerraform(this._retainStack), isBlock: false, type: "simple", storageClassType: "boolean", }, stack_set_instance_region: { value: cdktf.stringToHclTerraform(this._stackSetInstanceRegion), isBlock: false, type: "simple", storageClassType: "string", }, stack_set_name: { value: cdktf.stringToHclTerraform(this._stackSetName), isBlock: false, type: "simple", storageClassType: "string", }, deployment_targets: { value: cloudformationStackSetInstanceDeploymentTargetsToHclTerraform(this._deploymentTargets.internalValue), isBlock: true, type: "list", storageClassType: "CloudformationStackSetInstanceDeploymentTargetsList", }, operation_preferences: { value: cloudformationStackSetInstanceOperationPreferencesToHclTerraform(this._operationPreferences.internalValue), isBlock: true, type: "list", storageClassType: "CloudformationStackSetInstanceOperationPreferencesList", }, timeouts: { value: cloudformationStackSetInstanceTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "CloudformationStackSetInstanceTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.CloudformationStackSetInstance = CloudformationStackSetInstance; _f = JSII_RTTI_SYMBOL_1; CloudformationStackSetInstance[_f] = { fqn: "@cdktf/provider-aws.cloudformationStackSetInstance.CloudformationStackSetInstance", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= CloudformationStackSetInstance.tfResourceType = "aws_cloudformation_stack_set_instance"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWRmb3JtYXRpb24tc3RhY2stc2V0LWluc3RhbmNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUF1RUEsMElBT0M7QUFHRCxnSkFRQztBQW1GRCxnSUFXQztBQUdELHNJQWtDQztBQW1KRCxzSUFjQztBQUdELDRJQW9EQztBQXFNRCw4R0FVQztBQUdELG9IQTRCQzs7QUF6cEJELCtCQUErQjtBQThEL0IsU0FBZ0IsK0RBQStELENBQUMsTUFBNkQ7SUFDM0ksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTyxFQUNOLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0Isa0VBQWtFLENBQUMsTUFBNkQ7SUFDOUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsRUFDYixDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBYSxtRUFBb0UsU0FBUSxL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