UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,163 lines 217 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; Object.defineProperty(exports, "__esModule", { value: true }); exports.BackupPolicyVmWorkload = exports.BackupPolicyVmWorkloadTimeoutsOutputReference = exports.backupPolicyVmWorkloadTimeoutsToHclTerraform = exports.backupPolicyVmWorkloadTimeoutsToTerraform = exports.BackupPolicyVmWorkloadSettingsOutputReference = exports.backupPolicyVmWorkloadSettingsToHclTerraform = exports.backupPolicyVmWorkloadSettingsToTerraform = exports.BackupPolicyVmWorkloadProtectionPolicyList = exports.BackupPolicyVmWorkloadProtectionPolicyOutputReference = exports.backupPolicyVmWorkloadProtectionPolicyToHclTerraform = exports.backupPolicyVmWorkloadProtectionPolicyToTerraform = exports.BackupPolicyVmWorkloadProtectionPolicySimpleRetentionOutputReference = exports.backupPolicyVmWorkloadProtectionPolicySimpleRetentionToHclTerraform = exports.backupPolicyVmWorkloadProtectionPolicySimpleRetentionToTerraform = exports.BackupPolicyVmWorkloadProtectionPolicyRetentionYearlyOutputReference = exports.backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToHclTerraform = exports.backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToTerraform = exports.BackupPolicyVmWorkloadProtectionPolicyRetentionWeeklyOutputReference = exports.backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToHclTerraform = exports.backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToTerraform = exports.BackupPolicyVmWorkloadProtectionPolicyRetentionMonthlyOutputReference = exports.backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToHclTerraform = exports.backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToTerraform = exports.BackupPolicyVmWorkloadProtectionPolicyRetentionDailyOutputReference = exports.backupPolicyVmWorkloadProtectionPolicyRetentionDailyToHclTerraform = exports.backupPolicyVmWorkloadProtectionPolicyRetentionDailyToTerraform = exports.BackupPolicyVmWorkloadProtectionPolicyBackupOutputReference = exports.backupPolicyVmWorkloadProtectionPolicyBackupToHclTerraform = exports.backupPolicyVmWorkloadProtectionPolicyBackupToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function backupPolicyVmWorkloadProtectionPolicyBackupToTerraform(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 { frequency: cdktf.stringToTerraform(struct.frequency), frequency_in_minutes: cdktf.numberToTerraform(struct.frequencyInMinutes), time: cdktf.stringToTerraform(struct.time), weekdays: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.weekdays), }; } exports.backupPolicyVmWorkloadProtectionPolicyBackupToTerraform = backupPolicyVmWorkloadProtectionPolicyBackupToTerraform; function backupPolicyVmWorkloadProtectionPolicyBackupToHclTerraform(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 = { frequency: { value: cdktf.stringToHclTerraform(struct.frequency), isBlock: false, type: "simple", storageClassType: "string", }, frequency_in_minutes: { value: cdktf.numberToHclTerraform(struct.frequencyInMinutes), isBlock: false, type: "simple", storageClassType: "number", }, time: { value: cdktf.stringToHclTerraform(struct.time), isBlock: false, type: "simple", storageClassType: "string", }, weekdays: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.weekdays), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmWorkloadProtectionPolicyBackupToHclTerraform = backupPolicyVmWorkloadProtectionPolicyBackupToHclTerraform; class BackupPolicyVmWorkloadProtectionPolicyBackupOutputReference 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._frequency !== undefined) { hasAnyValues = true; internalValueResult.frequency = this._frequency; } if (this._frequencyInMinutes !== undefined) { hasAnyValues = true; internalValueResult.frequencyInMinutes = this._frequencyInMinutes; } if (this._time !== undefined) { hasAnyValues = true; internalValueResult.time = this._time; } if (this._weekdays !== undefined) { hasAnyValues = true; internalValueResult.weekdays = this._weekdays; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._frequency = undefined; this._frequencyInMinutes = undefined; this._time = undefined; this._weekdays = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._frequency = value.frequency; this._frequencyInMinutes = value.frequencyInMinutes; this._time = value.time; this._weekdays = value.weekdays; } } get frequency() { return this.getStringAttribute('frequency'); } set frequency(value) { this._frequency = value; } resetFrequency() { this._frequency = undefined; } // Temporarily expose input value. Use with caution. get frequencyInput() { return this._frequency; } get frequencyInMinutes() { return this.getNumberAttribute('frequency_in_minutes'); } set frequencyInMinutes(value) { this._frequencyInMinutes = value; } resetFrequencyInMinutes() { this._frequencyInMinutes = undefined; } // Temporarily expose input value. Use with caution. get frequencyInMinutesInput() { return this._frequencyInMinutes; } get time() { return this.getStringAttribute('time'); } set time(value) { this._time = value; } resetTime() { this._time = undefined; } // Temporarily expose input value. Use with caution. get timeInput() { return this._time; } get weekdays() { return cdktf.Fn.tolist(this.getListAttribute('weekdays')); } set weekdays(value) { this._weekdays = value; } resetWeekdays() { this._weekdays = undefined; } // Temporarily expose input value. Use with caution. get weekdaysInput() { return this._weekdays; } } exports.BackupPolicyVmWorkloadProtectionPolicyBackupOutputReference = BackupPolicyVmWorkloadProtectionPolicyBackupOutputReference; _a = JSII_RTTI_SYMBOL_1; BackupPolicyVmWorkloadProtectionPolicyBackupOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.backupPolicyVmWorkload.BackupPolicyVmWorkloadProtectionPolicyBackupOutputReference", version: "12.27.0" }; function backupPolicyVmWorkloadProtectionPolicyRetentionDailyToTerraform(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), }; } exports.backupPolicyVmWorkloadProtectionPolicyRetentionDailyToTerraform = backupPolicyVmWorkloadProtectionPolicyRetentionDailyToTerraform; function backupPolicyVmWorkloadProtectionPolicyRetentionDailyToHclTerraform(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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmWorkloadProtectionPolicyRetentionDailyToHclTerraform = backupPolicyVmWorkloadProtectionPolicyRetentionDailyToHclTerraform; class BackupPolicyVmWorkloadProtectionPolicyRetentionDailyOutputReference 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; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._count = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; } } get count() { return this.getNumberAttribute('count'); } set count(value) { this._count = value; } // Temporarily expose input value. Use with caution. get countInput() { return this._count; } } exports.BackupPolicyVmWorkloadProtectionPolicyRetentionDailyOutputReference = BackupPolicyVmWorkloadProtectionPolicyRetentionDailyOutputReference; _b = JSII_RTTI_SYMBOL_1; BackupPolicyVmWorkloadProtectionPolicyRetentionDailyOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.backupPolicyVmWorkload.BackupPolicyVmWorkloadProtectionPolicyRetentionDailyOutputReference", version: "12.27.0" }; function backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToTerraform(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), format_type: cdktf.stringToTerraform(struct.formatType), monthdays: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.monthdays), weekdays: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.weekdays), weeks: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.weeks), }; } exports.backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToTerraform = backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToTerraform; function backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToHclTerraform(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", }, format_type: { value: cdktf.stringToHclTerraform(struct.formatType), isBlock: false, type: "simple", storageClassType: "string", }, monthdays: { value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.monthdays), isBlock: false, type: "set", storageClassType: "numberList", }, weekdays: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.weekdays), isBlock: false, type: "set", storageClassType: "stringList", }, weeks: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.weeks), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToHclTerraform = backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToHclTerraform; class BackupPolicyVmWorkloadProtectionPolicyRetentionMonthlyOutputReference 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._formatType !== undefined) { hasAnyValues = true; internalValueResult.formatType = this._formatType; } if (this._monthdays !== undefined) { hasAnyValues = true; internalValueResult.monthdays = this._monthdays; } if (this._weekdays !== undefined) { hasAnyValues = true; internalValueResult.weekdays = this._weekdays; } if (this._weeks !== undefined) { hasAnyValues = true; internalValueResult.weeks = this._weeks; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._count = undefined; this._formatType = undefined; this._monthdays = undefined; this._weekdays = undefined; this._weeks = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; this._formatType = value.formatType; this._monthdays = value.monthdays; this._weekdays = value.weekdays; this._weeks = value.weeks; } } get count() { return this.getNumberAttribute('count'); } set count(value) { this._count = value; } // Temporarily expose input value. Use with caution. get countInput() { return this._count; } get formatType() { return this.getStringAttribute('format_type'); } set formatType(value) { this._formatType = value; } // Temporarily expose input value. Use with caution. get formatTypeInput() { return this._formatType; } get monthdays() { return cdktf.Token.asNumberList(cdktf.Fn.tolist(this.getNumberListAttribute('monthdays'))); } set monthdays(value) { this._monthdays = value; } resetMonthdays() { this._monthdays = undefined; } // Temporarily expose input value. Use with caution. get monthdaysInput() { return this._monthdays; } get weekdays() { return cdktf.Fn.tolist(this.getListAttribute('weekdays')); } set weekdays(value) { this._weekdays = value; } resetWeekdays() { this._weekdays = undefined; } // Temporarily expose input value. Use with caution. get weekdaysInput() { return this._weekdays; } get weeks() { return cdktf.Fn.tolist(this.getListAttribute('weeks')); } set weeks(value) { this._weeks = value; } resetWeeks() { this._weeks = undefined; } // Temporarily expose input value. Use with caution. get weeksInput() { return this._weeks; } } exports.BackupPolicyVmWorkloadProtectionPolicyRetentionMonthlyOutputReference = BackupPolicyVmWorkloadProtectionPolicyRetentionMonthlyOutputReference; _c = JSII_RTTI_SYMBOL_1; BackupPolicyVmWorkloadProtectionPolicyRetentionMonthlyOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.backupPolicyVmWorkload.BackupPolicyVmWorkloadProtectionPolicyRetentionMonthlyOutputReference", version: "12.27.0" }; function backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToTerraform(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), weekdays: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.weekdays), }; } exports.backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToTerraform = backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToTerraform; function backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToHclTerraform(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", }, weekdays: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.weekdays), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToHclTerraform = backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToHclTerraform; class BackupPolicyVmWorkloadProtectionPolicyRetentionWeeklyOutputReference 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._weekdays !== undefined) { hasAnyValues = true; internalValueResult.weekdays = this._weekdays; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._count = undefined; this._weekdays = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; this._weekdays = value.weekdays; } } get count() { return this.getNumberAttribute('count'); } set count(value) { this._count = value; } // Temporarily expose input value. Use with caution. get countInput() { return this._count; } get weekdays() { return cdktf.Fn.tolist(this.getListAttribute('weekdays')); } set weekdays(value) { this._weekdays = value; } // Temporarily expose input value. Use with caution. get weekdaysInput() { return this._weekdays; } } exports.BackupPolicyVmWorkloadProtectionPolicyRetentionWeeklyOutputReference = BackupPolicyVmWorkloadProtectionPolicyRetentionWeeklyOutputReference; _d = JSII_RTTI_SYMBOL_1; BackupPolicyVmWorkloadProtectionPolicyRetentionWeeklyOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.backupPolicyVmWorkload.BackupPolicyVmWorkloadProtectionPolicyRetentionWeeklyOutputReference", version: "12.27.0" }; function backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToTerraform(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), format_type: cdktf.stringToTerraform(struct.formatType), monthdays: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.monthdays), months: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.months), weekdays: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.weekdays), weeks: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.weeks), }; } exports.backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToTerraform = backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToTerraform; function backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToHclTerraform(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", }, format_type: { value: cdktf.stringToHclTerraform(struct.formatType), isBlock: false, type: "simple", storageClassType: "string", }, monthdays: { value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.monthdays), isBlock: false, type: "set", storageClassType: "numberList", }, months: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.months), isBlock: false, type: "set", storageClassType: "stringList", }, weekdays: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.weekdays), isBlock: false, type: "set", storageClassType: "stringList", }, weeks: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.weeks), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToHclTerraform = backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToHclTerraform; class BackupPolicyVmWorkloadProtectionPolicyRetentionYearlyOutputReference 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._formatType !== undefined) { hasAnyValues = true; internalValueResult.formatType = this._formatType; } if (this._monthdays !== undefined) { hasAnyValues = true; internalValueResult.monthdays = this._monthdays; } if (this._months !== undefined) { hasAnyValues = true; internalValueResult.months = this._months; } if (this._weekdays !== undefined) { hasAnyValues = true; internalValueResult.weekdays = this._weekdays; } if (this._weeks !== undefined) { hasAnyValues = true; internalValueResult.weeks = this._weeks; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._count = undefined; this._formatType = undefined; this._monthdays = undefined; this._months = undefined; this._weekdays = undefined; this._weeks = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; this._formatType = value.formatType; this._monthdays = value.monthdays; this._months = value.months; this._weekdays = value.weekdays; this._weeks = value.weeks; } } get count() { return this.getNumberAttribute('count'); } set count(value) { this._count = value; } // Temporarily expose input value. Use with caution. get countInput() { return this._count; } get formatType() { return this.getStringAttribute('format_type'); } set formatType(value) { this._formatType = value; } // Temporarily expose input value. Use with caution. get formatTypeInput() { return this._formatType; } get monthdays() { return cdktf.Token.asNumberList(cdktf.Fn.tolist(this.getNumberListAttribute('monthdays'))); } set monthdays(value) { this._monthdays = value; } resetMonthdays() { this._monthdays = undefined; } // Temporarily expose input value. Use with caution. get monthdaysInput() { return this._monthdays; } get months() { return cdktf.Fn.tolist(this.getListAttribute('months')); } set months(value) { this._months = value; } // Temporarily expose input value. Use with caution. get monthsInput() { return this._months; } get weekdays() { return cdktf.Fn.tolist(this.getListAttribute('weekdays')); } set weekdays(value) { this._weekdays = value; } resetWeekdays() { this._weekdays = undefined; } // Temporarily expose input value. Use with caution. get weekdaysInput() { return this._weekdays; } get weeks() { return cdktf.Fn.tolist(this.getListAttribute('weeks')); } set weeks(value) { this._weeks = value; } resetWeeks() { this._weeks = undefined; } // Temporarily expose input value. Use with caution. get weeksInput() { return this._weeks; } } exports.BackupPolicyVmWorkloadProtectionPolicyRetentionYearlyOutputReference = BackupPolicyVmWorkloadProtectionPolicyRetentionYearlyOutputReference; _e = JSII_RTTI_SYMBOL_1; BackupPolicyVmWorkloadProtectionPolicyRetentionYearlyOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.backupPolicyVmWorkload.BackupPolicyVmWorkloadProtectionPolicyRetentionYearlyOutputReference", version: "12.27.0" }; function backupPolicyVmWorkloadProtectionPolicySimpleRetentionToTerraform(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), }; } exports.backupPolicyVmWorkloadProtectionPolicySimpleRetentionToTerraform = backupPolicyVmWorkloadProtectionPolicySimpleRetentionToTerraform; function backupPolicyVmWorkloadProtectionPolicySimpleRetentionToHclTerraform(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", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmWorkloadProtectionPolicySimpleRetentionToHclTerraform = backupPolicyVmWorkloadProtectionPolicySimpleRetentionToHclTerraform; class BackupPolicyVmWorkloadProtectionPolicySimpleRetentionOutputReference 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; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._count = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; } } get count() { return this.getNumberAttribute('count'); } set count(value) { this._count = value; } // Temporarily expose input value. Use with caution. get countInput() { return this._count; } } exports.BackupPolicyVmWorkloadProtectionPolicySimpleRetentionOutputReference = BackupPolicyVmWorkloadProtectionPolicySimpleRetentionOutputReference; _f = JSII_RTTI_SYMBOL_1; BackupPolicyVmWorkloadProtectionPolicySimpleRetentionOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.backupPolicyVmWorkload.BackupPolicyVmWorkloadProtectionPolicySimpleRetentionOutputReference", version: "12.27.0" }; function backupPolicyVmWorkloadProtectionPolicyToTerraform(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 { policy_type: cdktf.stringToTerraform(struct.policyType), backup: backupPolicyVmWorkloadProtectionPolicyBackupToTerraform(struct.backup), retention_daily: backupPolicyVmWorkloadProtectionPolicyRetentionDailyToTerraform(struct.retentionDaily), retention_monthly: backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToTerraform(struct.retentionMonthly), retention_weekly: backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToTerraform(struct.retentionWeekly), retention_yearly: backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToTerraform(struct.retentionYearly), simple_retention: backupPolicyVmWorkloadProtectionPolicySimpleRetentionToTerraform(struct.simpleRetention), }; } exports.backupPolicyVmWorkloadProtectionPolicyToTerraform = backupPolicyVmWorkloadProtectionPolicyToTerraform; function backupPolicyVmWorkloadProtectionPolicyToHclTerraform(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 = { policy_type: { value: cdktf.stringToHclTerraform(struct.policyType), isBlock: false, type: "simple", storageClassType: "string", }, backup: { value: backupPolicyVmWorkloadProtectionPolicyBackupToHclTerraform(struct.backup), isBlock: true, type: "list", storageClassType: "BackupPolicyVmWorkloadProtectionPolicyBackupList", }, retention_daily: { value: backupPolicyVmWorkloadProtectionPolicyRetentionDailyToHclTerraform(struct.retentionDaily), isBlock: true, type: "list", storageClassType: "BackupPolicyVmWorkloadProtectionPolicyRetentionDailyList", }, retention_monthly: { value: backupPolicyVmWorkloadProtectionPolicyRetentionMonthlyToHclTerraform(struct.retentionMonthly), isBlock: true, type: "list", storageClassType: "BackupPolicyVmWorkloadProtectionPolicyRetentionMonthlyList", }, retention_weekly: { value: backupPolicyVmWorkloadProtectionPolicyRetentionWeeklyToHclTerraform(struct.retentionWeekly), isBlock: true, type: "list", storageClassType: "BackupPolicyVmWorkloadProtectionPolicyRetentionWeeklyList", }, retention_yearly: { value: backupPolicyVmWorkloadProtectionPolicyRetentionYearlyToHclTerraform(struct.retentionYearly), isBlock: true, type: "list", storageClassType: "BackupPolicyVmWorkloadProtectionPolicyRetentionYearlyList", }, simple_retention: { value: backupPolicyVmWorkloadProtectionPolicySimpleRetentionToHclTerraform(struct.simpleRetention), isBlock: true, type: "list", storageClassType: "BackupPolicyVmWorkloadProtectionPolicySimpleRetentionList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmWorkloadProtectionPolicyToHclTerraform = backupPolicyVmWorkloadProtectionPolicyToHclTerraform; class BackupPolicyVmWorkloadProtectionPolicyOutputReference 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; // backup - computed: false, optional: false, required: true this._backup = new BackupPolicyVmWorkloadProtectionPolicyBackupOutputReference(this, "backup"); // retention_daily - computed: false, optional: true, required: false this._retentionDaily = new BackupPolicyVmWorkloadProtectionPolicyRetentionDailyOutputReference(this, "retention_daily"); // retention_monthly - computed: false, optional: true, required: false this._retentionMonthly = new BackupPolicyVmWorkloadProtectionPolicyRetentionMonthlyOutputReference(this, "retention_monthly"); // retention_weekly - computed: false, optional: true, required: false this._retentionWeekly = new BackupPolicyVmWorkloadProtectionPolicyRetentionWeeklyOutputReference(this, "retention_weekly"); // retention_yearly - computed: false, optional: true, required: false this._retentionYearly = new BackupPolicyVmWorkloadProtectionPolicyRetentionYearlyOutputReference(this, "retention_yearly"); // simple_retention - computed: false, optional: true, required: false this._simpleRetention = new BackupPolicyVmWorkloadProtectionPolicySimpleRetentionOutputReference(this, "simple_retention"); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._policyType !== undefined) { hasAnyValues = true; internalValueResult.policyType = this._policyType; } if (this._backup?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.backup = this._backup?.internalValue; } if (this._retentionDaily?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.retentionDaily = this._retentionDaily?.internalValue; } if (this._retentionMonthly?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.retentionMonthly = this._retentionMonthly?.internalValue; } if (this._retentionWeekly?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.retentionWeekly = this._retentionWeekly?.internalValue; } if (this._retentionYearly?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.retentionYearly = this._retentionYearly?.internalValue; } if (this._simpleRetention?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.simpleRetention = this._simpleRetention?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._policyType = undefined; this._backup.internalValue = undefined; this._retentionDaily.internalValue = undefined; this._retentionMonthly.internalValue = undefined; this._retentionWeekly.internalValue = undefined; this._retentionYearly.internalValue = undefined; this._simpleRetention.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._policyType = value.policyType; this._backup.internalValue = value.backup; this._retentionDaily.internalValue = value.retentionDaily; this._retentionMonthly.internalValue = value.retentionMonthly; this._retentionWeekly.internalValue = value.retentionWeekly; this._retentionYearly.internalValue = value.retentionYearly; this._simpleRetention.internalValue = value.simpleRetention; } } get policyType() { return this.getStringAttribute('policy_type'); } set policyType(value) { this._policyType = value; } // Temporarily expose input value. Use with caution. get policyTypeInput() { return this._policyType; } get backup() { return this._backup; } putBackup(value) { this._backup.internalValue = value; } // Temporarily expose input value. Use with caution. get backupInput() { return this._backup.internalValue; } get retentionDaily() { return this._retentionDaily; } putRetentionDaily(value) { this._retentionDaily.internalValue = value; } resetRetentionDaily() { this._retentionDaily.internalValue = undefined; } // Temporarily expose input value. Use with caution. get retentionDailyInput() { return this._retentionDaily.internalValue; } get retentionMonthly() { return this._retentionMonthly; } putRetentionMonthly(value) { this._retentionMonthly.internalValue = value; } resetRetentionMonthly() { this._retentionMonthly.internalValue = undefined; } // Temporarily expose input value. Use with caution. get retentionMonthlyInput() { return this._retentionMonthly.internalValue; } get retentionWeekly() { return this._retentionWeekly; } putRetentionWeekly(value) { this._retentionWeekly.internalValue = value; } resetRetentionWeekly() { this._retentionWeekly.internalValue = undefined; } // Temporarily expose input value. Use with caution. get retentionWeeklyInput() { return this._retentionWeekly.internalValue; } get retentionYearly() { return this._retentionYearly; } putRetentionYearly(value) { this._retentionYearly.internalValue = value; } resetRetentionYearly() { this._retentionYearly.internalValue = undefined; } // Temporarily expose input value. Use with caution. get retentionYearlyInput() { return this._retentionYearly.internalValue; } get simpleRetention() { return this._simpleRetention; } putSimpleRetention(value) { this._simpleRetention.internalValue = value; } resetSimpleRetention() { this._simpleRetention.internalValue = undefined; } // Temporarily expose input value. Use with caution. get simpleRetentionInput() { return this._simpleRetention.internalValue; } } exports.BackupPolicyVmWorkloadProtectionPolicyOutputReference = BackupPolicyVmWorkloadProtectionPolicyOutputReference; _g = JSII_RTTI_SYMBOL_1; BackupPolicyVmWorkloadProtectionPolicyOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.backupPolicyVmWorkload.BackupPolicyVmWorkloadProtectionPolicyOutputReference", version: "12.27.0" }; class BackupPolicyVmWorkloadProtectionPolicyList 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 BackupPolicyVmWorkloadProtectionPolicyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.BackupPolicyVmWorkloadProtectionPolicyList = BackupPolicyVmWorkloadProtectionPolicyList; _h = JSII_RTTI_SYMBOL_1; BackupPolicyVmWorkloadProtectionPolicyList[_h] = { fqn: "@cdktf/provider-azurerm.backupPolicyVmWorkload.BackupPolicyVmWorkloadProtectionPolicyList", version: "12.27.0" }; function backupPolicyVmWorkloadSettingsToTerraform(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 { compression_enabled: cdktf.booleanToTerraform(struct.compressionEnabled), time_zone: cdktf.stringToTerraform(struct.timeZone), }; } exports.backupPolicyVmWorkloadSettingsToTerraform = backupPolicyVmWorkloadSettingsToTerraform; function backupPolicyVmWorkloadSettingsToHclTerraform(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 = { compression_enabled: { value: cdktf.booleanToHclTerraform(struct.compressionEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, time_zone: { value: cdktf.stringToHclTerraform(struct.timeZone), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmWorkloadSettingsToHclTerraform = backupPolicyVmWorkloadSettingsToHclTerraform; class BackupPolicyVmWorkloadSettingsOutputReference 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._compressionEnabled !== undefined) { hasAnyValues = true; internalValueResult.compressionEnabled = this._compressionEnabled; } if (this._timeZone !== undefined) { hasAnyValues = true; internalValueResult.timeZone = this._timeZone; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._compressionEnabled = undefined; this._timeZone = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._compressionEnabled = value.compressionEnabled; this._timeZone = value.timeZone; } } get compressionEnabled() { return this.getBooleanAttribute('compression_enabled'); } set compressionEnabled(value) { this._compressionEnabled = value; } resetCompressionEnabled() { this._compressionEnabled = undefined; } // Temporarily expose input value. Use with caution. get compressionEnabledInput() { return this._compressionEnabled; } get timeZone() { return this.getStringAttribute('time_zone'); } set timeZone(value) { this._timeZone = value; } // Temporarily expose input value. Use with caution. get timeZoneInput() { return this._timeZone; } } exports.BackupPolicyVmWorkloadSettingsOutputReference = BackupPolicyVmWorkloadSettingsOutputReference; _j = JSII_RTTI_SYMBOL_1; BackupPolicyVmWorkloadSettingsOutputReference[_j] = { fqn: "@cdktf/provider-azurerm.backupPolicyVmWorkload.BackupPolicyVmWorkloadSettingsOutputReference", version: "12.27.0" }; function backupPolicyVmWorkloadTimeoutsToTerraform(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), read: cdktf.stringToTerraform(struct.read), update: cdktf.stringToTerraform(struct.update), }; } exports.backupPolicyVmWorkloadTimeoutsToTerraform = backupPolicyVmWorkloadTimeoutsToTerraform; function backupPolicyVmWorkloadTimeoutsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct))