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