UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,071 lines 395 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; Object.defineProperty(exports, "__esModule", { value: true }); exports.DlmLifecyclePolicyPolicyDetailsScheduleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsScheduleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsScheduleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsScheduleShareRuleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsScheduleShareRuleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsScheduleShareRuleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsScheduleRetainRuleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsScheduleRetainRuleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsScheduleRetainRuleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsScheduleFastRestoreRuleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsScheduleFastRestoreRuleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsScheduleFastRestoreRuleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsScheduleDeprecateRuleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsScheduleDeprecateRuleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsScheduleDeprecateRuleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleList = exports.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsScheduleCreateRuleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsParametersOutputReference = exports.dlmLifecyclePolicyPolicyDetailsParametersToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsParametersToTerraform = exports.DlmLifecyclePolicyPolicyDetailsEventSourceOutputReference = exports.dlmLifecyclePolicyPolicyDetailsEventSourceToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsEventSourceToTerraform = exports.DlmLifecyclePolicyPolicyDetailsEventSourceParametersOutputReference = exports.dlmLifecyclePolicyPolicyDetailsEventSourceParametersToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsEventSourceParametersToTerraform = exports.DlmLifecyclePolicyPolicyDetailsActionOutputReference = exports.dlmLifecyclePolicyPolicyDetailsActionToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsActionToTerraform = exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyList = exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyOutputReference = exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToTerraform = exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleOutputReference = exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToTerraform = exports.DlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationOutputReference = exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToTerraform = void 0; exports.DlmLifecyclePolicy = exports.DlmLifecyclePolicyPolicyDetailsOutputReference = exports.dlmLifecyclePolicyPolicyDetailsToHclTerraform = exports.dlmLifecyclePolicyPolicyDetailsToTerraform = exports.DlmLifecyclePolicyPolicyDetailsScheduleList = void 0; 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), }; } exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToTerraform; 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)); } exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToHclTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyEncryptionConfigurationToHclTerraform; 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: "19.50.0" }; 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), }; } exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToTerraform; 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)); } exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyRetainRuleToHclTerraform; 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: "19.50.0" }; 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), }; } exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToTerraform; 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)); } exports.dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToHclTerraform = dlmLifecyclePolicyPolicyDetailsActionCrossRegionCopyToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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), }; } exports.dlmLifecyclePolicyPolicyDetailsActionToTerraform = dlmLifecyclePolicyPolicyDetailsActionToTerraform; 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)); } exports.dlmLifecyclePolicyPolicyDetailsActionToHclTerraform = dlmLifecyclePolicyPolicyDetailsActionToHclTerraform; 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: "19.50.0" }; 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), }; } exports.dlmLifecyclePolicyPolicyDetailsEventSourceParametersToTerraform = dlmLifecyclePolicyPolicyDetailsEventSourceParametersToTerraform; 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)); } exports.dlmLifecyclePolicyPolicyDetailsEventSourceParametersToHclTerraform = dlmLifecyclePolicyPolicyDetailsEventSourceParametersToHclTerraform; 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: "19.50.0" }; 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), }; } exports.dlmLifecyclePolicyPolicyDetailsEventSourceToTerraform = dlmLifecyclePolicyPolicyDetailsEventSourceToTerraform; 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)); } exports.dlmLifecyclePolicyPolicyDetailsEventSourceToHclTerraform = dlmLifecyclePolicyPolicyDetailsEventSourceToHclTerraform; 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: "19.50.0" }; 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), }; } exports.dlmLifecyclePolicyPolicyDetailsParametersToTerraform = dlmLifecyclePolicyPolicyDetailsParametersToTerraform; 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)); } exports.dlmLifecyclePolicyPolicyDetailsParametersToHclTerraform = dlmLifecyclePolicyPolicyDetailsParametersToHclTerraform; 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; _h = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsParametersOutputReference[_h] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsParametersOutputReference", version: "19.50.0" }; function dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToTerraform(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 { cron_expression: cdktf.stringToTerraform(struct.cronExpression), interval: cdktf.numberToTerraform(struct.interval), interval_unit: cdktf.stringToTerraform(struct.intervalUnit), location: cdktf.stringToTerraform(struct.location), times: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.times), }; } exports.dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToTerraform; function dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToHclTerraform(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 = { cron_expression: { value: cdktf.stringToHclTerraform(struct.cronExpression), isBlock: false, type: "simple", storageClassType: "string", }, 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", }, location: { value: cdktf.stringToHclTerraform(struct.location), isBlock: false, type: "simple", storageClassType: "string", }, times: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.times), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCreateRuleToHclTerraform; class DlmLifecyclePolicyPolicyDetailsScheduleCreateRuleOutputReference 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._cronExpression !== undefined) { hasAnyValues = true; internalValueResult.cronExpression = this._cronExpression; } if (this._interval !== undefined) { hasAnyValues = true; internalValueResult.interval = this._interval; } if (this._intervalUnit !== undefined) { hasAnyValues = true; internalValueResult.intervalUnit = this._intervalUnit; } if (this._location !== undefined) { hasAnyValues = true; internalValueResult.location = this._location; } if (this._times !== undefined) { hasAnyValues = true; internalValueResult.times = this._times; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._cronExpression = undefined; this._interval = undefined; this._intervalUnit = undefined; this._location = undefined; this._times = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._cronExpression = value.cronExpression; this._interval = value.interval; this._intervalUnit = value.intervalUnit; this._location = value.location; this._times = value.times; } } get cronExpression() { return this.getStringAttribute('cron_expression'); } set cronExpression(value) { this._cronExpression = value; } resetCronExpression() { this._cronExpression = undefined; } // Temporarily expose input value. Use with caution. get cronExpressionInput() { return this._cronExpression; } 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 caution. get intervalUnitInput() { return this._intervalUnit; } get location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } resetLocation() { this._location = undefined; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } get times() { return this.getListAttribute('times'); } set times(value) { this._times = value; } resetTimes() { this._times = undefined; } // Temporarily expose input value. Use with caution. get timesInput() { return this._times; } } exports.DlmLifecyclePolicyPolicyDetailsScheduleCreateRuleOutputReference = DlmLifecyclePolicyPolicyDetailsScheduleCreateRuleOutputReference; _j = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsScheduleCreateRuleOutputReference[_j] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsScheduleCreateRuleOutputReference", version: "19.50.0" }; function dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToTerraform(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), }; } exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToTerraform; function dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToHclTerraform(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)); } exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToHclTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleToHclTerraform; class DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleOutputReference 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.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleOutputReference = DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleOutputReference; _k = JSII_RTTI_SYMBOL_1; DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleOutputReference[_k] = { fqn: "@cdktf/provider-aws.dlmLifecyclePolicy.DlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleDeprecateRuleOutputReference", version: "19.50.0" }; function dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleToTerraform(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), }; } exports.dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleToTerraform = dlmLifecyclePolicyPolicyDetailsScheduleCrossRegionCopyRuleRetainRuleToTerraform; function dlmLif