UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,173 lines 235 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.FsxOntapVolume = exports.FsxOntapVolumeTimeoutsOutputReference = exports.FsxOntapVolumeTieringPolicyOutputReference = exports.FsxOntapVolumeSnaplockConfigurationOutputReference = exports.FsxOntapVolumeSnaplockConfigurationRetentionPeriodOutputReference = exports.FsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionOutputReference = exports.FsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionOutputReference = exports.FsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionOutputReference = exports.FsxOntapVolumeSnaplockConfigurationAutocommitPeriodOutputReference = exports.FsxOntapVolumeAggregateConfigurationOutputReference = void 0; exports.fsxOntapVolumeAggregateConfigurationToTerraform = fsxOntapVolumeAggregateConfigurationToTerraform; exports.fsxOntapVolumeAggregateConfigurationToHclTerraform = fsxOntapVolumeAggregateConfigurationToHclTerraform; exports.fsxOntapVolumeSnaplockConfigurationAutocommitPeriodToTerraform = fsxOntapVolumeSnaplockConfigurationAutocommitPeriodToTerraform; exports.fsxOntapVolumeSnaplockConfigurationAutocommitPeriodToHclTerraform = fsxOntapVolumeSnaplockConfigurationAutocommitPeriodToHclTerraform; exports.fsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionToTerraform = fsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionToTerraform; exports.fsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionToHclTerraform = fsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionToHclTerraform; exports.fsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionToTerraform = fsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionToTerraform; exports.fsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionToHclTerraform = fsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionToHclTerraform; exports.fsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionToTerraform = fsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionToTerraform; exports.fsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionToHclTerraform = fsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionToHclTerraform; exports.fsxOntapVolumeSnaplockConfigurationRetentionPeriodToTerraform = fsxOntapVolumeSnaplockConfigurationRetentionPeriodToTerraform; exports.fsxOntapVolumeSnaplockConfigurationRetentionPeriodToHclTerraform = fsxOntapVolumeSnaplockConfigurationRetentionPeriodToHclTerraform; exports.fsxOntapVolumeSnaplockConfigurationToTerraform = fsxOntapVolumeSnaplockConfigurationToTerraform; exports.fsxOntapVolumeSnaplockConfigurationToHclTerraform = fsxOntapVolumeSnaplockConfigurationToHclTerraform; exports.fsxOntapVolumeTieringPolicyToTerraform = fsxOntapVolumeTieringPolicyToTerraform; exports.fsxOntapVolumeTieringPolicyToHclTerraform = fsxOntapVolumeTieringPolicyToHclTerraform; exports.fsxOntapVolumeTimeoutsToTerraform = fsxOntapVolumeTimeoutsToTerraform; exports.fsxOntapVolumeTimeoutsToHclTerraform = fsxOntapVolumeTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function fsxOntapVolumeAggregateConfigurationToTerraform(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 { aggregates: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.aggregates), constituents_per_aggregate: cdktf.numberToTerraform(struct.constituentsPerAggregate), }; } function fsxOntapVolumeAggregateConfigurationToHclTerraform(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 = { aggregates: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.aggregates), isBlock: false, type: "list", storageClassType: "stringList", }, constituents_per_aggregate: { value: cdktf.numberToHclTerraform(struct.constituentsPerAggregate), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FsxOntapVolumeAggregateConfigurationOutputReference 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._aggregates !== undefined) { hasAnyValues = true; internalValueResult.aggregates = this._aggregates; } if (this._constituentsPerAggregate !== undefined) { hasAnyValues = true; internalValueResult.constituentsPerAggregate = this._constituentsPerAggregate; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._aggregates = undefined; this._constituentsPerAggregate = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._aggregates = value.aggregates; this._constituentsPerAggregate = value.constituentsPerAggregate; } } get aggregates() { return this.getListAttribute('aggregates'); } set aggregates(value) { this._aggregates = value; } resetAggregates() { this._aggregates = undefined; } // Temporarily expose input value. Use with caution. get aggregatesInput() { return this._aggregates; } get constituentsPerAggregate() { return this.getNumberAttribute('constituents_per_aggregate'); } set constituentsPerAggregate(value) { this._constituentsPerAggregate = value; } resetConstituentsPerAggregate() { this._constituentsPerAggregate = undefined; } // Temporarily expose input value. Use with caution. get constituentsPerAggregateInput() { return this._constituentsPerAggregate; } // total_constituents - computed: true, optional: false, required: false get totalConstituents() { return this.getNumberAttribute('total_constituents'); } } exports.FsxOntapVolumeAggregateConfigurationOutputReference = FsxOntapVolumeAggregateConfigurationOutputReference; _a = JSII_RTTI_SYMBOL_1; FsxOntapVolumeAggregateConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-aws.fsxOntapVolume.FsxOntapVolumeAggregateConfigurationOutputReference", version: "21.22.1" }; function fsxOntapVolumeSnaplockConfigurationAutocommitPeriodToTerraform(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), value: cdktf.numberToTerraform(struct.value), }; } function fsxOntapVolumeSnaplockConfigurationAutocommitPeriodToHclTerraform(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", }, value: { value: cdktf.numberToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FsxOntapVolumeSnaplockConfigurationAutocommitPeriodOutputReference 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._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._type = undefined; this._value = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._type = value.type; this._value = value.value; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get value() { return this.getNumberAttribute('value'); } set value(value) { this._value = value; } resetValue() { this._value = undefined; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.FsxOntapVolumeSnaplockConfigurationAutocommitPeriodOutputReference = FsxOntapVolumeSnaplockConfigurationAutocommitPeriodOutputReference; _b = JSII_RTTI_SYMBOL_1; FsxOntapVolumeSnaplockConfigurationAutocommitPeriodOutputReference[_b] = { fqn: "@cdktf/provider-aws.fsxOntapVolume.FsxOntapVolumeSnaplockConfigurationAutocommitPeriodOutputReference", version: "21.22.1" }; function fsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionToTerraform(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), value: cdktf.numberToTerraform(struct.value), }; } function fsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionToHclTerraform(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", }, value: { value: cdktf.numberToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionOutputReference 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._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._type = undefined; this._value = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._type = value.type; this._value = value.value; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get value() { return this.getNumberAttribute('value'); } set value(value) { this._value = value; } resetValue() { this._value = undefined; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.FsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionOutputReference = FsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionOutputReference; _c = JSII_RTTI_SYMBOL_1; FsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionOutputReference[_c] = { fqn: "@cdktf/provider-aws.fsxOntapVolume.FsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionOutputReference", version: "21.22.1" }; function fsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionToTerraform(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), value: cdktf.numberToTerraform(struct.value), }; } function fsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionToHclTerraform(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", }, value: { value: cdktf.numberToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionOutputReference 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._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._type = undefined; this._value = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._type = value.type; this._value = value.value; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get value() { return this.getNumberAttribute('value'); } set value(value) { this._value = value; } resetValue() { this._value = undefined; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.FsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionOutputReference = FsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionOutputReference; _d = JSII_RTTI_SYMBOL_1; FsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionOutputReference[_d] = { fqn: "@cdktf/provider-aws.fsxOntapVolume.FsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionOutputReference", version: "21.22.1" }; function fsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionToTerraform(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), value: cdktf.numberToTerraform(struct.value), }; } function fsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionToHclTerraform(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", }, value: { value: cdktf.numberToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionOutputReference 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._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._type = undefined; this._value = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._type = value.type; this._value = value.value; } } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get value() { return this.getNumberAttribute('value'); } set value(value) { this._value = value; } resetValue() { this._value = undefined; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.FsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionOutputReference = FsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionOutputReference; _e = JSII_RTTI_SYMBOL_1; FsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionOutputReference[_e] = { fqn: "@cdktf/provider-aws.fsxOntapVolume.FsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionOutputReference", version: "21.22.1" }; function fsxOntapVolumeSnaplockConfigurationRetentionPeriodToTerraform(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 { default_retention: fsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionToTerraform(struct.defaultRetention), maximum_retention: fsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionToTerraform(struct.maximumRetention), minimum_retention: fsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionToTerraform(struct.minimumRetention), }; } function fsxOntapVolumeSnaplockConfigurationRetentionPeriodToHclTerraform(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 = { default_retention: { value: fsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionToHclTerraform(struct.defaultRetention), isBlock: true, type: "list", storageClassType: "FsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionList", }, maximum_retention: { value: fsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionToHclTerraform(struct.maximumRetention), isBlock: true, type: "list", storageClassType: "FsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionList", }, minimum_retention: { value: fsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionToHclTerraform(struct.minimumRetention), isBlock: true, type: "list", storageClassType: "FsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FsxOntapVolumeSnaplockConfigurationRetentionPeriodOutputReference 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; // default_retention - computed: false, optional: true, required: false this._defaultRetention = new FsxOntapVolumeSnaplockConfigurationRetentionPeriodDefaultRetentionOutputReference(this, "default_retention"); // maximum_retention - computed: false, optional: true, required: false this._maximumRetention = new FsxOntapVolumeSnaplockConfigurationRetentionPeriodMaximumRetentionOutputReference(this, "maximum_retention"); // minimum_retention - computed: false, optional: true, required: false this._minimumRetention = new FsxOntapVolumeSnaplockConfigurationRetentionPeriodMinimumRetentionOutputReference(this, "minimum_retention"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._defaultRetention?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.defaultRetention = this._defaultRetention?.internalValue; } if (this._maximumRetention?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.maximumRetention = this._maximumRetention?.internalValue; } if (this._minimumRetention?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.minimumRetention = this._minimumRetention?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._defaultRetention.internalValue = undefined; this._maximumRetention.internalValue = undefined; this._minimumRetention.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._defaultRetention.internalValue = value.defaultRetention; this._maximumRetention.internalValue = value.maximumRetention; this._minimumRetention.internalValue = value.minimumRetention; } } get defaultRetention() { return this._defaultRetention; } putDefaultRetention(value) { this._defaultRetention.internalValue = value; } resetDefaultRetention() { this._defaultRetention.internalValue = undefined; } // Temporarily expose input value. Use with caution. get defaultRetentionInput() { return this._defaultRetention.internalValue; } get maximumRetention() { return this._maximumRetention; } putMaximumRetention(value) { this._maximumRetention.internalValue = value; } resetMaximumRetention() { this._maximumRetention.internalValue = undefined; } // Temporarily expose input value. Use with caution. get maximumRetentionInput() { return this._maximumRetention.internalValue; } get minimumRetention() { return this._minimumRetention; } putMinimumRetention(value) { this._minimumRetention.internalValue = value; } resetMinimumRetention() { this._minimumRetention.internalValue = undefined; } // Temporarily expose input value. Use with caution. get minimumRetentionInput() { return this._minimumRetention.internalValue; } } exports.FsxOntapVolumeSnaplockConfigurationRetentionPeriodOutputReference = FsxOntapVolumeSnaplockConfigurationRetentionPeriodOutputReference; _f = JSII_RTTI_SYMBOL_1; FsxOntapVolumeSnaplockConfigurationRetentionPeriodOutputReference[_f] = { fqn: "@cdktf/provider-aws.fsxOntapVolume.FsxOntapVolumeSnaplockConfigurationRetentionPeriodOutputReference", version: "21.22.1" }; function fsxOntapVolumeSnaplockConfigurationToTerraform(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 { audit_log_volume: cdktf.booleanToTerraform(struct.auditLogVolume), privileged_delete: cdktf.stringToTerraform(struct.privilegedDelete), snaplock_type: cdktf.stringToTerraform(struct.snaplockType), volume_append_mode_enabled: cdktf.booleanToTerraform(struct.volumeAppendModeEnabled), autocommit_period: fsxOntapVolumeSnaplockConfigurationAutocommitPeriodToTerraform(struct.autocommitPeriod), retention_period: fsxOntapVolumeSnaplockConfigurationRetentionPeriodToTerraform(struct.retentionPeriod), }; } function fsxOntapVolumeSnaplockConfigurationToHclTerraform(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 = { audit_log_volume: { value: cdktf.booleanToHclTerraform(struct.auditLogVolume), isBlock: false, type: "simple", storageClassType: "boolean", }, privileged_delete: { value: cdktf.stringToHclTerraform(struct.privilegedDelete), isBlock: false, type: "simple", storageClassType: "string", }, snaplock_type: { value: cdktf.stringToHclTerraform(struct.snaplockType), isBlock: false, type: "simple", storageClassType: "string", }, volume_append_mode_enabled: { value: cdktf.booleanToHclTerraform(struct.volumeAppendModeEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, autocommit_period: { value: fsxOntapVolumeSnaplockConfigurationAutocommitPeriodToHclTerraform(struct.autocommitPeriod), isBlock: true, type: "list", storageClassType: "FsxOntapVolumeSnaplockConfigurationAutocommitPeriodList", }, retention_period: { value: fsxOntapVolumeSnaplockConfigurationRetentionPeriodToHclTerraform(struct.retentionPeriod), isBlock: true, type: "list", storageClassType: "FsxOntapVolumeSnaplockConfigurationRetentionPeriodList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FsxOntapVolumeSnaplockConfigurationOutputReference 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; // autocommit_period - computed: false, optional: true, required: false this._autocommitPeriod = new FsxOntapVolumeSnaplockConfigurationAutocommitPeriodOutputReference(this, "autocommit_period"); // retention_period - computed: false, optional: true, required: false this._retentionPeriod = new FsxOntapVolumeSnaplockConfigurationRetentionPeriodOutputReference(this, "retention_period"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._auditLogVolume !== undefined) { hasAnyValues = true; internalValueResult.auditLogVolume = this._auditLogVolume; } if (this._privilegedDelete !== undefined) { hasAnyValues = true; internalValueResult.privilegedDelete = this._privilegedDelete; } if (this._snaplockType !== undefined) { hasAnyValues = true; internalValueResult.snaplockType = this._snaplockType; } if (this._volumeAppendModeEnabled !== undefined) { hasAnyValues = true; internalValueResult.volumeAppendModeEnabled = this._volumeAppendModeEnabled; } if (this._autocommitPeriod?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.autocommitPeriod = this._autocommitPeriod?.internalValue; } if (this._retentionPeriod?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.retentionPeriod = this._retentionPeriod?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._auditLogVolume = undefined; this._privilegedDelete = undefined; this._snaplockType = undefined; this._volumeAppendModeEnabled = undefined; this._autocommitPeriod.internalValue = undefined; this._retentionPeriod.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._auditLogVolume = value.auditLogVolume; this._privilegedDelete = value.privilegedDelete; this._snaplockType = value.snaplockType; this._volumeAppendModeEnabled = value.volumeAppendModeEnabled; this._autocommitPeriod.internalValue = value.autocommitPeriod; this._retentionPeriod.internalValue = value.retentionPeriod; } } get auditLogVolume() { return this.getBooleanAttribute('audit_log_volume'); } set auditLogVolume(value) { this._auditLogVolume = value; } resetAuditLogVolume() { this._auditLogVolume = undefined; } // Temporarily expose input value. Use with caution. get auditLogVolumeInput() { return this._auditLogVolume; } get privilegedDelete() { return this.getStringAttribute('privileged_delete'); } set privilegedDelete(value) { this._privilegedDelete = value; } resetPrivilegedDelete() { this._privilegedDelete = undefined; } // Temporarily expose input value. Use with caution. get privilegedDeleteInput() { return this._privilegedDelete; } get snaplockType() { return this.getStringAttribute('snaplock_type'); } set snaplockType(value) { this._snaplockType = value; } // Temporarily expose input value. Use with caution. get snaplockTypeInput() { return this._snaplockType; } get volumeAppendModeEnabled() { return this.getBooleanAttribute('volume_append_mode_enabled'); } set volumeAppendModeEnabled(value) { this._volumeAppendModeEnabled = value; } resetVolumeAppendModeEnabled() { this._volumeAppendModeEnabled = undefined; } // Temporarily expose input value. Use with caution. get volumeAppendModeEnabledInput() { return this._volumeAppendModeEnabled; } get autocommitPeriod() { return this._autocommitPeriod; } putAutocommitPeriod(value) { this._autocommitPeriod.internalValue = value; } resetAutocommitPeriod() { this._autocommitPeriod.internalValue = undefined; } // Temporarily expose input value. Use with caution. get autocommitPeriodInput() { return this._autocommitPeriod.internalValue; } get retentionPeriod() { return this._retentionPeriod; } putRetentionPeriod(value) { this._retentionPeriod.internalValue = value; } resetRetentionPeriod() { this._retentionPeriod.internalValue = undefined; } // Temporarily expose input value. Use with caution. get retentionPeriodInput() { return this._retentionPeriod.internalValue; } } exports.FsxOntapVolumeSnaplockConfigurationOutputReference = FsxOntapVolumeSnaplockConfigurationOutputReference; _g = JSII_RTTI_SYMBOL_1; FsxOntapVolumeSnaplockConfigurationOutputReference[_g] = { fqn: "@cdktf/provider-aws.fsxOntapVolume.FsxOntapVolumeSnaplockConfigurationOutputReference", version: "21.22.1" }; function fsxOntapVolumeTieringPolicyToTerraform(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 { cooling_period: cdktf.numberToTerraform(struct.coolingPeriod), name: cdktf.stringToTerraform(struct.name), }; } function fsxOntapVolumeTieringPolicyToHclTerraform(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 = { cooling_period: { value: cdktf.numberToHclTerraform(struct.coolingPeriod), isBlock: false, type: "simple", storageClassType: "number", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FsxOntapVolumeTieringPolicyOutputReference 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._coolingPeriod !== undefined) { hasAnyValues = true; internalValueResult.coolingPeriod = this._coolingPeriod; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._coolingPeriod = undefined; this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._coolingPeriod = value.coolingPeriod; this._name = value.name; } } get coolingPeriod() { return this.getNumberAttribute('cooling_period'); } set coolingPeriod(value) { this._coolingPeriod = value; } resetCoolingPeriod() { this._coolingPeriod = undefined; } // Temporarily expose input value. Use with caution. get coolingPeriodInput() { return this._coolingPeriod; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.FsxOntapVolumeTieringPolicyOutputReference = FsxOntapVolumeTieringPolicyOutputReference; _h = JSII_RTTI_SYMBOL_1; FsxOntapVolumeTieringPolicyOutputReference[_h] = { fqn: "@cdktf/provider-aws.fsxOntapVolume.FsxOntapVolumeTieringPolicyOutputReference", version: "21.22.1" }; function fsxOntapVolumeTimeoutsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } function fsxOntapVolumeTimeoutsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class FsxOntapVolumeTimeoutsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._update = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._create = value.create; this._delete = value.delete; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.FsxOntapVolumeTimeoutsOutputReference = FsxOntapVolumeTimeoutsOutputReference; _j = JSII_RTTI_SYMBOL_1; FsxOntapVolumeTimeoutsOutputReference[_j] = { fqn: "@cdktf/provider-aws.fsxOntapVolume.FsxOntapVolumeTimeoutsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/fsx_ontap_volume aws_fsx_ontap_volume} */ class FsxOntapVolume extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a FsxOntapVolume resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the FsxOntapVolume to import * @param importFromId The id of the existing FsxOntapVolume that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/fsx_ontap_volume#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the FsxOntapVolume to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_fsx_ontap_volume", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/fsx_ontap_volume aws_fsx_ontap_volume} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options FsxOntapVolumeConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_fsx_ontap_volume', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // aggregate_configuration - computed: false, optional: true, required: false this._aggregateConfiguration = new FsxOntapVolumeAggregateConfigurationOutputReference(this, "aggregate_configuration"); // snaplock_configuration - computed: false, optional: true, required: false this._snaplockConfiguration = new FsxOntapVolumeSnaplockConfigurationOutputReference(this, "snaplock_configuration"); // tiering_policy - computed: false, optional: true, required: false this._tieringPolicy = new FsxOntapVolumeTieringPolicyOutputReference(this, "tiering_policy"); // timeouts - computed: false, optional: true, required: false this._timeouts = new FsxOntapVolumeTimeoutsOutputReference(this, "timeouts"); this._bypassSnaplockEnterpriseRetention = config.bypassSnaplockEnterpriseRetention; this._copyTagsToBackups = config.copyTagsToBackups; this._finalBackupTags = config.finalBackupTags; this._id = config.id; this._junctionPath = config.junctionPath; this._name = config.name; this._ontapVolumeType = config.ontapVolumeType; this._region = config.region; this._securityStyle = config.securityStyle; this._sizeInBytes = config.sizeInBytes; this._sizeInMegabytes = config.sizeInMegabytes; this._skipFinalBackup = config.skipFinalBackup; this._snapshotPolicy = config.snapshotPolicy; this._storageEfficiencyEnabled = config.storageEfficiencyEnabled; this._storageVirtualMachineId = config.storageVirtualMachineId; this._tags = config.tags; this._tagsAll = config.tagsAll; this._volumeStyle = config.volumeStyle; this._volumeType = config.volumeType; this._aggregateConfiguration.internalValue = config.aggregateConfiguration; this._snaplockConfiguration.internalValue = config.snaplockConfiguration; this._tieringPolicy.internalValue = config.tieringPolic