@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
925 lines • 133 kB
JavaScript
"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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