UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

924 lines 132 kB
"use strict"; var _a, _b, _c, _d, _e, _f; Object.defineProperty(exports, "__esModule", { value: true }); exports.CloudformationStackInstances = exports.CloudformationStackInstancesTimeoutsOutputReference = exports.cloudformationStackInstancesTimeoutsToHclTerraform = exports.cloudformationStackInstancesTimeoutsToTerraform = exports.CloudformationStackInstancesOperationPreferencesOutputReference = exports.cloudformationStackInstancesOperationPreferencesToHclTerraform = exports.cloudformationStackInstancesOperationPreferencesToTerraform = exports.CloudformationStackInstancesDeploymentTargetsOutputReference = exports.cloudformationStackInstancesDeploymentTargetsToHclTerraform = exports.cloudformationStackInstancesDeploymentTargetsToTerraform = exports.CloudformationStackInstancesStackInstanceSummariesList = exports.CloudformationStackInstancesStackInstanceSummariesOutputReference = exports.cloudformationStackInstancesStackInstanceSummariesToHclTerraform = exports.cloudformationStackInstancesStackInstanceSummariesToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function cloudformationStackInstancesStackInstanceSummariesToTerraform(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 {}; } exports.cloudformationStackInstancesStackInstanceSummariesToTerraform = cloudformationStackInstancesStackInstanceSummariesToTerraform; function cloudformationStackInstancesStackInstanceSummariesToHclTerraform(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; } exports.cloudformationStackInstancesStackInstanceSummariesToHclTerraform = cloudformationStackInstancesStackInstanceSummariesToHclTerraform; class CloudformationStackInstancesStackInstanceSummariesOutputReference 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'); } // detailed_status - computed: true, optional: false, required: false get detailedStatus() { return this.getStringAttribute('detailed_status'); } // drift_status - computed: true, optional: false, required: false get driftStatus() { return this.getStringAttribute('drift_status'); } // organizational_unit_id - computed: true, optional: false, required: false get organizationalUnitId() { return this.getStringAttribute('organizational_unit_id'); } // region - computed: true, optional: false, required: false get region() { return this.getStringAttribute('region'); } // stack_id - computed: true, optional: false, required: false get stackId() { return this.getStringAttribute('stack_id'); } // stack_set_id - computed: true, optional: false, required: false get stackSetId() { return this.getStringAttribute('stack_set_id'); } // status - computed: true, optional: false, required: false get status() { return this.getStringAttribute('status'); } // status_reason - computed: true, optional: false, required: false get statusReason() { return this.getStringAttribute('status_reason'); } } exports.CloudformationStackInstancesStackInstanceSummariesOutputReference = CloudformationStackInstancesStackInstanceSummariesOutputReference; _a = JSII_RTTI_SYMBOL_1; CloudformationStackInstancesStackInstanceSummariesOutputReference[_a] = { fqn: "@cdktf/provider-aws.cloudformationStackInstances.CloudformationStackInstancesStackInstanceSummariesOutputReference", version: "19.50.0" }; class CloudformationStackInstancesStackInstanceSummariesList 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 CloudformationStackInstancesStackInstanceSummariesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CloudformationStackInstancesStackInstanceSummariesList = CloudformationStackInstancesStackInstanceSummariesList; _b = JSII_RTTI_SYMBOL_1; CloudformationStackInstancesStackInstanceSummariesList[_b] = { fqn: "@cdktf/provider-aws.cloudformationStackInstances.CloudformationStackInstancesStackInstanceSummariesList", version: "19.50.0" }; function cloudformationStackInstancesDeploymentTargetsToTerraform(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), }; } exports.cloudformationStackInstancesDeploymentTargetsToTerraform = cloudformationStackInstancesDeploymentTargetsToTerraform; function cloudformationStackInstancesDeploymentTargetsToHclTerraform(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)); } exports.cloudformationStackInstancesDeploymentTargetsToHclTerraform = cloudformationStackInstancesDeploymentTargetsToHclTerraform; class CloudformationStackInstancesDeploymentTargetsOutputReference 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.CloudformationStackInstancesDeploymentTargetsOutputReference = CloudformationStackInstancesDeploymentTargetsOutputReference; _c = JSII_RTTI_SYMBOL_1; CloudformationStackInstancesDeploymentTargetsOutputReference[_c] = { fqn: "@cdktf/provider-aws.cloudformationStackInstances.CloudformationStackInstancesDeploymentTargetsOutputReference", version: "19.50.0" }; function cloudformationStackInstancesOperationPreferencesToTerraform(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), }; } exports.cloudformationStackInstancesOperationPreferencesToTerraform = cloudformationStackInstancesOperationPreferencesToTerraform; function cloudformationStackInstancesOperationPreferencesToHclTerraform(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)); } exports.cloudformationStackInstancesOperationPreferencesToHclTerraform = cloudformationStackInstancesOperationPreferencesToHclTerraform; class CloudformationStackInstancesOperationPreferencesOutputReference 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.CloudformationStackInstancesOperationPreferencesOutputReference = CloudformationStackInstancesOperationPreferencesOutputReference; _d = JSII_RTTI_SYMBOL_1; CloudformationStackInstancesOperationPreferencesOutputReference[_d] = { fqn: "@cdktf/provider-aws.cloudformationStackInstances.CloudformationStackInstancesOperationPreferencesOutputReference", version: "19.50.0" }; function cloudformationStackInstancesTimeoutsToTerraform(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), }; } exports.cloudformationStackInstancesTimeoutsToTerraform = cloudformationStackInstancesTimeoutsToTerraform; function cloudformationStackInstancesTimeoutsToHclTerraform(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)); } exports.cloudformationStackInstancesTimeoutsToHclTerraform = cloudformationStackInstancesTimeoutsToHclTerraform; class CloudformationStackInstancesTimeoutsOutputReference 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.CloudformationStackInstancesTimeoutsOutputReference = CloudformationStackInstancesTimeoutsOutputReference; _e = JSII_RTTI_SYMBOL_1; CloudformationStackInstancesTimeoutsOutputReference[_e] = { fqn: "@cdktf/provider-aws.cloudformationStackInstances.CloudformationStackInstancesTimeoutsOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/cloudformation_stack_instances aws_cloudformation_stack_instances} */ class CloudformationStackInstances extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a CloudformationStackInstances 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 CloudformationStackInstances to import * @param importFromId The id of the existing CloudformationStackInstances that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/cloudformation_stack_instances#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CloudformationStackInstances to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_cloudformation_stack_instances", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/cloudformation_stack_instances aws_cloudformation_stack_instances} 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 CloudformationStackInstancesConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_cloudformation_stack_instances', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.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 CloudformationStackInstancesStackInstanceSummariesList(this, "stack_instance_summaries", false); // deployment_targets - computed: false, optional: true, required: false this._deploymentTargets = new CloudformationStackInstancesDeploymentTargetsOutputReference(this, "deployment_targets"); // operation_preferences - computed: false, optional: true, required: false this._operationPreferences = new CloudformationStackInstancesOperationPreferencesOutputReference(this, "operation_preferences"); // timeouts - computed: false, optional: true, required: false this._timeouts = new CloudformationStackInstancesTimeoutsOutputReference(this, "timeouts"); this._accounts = config.accounts; this._callAs = config.callAs; this._id = config.id; this._parameterOverrides = config.parameterOverrides; this._regions = config.regions; this._retainStacks = config.retainStacks; this._stackSetName = config.stackSetName; this._deploymentTargets.internalValue = config.deploymentTargets; this._operationPreferences.internalValue = config.operationPreferences; this._timeouts.internalValue = config.timeouts; } 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 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; } 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 regions() { return cdktf.Fn.tolist(this.getListAttribute('regions')); } set regions(value) { this._regions = value; } resetRegions() { this._regions = undefined; } // Temporarily expose input value. Use with caution. get regionsInput() { return this._regions; } get retainStacks() { return this.getBooleanAttribute('retain_stacks'); } set retainStacks(value) { this._retainStacks = value; } resetRetainStacks() { this._retainStacks = undefined; } // Temporarily expose input value. Use with caution. get retainStacksInput() { return this._retainStacks; } get stackInstanceSummaries() { return this._stackInstanceSummaries; } // stack_set_id - computed: true, optional: false, required: false get stackSetId() { return this.getStringAttribute('stack_set_id'); } 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 { accounts: cdktf.listMapper(cdktf.stringToTerraform, false)(this._accounts), call_as: cdktf.stringToTerraform(this._callAs), id: cdktf.stringToTerraform(this._id), parameter_overrides: cdktf.hashMapper(cdktf.stringToTerraform)(this._parameterOverrides), regions: cdktf.listMapper(cdktf.stringToTerraform, false)(this._regions), retain_stacks: cdktf.booleanToTerraform(this._retainStacks), stack_set_name: cdktf.stringToTerraform(this._stackSetName), deployment_targets: cloudformationStackInstancesDeploymentTargetsToTerraform(this._deploymentTargets.internalValue), operation_preferences: cloudformationStackInstancesOperationPreferencesToTerraform(this._operationPreferences.internalValue), timeouts: cloudformationStackInstancesTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { accounts: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._accounts), isBlock: false, type: "set", storageClassType: "stringList", }, 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", }, regions: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._regions), isBlock: false, type: "set", storageClassType: "stringList", }, retain_stacks: { value: cdktf.booleanToHclTerraform(this._retainStacks), isBlock: false, type: "simple", storageClassType: "boolean", }, stack_set_name: { value: cdktf.stringToHclTerraform(this._stackSetName), isBlock: false, type: "simple", storageClassType: "string", }, deployment_targets: { value: cloudformationStackInstancesDeploymentTargetsToHclTerraform(this._deploymentTargets.internalValue), isBlock: true, type: "list", storageClassType: "CloudformationStackInstancesDeploymentTargetsList", }, operation_preferences: { value: cloudformationStackInstancesOperationPreferencesToHclTerraform(this._operationPreferences.internalValue), isBlock: true, type: "list", storageClassType: "CloudformationStackInstancesOperationPreferencesList", }, timeouts: { value: cloudformationStackInstancesTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "CloudformationStackInstancesTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.CloudformationStackInstances = CloudformationStackInstances; _f = JSII_RTTI_SYMBOL_1; CloudformationStackInstances[_f] = { fqn: "@cdktf/provider-aws.cloudformationStackInstances.CloudformationStackInstances", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= CloudformationStackInstances.tfResourceType = "aws_cloudformation_stack_instances"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWRmb3JtYXRpb24tc3RhY2staW5zdGFuY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBMEQvQixTQUFnQiw2REFBNkQsQ0FBQyxNQUEyRDtJQUN2SSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPLEVBQ04sQ0FBQTtBQUNILENBQUM7QUFQRCxzSUFPQztBQUdELFNBQWdCLGdFQUFnRSxDQUFDLE1BQTJEO0lBQzFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLEVBQ2IsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVJELDRJQVFDO0FBRUQsTUFBYSxpRUFBa0UsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUd4Rzs7Ozs7TUFLRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQixFQUFFLGtCQUEwQixFQUFFLHNC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