UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,055 lines 527 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1; Object.defineProperty(exports, "__esModule", { value: true }); exports.DlmLifecyclePolicy = exports.DlmLifecyclePolicyPolicyDetailsOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleList = exports.DlmLifecyclePolicyPolicyDetailsScheduleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleShareRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleRetainRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleFastRestoreRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleDeprecateRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleList = exports.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleCreateRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleCreateRuleScriptsOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleRetentionArchiveTierOutputReference = exports.DlmLifecyclePolicyPolicyDetailsParametersOutputReference = exports.DlmLifecyclePolicyPolicyDetailsExclusionsOutputReference = exports.DlmLifecyclePolicyPolicyDetailsEventSourceOutputReference = exports.DlmLifecyclePolicyPolicyDetailsEventSourceParametersOutputReference = exports.DlmLifecyclePolicyPolicyDetailsActionOutputReference = exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyList = exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyOutputReference = exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleOutputReference = exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationOutputReference = void 0; exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToTerraform; exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToHclTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToTerraform; exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToHclTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsActionToTerraform = dlmLifecyclePolicyPolicyDetailsActionToTerraform; exports.dlmLifecyclePolicyPolicyDetailsActionToHclTerraform = dlmLifecyclePolicyPolicyDetailsActionToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsEventSourceParametersToTerraform = dlmLifecyclePolicyPolicyDetailsEventSourceParametersToTerraform; exports.dlmLifecyclePolicyPolicyDetailsEventSourceParametersToHclTerraform = dlmLifecyclePolicyPolicyDetailsEventSourceParametersToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsEventSourceToTerraform = dlmLifecyclePolicyPolicyDetailsEventSourceToTerraform; exports.dlmLifecyclePolicyPolicyDetailsEventSourceToHclTerraform = dlmLifecyclePolicyPolicyDetailsEventSourceToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsExclusionsToTerraform = dlmLifecyclePolicyPolicyDetailsExclusionsToTerraform; exports.dlmLifecyclePolicyPolicyDetailsExclusionsToHclTerraform = dlmLifecyclePolicyPolicyDetailsExclusionsToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsParametersToTerraform = dlmLifecyclePolicyPolicyDetailsParametersToTerraform; exports.dlmLifecyclePolicyPolicyDetailsParametersToHclTerraform = dlmLifecyclePolicyPolicyDetailsParametersToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleRetentionArchiveTierToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleRetentionArchiveTierToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleRetentionArchiveTierToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleRetentionArchiveTierToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleScriptsToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleScriptsToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleScriptsToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleScriptsToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleDeprecateRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleDeprecateRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleDeprecateRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleDeprecateRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleFastRestoreRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleFastRestoreRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleFastRestoreRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleFastRestoreRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleRetainRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleRetainRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleRetainRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleRetainRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleShareRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleShareRuleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleShareRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleShareRuleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleToTerraform; exports.dlmLifecyclePolicyPolicyDetailsScheduleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleToHclTerraform; exports.dlmLifecyclePolicyPolicyDetailsToTerraform = dlmLifecyclePolicyPolicyDetailsToTerraform; exports.dlmLifecyclePolicyPolicyDetailsToHclTerraform = dlmLifecyclePolicyPolicyDetailsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToTerraform(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 { cmk_arn: cdktf.stringToTerraform(struct.cmkArn), encrypted: cdktf.booleanToTerraform(struct.encrypted), }; } function dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToHclTerraform(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 = { cmk_arn: { value: cdktf.stringToHclTerraform(struct.cmkArn), isBlock: false, type: "simple", storageClassType: "string", }, encrypted: { value: cdktf.booleanToHclTerraform(struct.encrypted), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationOutputReference 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._cmkArn !== undefined) { hasAnyValues = true; internalValueResult.cmkArn = this._cmkArn; } if (this._encrypted !== undefined) { hasAnyValues = true; internalValueResult.encrypted = this._encrypted; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cmkArn = undefined; this._encrypted = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cmkArn = value.cmkArn; this._encrypted = value.encrypted; } } get cmkArn() { return this.getStringAttribute('cmk_arn'); } set cmkArn(value) { this._cmkArn = value; } resetCmkArn() { this._cmkArn = undefined; } // Temporarily expose input value. Use with caution. get cmkArnInput() { return this._cmkArn; } get encrypted() { return this.getBooleanAttribute('encrypted'); } set encrypted(value) { this._encrypted = value; } resetEncrypted() { this._encrypted = undefined; } // Temporarily expose input value. Use with caution. get encryptedInput() { return this._encrypted; } } exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationOutputReference = DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationOutputReference; _a = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationOutputReference", version: "21.22.1" }; function dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToTerraform(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 { interval: cdktf.numberToTerraform(struct.interval), interval_unit: cdktf.stringToTerraform(struct.intervalUnit), }; } function dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToHclTerraform(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 = { interval: { value: cdktf.numberToHclTerraform(struct.interval), isBlock: false, type: "simple", storageClassType: "number", }, interval_unit: { value: cdktf.stringToHclTerraform(struct.intervalUnit), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleOutputReference 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._interval !== undefined) { hasAnyValues = true; internalValueResult.interval = this._interval; } if (this._intervalUnit !== undefined) { hasAnyValues = true; internalValueResult.intervalUnit = this._intervalUnit; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._interval = undefined; this._intervalUnit = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._interval = value.interval; this._intervalUnit = value.intervalUnit; } } get interval() { return this.getNumberAttribute('interval'); } set interval(value) { this._interval = value; } // Temporarily expose input value. Use with caution. get intervalInput() { return this._interval; } get intervalUnit() { return this.getStringAttribute('interval_unit'); } set intervalUnit(value) { this._intervalUnit = value; } // Temporarily expose input value. Use with caution. get intervalUnitInput() { return this._intervalUnit; } } exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleOutputReference = DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleOutputReference; _b = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleOutputReference[_b] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleOutputReference", version: "21.22.1" }; function dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToTerraform(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 { target: cdktf.stringToTerraform(struct.target), encryption_configuration: dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToTerraform(struct.encryptionConfiguration), retain_rule: dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToTerraform(struct.retainRule), }; } function dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToHclTerraform(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 = { target: { value: cdktf.stringToHclTerraform(struct.target), isBlock: false, type: "simple", storageClassType: "string", }, encryption_configuration: { value: dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToHclTerraform(struct.encryptionConfiguration), isBlock: true, type: "list", storageClassType: "DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationList", }, retain_rule: { value: dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToHclTerraform(struct.retainRule), isBlock: true, type: "list", storageClassType: "DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyOutputReference 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; // encryption_configuration - computed: false, optional: false, required: true this._encryptionConfiguration = new DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationOutputReference(this, "encryption_configuration"); // retain_rule - computed: false, optional: true, required: false this._retainRule = new DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleOutputReference(this, "retain_rule"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._target !== undefined) { hasAnyValues = true; internalValueResult.target = this._target; } if (this._encryptionConfiguration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.encryptionConfiguration = this._encryptionConfiguration?.internalValue; } if (this._retainRule?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.retainRule = this._retainRule?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._target = undefined; this._encryptionConfiguration.internalValue = undefined; this._retainRule.internalValue = 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._target = value.target; this._encryptionConfiguration.internalValue = value.encryptionConfiguration; this._retainRule.internalValue = value.retainRule; } } get target() { return this.getStringAttribute('target'); } set target(value) { this._target = value; } // Temporarily expose input value. Use with caution. get targetInput() { return this._target; } get encryptionConfiguration() { return this._encryptionConfiguration; } putEncryptionConfiguration(value) { this._encryptionConfiguration.internalValue = value; } // Temporarily expose input value. Use with caution. get encryptionConfigurationInput() { return this._encryptionConfiguration.internalValue; } get retainRule() { return this._retainRule; } putRetainRule(value) { this._retainRule.internalValue = value; } resetRetainRule() { this._retainRule.internalValue = undefined; } // Temporarily expose input value. Use with caution. get retainRuleInput() { return this._retainRule.internalValue; } } exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyOutputReference = DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyOutputReference; _c = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyOutputReference[_c] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyOutputReference", version: "21.22.1" }; class DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyList 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 DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyList = DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyList; _d = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyList[_d] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyList", version: "21.22.1" }; function dlmLifecyclePolicyPolicyDetailsActionToTerraform(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 { name: cdktf.stringToTerraform(struct.name), cross_region_copy: cdktf.listMapper(dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToTerraform, true)(struct.crossRegionCopy), }; } function dlmLifecyclePolicyPolicyDetailsActionToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, cross_region_copy: { value: cdktf.listMapperHcl(dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToHclTerraform, true)(struct.crossRegionCopy), isBlock: true, type: "set", storageClassType: "DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DlmLifecyclePolicyPolicyDetailsActionOutputReference 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; // cross_region_copy - computed: false, optional: false, required: true this._crossRegionCopy = new DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyList(this, "cross_region_copy", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._crossRegionCopy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.crossRegionCopy = this._crossRegionCopy?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._crossRegionCopy.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._crossRegionCopy.internalValue = value.crossRegionCopy; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get crossRegionCopy() { return this._crossRegionCopy; } putCrossRegionCopy(value) { this._crossRegionCopy.internalValue = value; } // Temporarily expose input value. Use with caution. get crossRegionCopyInput() { return this._crossRegionCopy.internalValue; } } exports.DlmLifecyclePolicyPolicyDetailsActionOutputReference = DlmLifecyclePolicyPolicyDetailsActionOutputReference; _e = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsActionOutputReference[_e] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsActionOutputReference", version: "21.22.1" }; function dlmLifecyclePolicyPolicyDetailsEventSourceParametersToTerraform(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 { description_regex: cdktf.stringToTerraform(struct.descriptionRegex), event_type: cdktf.stringToTerraform(struct.eventType), snapshot_owner: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.snapshotOwner), }; } function dlmLifecyclePolicyPolicyDetailsEventSourceParametersToHclTerraform(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 = { description_regex: { value: cdktf.stringToHclTerraform(struct.descriptionRegex), isBlock: false, type: "simple", storageClassType: "string", }, event_type: { value: cdktf.stringToHclTerraform(struct.eventType), isBlock: false, type: "simple", storageClassType: "string", }, snapshot_owner: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.snapshotOwner), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DlmLifecyclePolicyPolicyDetailsEventSourceParametersOutputReference 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._descriptionRegex !== undefined) { hasAnyValues = true; internalValueResult.descriptionRegex = this._descriptionRegex; } if (this._eventType !== undefined) { hasAnyValues = true; internalValueResult.eventType = this._eventType; } if (this._snapshotOwner !== undefined) { hasAnyValues = true; internalValueResult.snapshotOwner = this._snapshotOwner; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._descriptionRegex = undefined; this._eventType = undefined; this._snapshotOwner = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._descriptionRegex = value.descriptionRegex; this._eventType = value.eventType; this._snapshotOwner = value.snapshotOwner; } } get descriptionRegex() { return this.getStringAttribute('description_regex'); } set descriptionRegex(value) { this._descriptionRegex = value; } // Temporarily expose input value. Use with caution. get descriptionRegexInput() { return this._descriptionRegex; } get eventType() { return this.getStringAttribute('event_type'); } set eventType(value) { this._eventType = value; } // Temporarily expose input value. Use with caution. get eventTypeInput() { return this._eventType; } get snapshotOwner() { return cdktf.Fn.tolist(this.getListAttribute('snapshot_owner')); } set snapshotOwner(value) { this._snapshotOwner = value; } // Temporarily expose input value. Use with caution. get snapshotOwnerInput() { return this._snapshotOwner; } } exports.DlmLifecyclePolicyPolicyDetailsEventSourceParametersOutputReference = DlmLifecyclePolicyPolicyDetailsEventSourceParametersOutputReference; _f = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsEventSourceParametersOutputReference[_f] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsEventSourceParametersOutputReference", version: "21.22.1" }; function dlmLifecyclePolicyPolicyDetailsEventSourceToTerraform(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 { type: cdktf.stringToTerraform(struct.type), parameters: dlmLifecyclePolicyPolicyDetailsEventSourceParametersToTerraform(struct.parameters), }; } function dlmLifecyclePolicyPolicyDetailsEventSourceToHclTerraform(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 = { type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, parameters: { value: dlmLifecyclePolicyPolicyDetailsEventSourceParametersToHclTerraform(struct.parameters), isBlock: true, type: "list", storageClassType: "DlmLifecyclePolicyPolicyDetailsEventSourceParametersList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DlmLifecyclePolicyPolicyDetailsEventSourceOutputReference 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; // parameters - computed: false, optional: false, required: true this._parameters = new DlmLifecyclePolicyPolicyDetailsEventSourceParametersOutputReference(this, "parameters"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._parameters?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.parameters = this._parameters?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._type = undefined; this._parameters.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._type = value.type; this._parameters.internalValue = value.parameters; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get parameters() { return this._parameters; } putParameters(value) { this._parameters.internalValue = value; } // Temporarily expose input value. Use with caution. get parametersInput() { return this._parameters.internalValue; } } exports.DlmLifecyclePolicyPolicyDetailsEventSourceOutputReference = DlmLifecyclePolicyPolicyDetailsEventSourceOutputReference; _g = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsEventSourceOutputReference[_g] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsEventSourceOutputReference", version: "21.22.1" }; function dlmLifecyclePolicyPolicyDetailsExclusionsToTerraform(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 { exclude_boot_volumes: cdktf.booleanToTerraform(struct.excludeBootVolumes), exclude_tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.excludeTags), exclude_volume_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.excludeVolumeTypes), }; } function dlmLifecyclePolicyPolicyDetailsExclusionsToHclTerraform(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 = { exclude_boot_volumes: { value: cdktf.booleanToHclTerraform(struct.excludeBootVolumes), isBlock: false, type: "simple", storageClassType: "boolean", }, exclude_tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.excludeTags), isBlock: false, type: "map", storageClassType: "stringMap", }, exclude_volume_types: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.excludeVolumeTypes), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DlmLifecyclePolicyPolicyDetailsExclusionsOutputReference 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._excludeBootVolumes !== undefined) { hasAnyValues = true; internalValueResult.excludeBootVolumes = this._excludeBootVolumes; } if (this._excludeTags !== undefined) { hasAnyValues = true; internalValueResult.excludeTags = this._excludeTags; } if (this._excludeVolumeTypes !== undefined) { hasAnyValues = true; internalValueResult.excludeVolumeTypes = this._excludeVolumeTypes; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._excludeBootVolumes = undefined; this._excludeTags = undefined; this._excludeVolumeTypes = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._excludeBootVolumes = value.excludeBootVolumes; this._excludeTags = value.excludeTags; this._excludeVolumeTypes = value.excludeVolumeTypes; } } get excludeBootVolumes() { return this.getBooleanAttribute('exclude_boot_volumes'); } set excludeBootVolumes(value) { this._excludeBootVolumes = value; } resetExcludeBootVolumes() { this._excludeBootVolumes = undefined; } // Temporarily expose input value. Use with caution. get excludeBootVolumesInput() { return this._excludeBootVolumes; } get excludeTags() { return this.getStringMapAttribute('exclude_tags'); } set excludeTags(value) { this._excludeTags = value; } resetExcludeTags() { this._excludeTags = undefined; } // Temporarily expose input value. Use with caution. get excludeTagsInput() { return this._excludeTags; } get excludeVolumeTypes() { return this.getListAttribute('exclude_volume_types'); } set excludeVolumeTypes(value) { this._excludeVolumeTypes = value; } resetExcludeVolumeTypes() { this._excludeVolumeTypes = undefined; } // Temporarily expose input value. Use with caution. get excludeVolumeTypesInput() { return this._excludeVolumeTypes; } } exports.DlmLifecyclePolicyPolicyDetailsExclusionsOutputReference = DlmLifecyclePolicyPolicyDetailsExclusionsOutputReference; _h = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsExclusionsOutputReference[_h] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsExclusionsOutputReference", version: "21.22.1" }; function dlmLifecyclePolicyPolicyDetailsParametersToTerraform(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 { exclude_boot_volume: cdktf.booleanToTerraform(struct.excludeBootVolume), no_reboot: cdktf.booleanToTerraform(struct.noReboot), }; } function dlmLifecyclePolicyPolicyDetailsParametersToHclTerraform(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 = { exclude_boot_volume: { value: cdktf.booleanToHclTerraform(struct.excludeBootVolume), isBlock: false, type: "simple", storageClassType: "boolean", }, no_reboot: { value: cdktf.booleanToHclTerraform(struct.noReboot), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DlmLifecyclePolicyPolicyDetailsParametersOutputReference 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._excludeBootVolume !== undefined) { hasAnyValues = true; internalValueResult.excludeBootVolume = this._excludeBootVolume; } if (this._noReboot !== undefined) { hasAnyValues = true; internalValueResult.noReboot = this._noReboot; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._excludeBootVolume = undefined; this._noReboot = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._excludeBootVolume = value.excludeBootVolume; this._noReboot = value.noReboot; } } get excludeBootVolume() { return this.getBooleanAttribute('exclude_boot_volume'); } set excludeBootVolume(value) { this._excludeBootVolume = value; } resetExcludeBootVolume() { this._excludeBootVolume = undefined; } // Temporarily expose input value. Use with caution. get excludeBootVolumeInput() { return this._excludeBootVolume; } get noReboot() { return this.getBooleanAttribute('no_reboot'); } set noReboot(value) { this._noReboot = value; } resetNoReboot() { this._noReboot = undefined; } // Temporarily expose input value. Use with caution. get noRebootInput() { return this._noReboot; } } exports.DlmLifecyclePolicyPolicyDetailsParametersOutputReference = DlmLifecyclePolicyPolicyDetailsParametersOutputReference; _j = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsParametersOutputReference[_j] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsParametersOutputReference", version: "21.22.1" }; function dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleRetentionArchiveTierToTerraform(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 { count: cdktf.numberToTerraform(struct.count), interval: cdktf.numberToTerraform(struct.interval), interval_unit: cdktf.stringToTerraform(struct.intervalUnit), }; } function dlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleRetentionArchiveTierToHclTerraform(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 = { count: { value: cdktf.numberToHclTerraform(struct.count), isBlock: false, type: "simple", storageClassType: "number", }, interval: { value: cdktf.numberToHclTerraform(struct.interval), isBlock: false, type: "simple", storageClassType: "number", }, interval_unit: { value: cdktf.stringToHclTerraform(struct.intervalUnit), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class DlmLifecyclePolicyPolicyDetailsScheduleArchiveRuleArchiveRetainRuleRetentionArchiveTierOutputReference 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._count !== undefined) { hasAnyValues = true; internalValueResult.count = this._count; } if (this._interval !== undefined) { hasAnyValues = true; internalValueResult.interval = this._interval; } if (this._intervalUnit !== undefined) { hasAnyValues = true; internalValueResult.intervalUnit = this._intervalUnit; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._count = undefined; this._interval = undefined; this._intervalUnit = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; this._interval = value.interval; this._intervalUnit = value.intervalUnit; } } get count() { return this.getNumberAttribute('count'); } set count(value) { this._count = value; } resetCount() { this._count = undefined; } // Temporarily expose input value. Use with caution. get countInput() { return this._count; } get interval() { return this.getNumberAttribute('interval'); } set interval(value) { this._interval = value; } resetInterval() { this._interval = undefined; } // Temporarily expose input value. Use with caution. get intervalInput() { return this._interval; } get intervalUnit() { return this.getStringAttribute('interval_unit'); } set intervalUnit(value) { this._intervalUnit = value; } resetIntervalUnit() { this._intervalUnit = undefined; } // Temporarily expose input value. Use with