UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,256 lines 215 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.BackupPolicyVm = exports.BackupPolicyVmTimeoutsOutputReference = exports.backupPolicyVmTimeoutsToHclTerraform = exports.backupPolicyVmTimeoutsToTerraform = exports.BackupPolicyVmTieringPolicyOutputReference = exports.backupPolicyVmTieringPolicyToHclTerraform = exports.backupPolicyVmTieringPolicyToTerraform = exports.BackupPolicyVmTieringPolicyArchivedRestorePointOutputReference = exports.backupPolicyVmTieringPolicyArchivedRestorePointToHclTerraform = exports.backupPolicyVmTieringPolicyArchivedRestorePointToTerraform = exports.BackupPolicyVmRetentionYearlyOutputReference = exports.backupPolicyVmRetentionYearlyToHclTerraform = exports.backupPolicyVmRetentionYearlyToTerraform = exports.BackupPolicyVmRetentionWeeklyOutputReference = exports.backupPolicyVmRetentionWeeklyToHclTerraform = exports.backupPolicyVmRetentionWeeklyToTerraform = exports.BackupPolicyVmRetentionMonthlyOutputReference = exports.backupPolicyVmRetentionMonthlyToHclTerraform = exports.backupPolicyVmRetentionMonthlyToTerraform = exports.BackupPolicyVmRetentionDailyOutputReference = exports.backupPolicyVmRetentionDailyToHclTerraform = exports.backupPolicyVmRetentionDailyToTerraform = exports.BackupPolicyVmInstantRestoreResourceGroupOutputReference = exports.backupPolicyVmInstantRestoreResourceGroupToHclTerraform = exports.backupPolicyVmInstantRestoreResourceGroupToTerraform = exports.BackupPolicyVmBackupOutputReference = exports.backupPolicyVmBackupToHclTerraform = exports.backupPolicyVmBackupToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function backupPolicyVmBackupToTerraform(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), hour_duration: cdktf.numberToTerraform(struct.hourDuration), hour_interval: cdktf.numberToTerraform(struct.hourInterval), time: cdktf.stringToTerraform(struct.time), weekdays: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.weekdays), }; } exports.backupPolicyVmBackupToTerraform = backupPolicyVmBackupToTerraform; function backupPolicyVmBackupToHclTerraform(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", }, hour_duration: { value: cdktf.numberToHclTerraform(struct.hourDuration), isBlock: false, type: "simple", storageClassType: "number", }, hour_interval: { value: cdktf.numberToHclTerraform(struct.hourInterval), 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.backupPolicyVmBackupToHclTerraform = backupPolicyVmBackupToHclTerraform; class BackupPolicyVmBackupOutputReference 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._hourDuration !== undefined) { hasAnyValues = true; internalValueResult.hourDuration = this._hourDuration; } if (this._hourInterval !== undefined) { hasAnyValues = true; internalValueResult.hourInterval = this._hourInterval; } 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._hourDuration = undefined; this._hourInterval = undefined; this._time = undefined; this._weekdays = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._frequency = value.frequency; this._hourDuration = value.hourDuration; this._hourInterval = value.hourInterval; this._time = value.time; this._weekdays = value.weekdays; } } get frequency() { return this.getStringAttribute('frequency'); } set frequency(value) { this._frequency = value; } // Temporarily expose input value. Use with caution. get frequencyInput() { return this._frequency; } get hourDuration() { return this.getNumberAttribute('hour_duration'); } set hourDuration(value) { this._hourDuration = value; } resetHourDuration() { this._hourDuration = undefined; } // Temporarily expose input value. Use with caution. get hourDurationInput() { return this._hourDuration; } get hourInterval() { return this.getNumberAttribute('hour_interval'); } set hourInterval(value) { this._hourInterval = value; } resetHourInterval() { this._hourInterval = undefined; } // Temporarily expose input value. Use with caution. get hourIntervalInput() { return this._hourInterval; } get time() { return this.getStringAttribute('time'); } set time(value) { this._time = value; } // 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.BackupPolicyVmBackupOutputReference = BackupPolicyVmBackupOutputReference; _a = JSII_RTTI_SYMBOL_1; BackupPolicyVmBackupOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.backupPolicyVm.BackupPolicyVmBackupOutputReference", version: "12.27.0" }; function backupPolicyVmInstantRestoreResourceGroupToTerraform(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 { prefix: cdktf.stringToTerraform(struct.prefix), suffix: cdktf.stringToTerraform(struct.suffix), }; } exports.backupPolicyVmInstantRestoreResourceGroupToTerraform = backupPolicyVmInstantRestoreResourceGroupToTerraform; function backupPolicyVmInstantRestoreResourceGroupToHclTerraform(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 = { prefix: { value: cdktf.stringToHclTerraform(struct.prefix), isBlock: false, type: "simple", storageClassType: "string", }, suffix: { value: cdktf.stringToHclTerraform(struct.suffix), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmInstantRestoreResourceGroupToHclTerraform = backupPolicyVmInstantRestoreResourceGroupToHclTerraform; class BackupPolicyVmInstantRestoreResourceGroupOutputReference 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._prefix !== undefined) { hasAnyValues = true; internalValueResult.prefix = this._prefix; } if (this._suffix !== undefined) { hasAnyValues = true; internalValueResult.suffix = this._suffix; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._prefix = undefined; this._suffix = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._prefix = value.prefix; this._suffix = value.suffix; } } get prefix() { return this.getStringAttribute('prefix'); } set prefix(value) { this._prefix = value; } // Temporarily expose input value. Use with caution. get prefixInput() { return this._prefix; } get suffix() { return this.getStringAttribute('suffix'); } set suffix(value) { this._suffix = value; } resetSuffix() { this._suffix = undefined; } // Temporarily expose input value. Use with caution. get suffixInput() { return this._suffix; } } exports.BackupPolicyVmInstantRestoreResourceGroupOutputReference = BackupPolicyVmInstantRestoreResourceGroupOutputReference; _b = JSII_RTTI_SYMBOL_1; BackupPolicyVmInstantRestoreResourceGroupOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.backupPolicyVm.BackupPolicyVmInstantRestoreResourceGroupOutputReference", version: "12.27.0" }; function backupPolicyVmRetentionDailyToTerraform(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.backupPolicyVmRetentionDailyToTerraform = backupPolicyVmRetentionDailyToTerraform; function backupPolicyVmRetentionDailyToHclTerraform(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.backupPolicyVmRetentionDailyToHclTerraform = backupPolicyVmRetentionDailyToHclTerraform; class BackupPolicyVmRetentionDailyOutputReference 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.BackupPolicyVmRetentionDailyOutputReference = BackupPolicyVmRetentionDailyOutputReference; _c = JSII_RTTI_SYMBOL_1; BackupPolicyVmRetentionDailyOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.backupPolicyVm.BackupPolicyVmRetentionDailyOutputReference", version: "12.27.0" }; function backupPolicyVmRetentionMonthlyToTerraform(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), days: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.days), include_last_days: cdktf.booleanToTerraform(struct.includeLastDays), weekdays: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.weekdays), weeks: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.weeks), }; } exports.backupPolicyVmRetentionMonthlyToTerraform = backupPolicyVmRetentionMonthlyToTerraform; function backupPolicyVmRetentionMonthlyToHclTerraform(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", }, days: { value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.days), isBlock: false, type: "set", storageClassType: "numberList", }, include_last_days: { value: cdktf.booleanToHclTerraform(struct.includeLastDays), isBlock: false, type: "simple", storageClassType: "boolean", }, 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.backupPolicyVmRetentionMonthlyToHclTerraform = backupPolicyVmRetentionMonthlyToHclTerraform; class BackupPolicyVmRetentionMonthlyOutputReference 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._days !== undefined) { hasAnyValues = true; internalValueResult.days = this._days; } if (this._includeLastDays !== undefined) { hasAnyValues = true; internalValueResult.includeLastDays = this._includeLastDays; } 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._days = undefined; this._includeLastDays = undefined; this._weekdays = undefined; this._weeks = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; this._days = value.days; this._includeLastDays = value.includeLastDays; 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 days() { return cdktf.Token.asNumberList(cdktf.Fn.tolist(this.getNumberListAttribute('days'))); } set days(value) { this._days = value; } resetDays() { this._days = undefined; } // Temporarily expose input value. Use with caution. get daysInput() { return this._days; } get includeLastDays() { return this.getBooleanAttribute('include_last_days'); } set includeLastDays(value) { this._includeLastDays = value; } resetIncludeLastDays() { this._includeLastDays = undefined; } // Temporarily expose input value. Use with caution. get includeLastDaysInput() { return this._includeLastDays; } 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.BackupPolicyVmRetentionMonthlyOutputReference = BackupPolicyVmRetentionMonthlyOutputReference; _d = JSII_RTTI_SYMBOL_1; BackupPolicyVmRetentionMonthlyOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.backupPolicyVm.BackupPolicyVmRetentionMonthlyOutputReference", version: "12.27.0" }; function backupPolicyVmRetentionWeeklyToTerraform(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.backupPolicyVmRetentionWeeklyToTerraform = backupPolicyVmRetentionWeeklyToTerraform; function backupPolicyVmRetentionWeeklyToHclTerraform(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.backupPolicyVmRetentionWeeklyToHclTerraform = backupPolicyVmRetentionWeeklyToHclTerraform; class BackupPolicyVmRetentionWeeklyOutputReference 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.BackupPolicyVmRetentionWeeklyOutputReference = BackupPolicyVmRetentionWeeklyOutputReference; _e = JSII_RTTI_SYMBOL_1; BackupPolicyVmRetentionWeeklyOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.backupPolicyVm.BackupPolicyVmRetentionWeeklyOutputReference", version: "12.27.0" }; function backupPolicyVmRetentionYearlyToTerraform(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), days: cdktf.listMapper(cdktf.numberToTerraform, false)(struct.days), include_last_days: cdktf.booleanToTerraform(struct.includeLastDays), 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.backupPolicyVmRetentionYearlyToTerraform = backupPolicyVmRetentionYearlyToTerraform; function backupPolicyVmRetentionYearlyToHclTerraform(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", }, days: { value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(struct.days), isBlock: false, type: "set", storageClassType: "numberList", }, include_last_days: { value: cdktf.booleanToHclTerraform(struct.includeLastDays), isBlock: false, type: "simple", storageClassType: "boolean", }, 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.backupPolicyVmRetentionYearlyToHclTerraform = backupPolicyVmRetentionYearlyToHclTerraform; class BackupPolicyVmRetentionYearlyOutputReference 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._days !== undefined) { hasAnyValues = true; internalValueResult.days = this._days; } if (this._includeLastDays !== undefined) { hasAnyValues = true; internalValueResult.includeLastDays = this._includeLastDays; } 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._days = undefined; this._includeLastDays = undefined; this._months = undefined; this._weekdays = undefined; this._weeks = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; this._days = value.days; this._includeLastDays = value.includeLastDays; 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 days() { return cdktf.Token.asNumberList(cdktf.Fn.tolist(this.getNumberListAttribute('days'))); } set days(value) { this._days = value; } resetDays() { this._days = undefined; } // Temporarily expose input value. Use with caution. get daysInput() { return this._days; } get includeLastDays() { return this.getBooleanAttribute('include_last_days'); } set includeLastDays(value) { this._includeLastDays = value; } resetIncludeLastDays() { this._includeLastDays = undefined; } // Temporarily expose input value. Use with caution. get includeLastDaysInput() { return this._includeLastDays; } 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.BackupPolicyVmRetentionYearlyOutputReference = BackupPolicyVmRetentionYearlyOutputReference; _f = JSII_RTTI_SYMBOL_1; BackupPolicyVmRetentionYearlyOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.backupPolicyVm.BackupPolicyVmRetentionYearlyOutputReference", version: "12.27.0" }; function backupPolicyVmTieringPolicyArchivedRestorePointToTerraform(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 { duration: cdktf.numberToTerraform(struct.duration), duration_type: cdktf.stringToTerraform(struct.durationType), mode: cdktf.stringToTerraform(struct.mode), }; } exports.backupPolicyVmTieringPolicyArchivedRestorePointToTerraform = backupPolicyVmTieringPolicyArchivedRestorePointToTerraform; function backupPolicyVmTieringPolicyArchivedRestorePointToHclTerraform(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 = { duration: { value: cdktf.numberToHclTerraform(struct.duration), isBlock: false, type: "simple", storageClassType: "number", }, duration_type: { value: cdktf.stringToHclTerraform(struct.durationType), isBlock: false, type: "simple", storageClassType: "string", }, mode: { value: cdktf.stringToHclTerraform(struct.mode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmTieringPolicyArchivedRestorePointToHclTerraform = backupPolicyVmTieringPolicyArchivedRestorePointToHclTerraform; class BackupPolicyVmTieringPolicyArchivedRestorePointOutputReference 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._duration !== undefined) { hasAnyValues = true; internalValueResult.duration = this._duration; } if (this._durationType !== undefined) { hasAnyValues = true; internalValueResult.durationType = this._durationType; } if (this._mode !== undefined) { hasAnyValues = true; internalValueResult.mode = this._mode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._duration = undefined; this._durationType = undefined; this._mode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._duration = value.duration; this._durationType = value.durationType; this._mode = value.mode; } } get duration() { return this.getNumberAttribute('duration'); } set duration(value) { this._duration = value; } resetDuration() { this._duration = undefined; } // Temporarily expose input value. Use with caution. get durationInput() { return this._duration; } get durationType() { return this.getStringAttribute('duration_type'); } set durationType(value) { this._durationType = value; } resetDurationType() { this._durationType = undefined; } // Temporarily expose input value. Use with caution. get durationTypeInput() { return this._durationType; } get mode() { return this.getStringAttribute('mode'); } set mode(value) { this._mode = value; } // Temporarily expose input value. Use with caution. get modeInput() { return this._mode; } } exports.BackupPolicyVmTieringPolicyArchivedRestorePointOutputReference = BackupPolicyVmTieringPolicyArchivedRestorePointOutputReference; _g = JSII_RTTI_SYMBOL_1; BackupPolicyVmTieringPolicyArchivedRestorePointOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.backupPolicyVm.BackupPolicyVmTieringPolicyArchivedRestorePointOutputReference", version: "12.27.0" }; function backupPolicyVmTieringPolicyToTerraform(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 { archived_restore_point: backupPolicyVmTieringPolicyArchivedRestorePointToTerraform(struct.archivedRestorePoint), }; } exports.backupPolicyVmTieringPolicyToTerraform = backupPolicyVmTieringPolicyToTerraform; function backupPolicyVmTieringPolicyToHclTerraform(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 = { archived_restore_point: { value: backupPolicyVmTieringPolicyArchivedRestorePointToHclTerraform(struct.archivedRestorePoint), isBlock: true, type: "list", storageClassType: "BackupPolicyVmTieringPolicyArchivedRestorePointList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.backupPolicyVmTieringPolicyToHclTerraform = backupPolicyVmTieringPolicyToHclTerraform; class BackupPolicyVmTieringPolicyOutputReference 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; // archived_restore_point - computed: false, optional: false, required: true this._archivedRestorePoint = new BackupPolicyVmTieringPolicyArchivedRestorePointOutputReference(this, "archived_restore_point"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._archivedRestorePoint?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.archivedRestorePoint = this._archivedRestorePoint?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._archivedRestorePoint.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._archivedRestorePoint.internalValue = value.archivedRestorePoint; } } get archivedRestorePoint() { return this._archivedRestorePoint; } putArchivedRestorePoint(value) { this._archivedRestorePoint.internalValue = value; } // Temporarily expose input value. Use with caution. get archivedRestorePointInput() { return this._archivedRestorePoint.internalValue; } } exports.BackupPolicyVmTieringPolicyOutputReference = BackupPolicyVmTieringPolicyOutputReference; _h = JSII_RTTI_SYMBOL_1; BackupPolicyVmTieringPolicyOutputReference[_h] = { fqn: "@cdktf/provider-azurerm.backupPolicyVm.BackupPolicyVmTieringPolicyOutputReference", version: "12.27.0" }; function backupPolicyVmTimeoutsToTerraform(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.backupPolicyVmTimeoutsToTerraform = backupPolicyVmTimeoutsToTerraform; function backupPolicyVmTimeoutsToHclTerraform(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", }, read: { value: cdktf.stringToHclTerraform(struct.read), 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)); } exports.backupPolicyVmTimeoutsToHclTerraform = backupPolicyVmTimeoutsToHclTerraform; class BackupPolicyVmTimeoutsOutputReference 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._read !== undefined) { hasAnyValues = true; internalValueResult.read = this._read; } 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._read = 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._read = value.read; 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 read() { return this.getStringAttribute('read'); } set read(value) { this._read = value; } resetRead() { this._read = undefined; } // Temporarily expose input value. Use with caution. get readInput() { return this._read; } 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.BackupPolicyVmTimeoutsOutputReference = BackupPolicyVmTimeoutsOutputReference; _j = JSII_RTTI_SYMBOL_1; BackupPolicyVmTimeoutsOutputReference[_j] = { fqn: "@cdktf/provider-azurerm.backupPolicyVm.BackupPolicyVmTimeoutsOutputReference", version: "12.27.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/backup_policy_vm azurerm_backup_policy_vm} */ class BackupPolicyVm extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a BackupPolicyVm 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 BackupPolicyVm to import * @param importFromId The id of the existing BackupPolicyVm that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/backup_policy_vm#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the BackupPolicyVm to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_backup_policy_vm", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/backup_policy_vm azurerm_backup_policy_vm} 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 BackupPolicyVmConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'azurerm_backup_policy_vm', terraformGeneratorMetadata: { providerName: 'azurerm', providerVersion: '3.116.0', providerVersionConstraint: '~> 3.10' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // backup - computed: false, optional: false, required: true this._backup = new BackupPolicyVmBackupOutputReference(this, "backup"); // instant_restore_resource_group - computed: false, optional: true, required: false this._instantRestoreResourceGroup = new BackupPolicyVmInstantRestoreResourceGroupOutputReference(this, "instant_restore_resource_group"); // retention_daily - computed: false, optional: true, required: false this._retentionDaily = new BackupPolicyVmRetentionDailyOutputReference(this, "retention_daily"); // retention_monthly - computed: false, optional: true, required: false this._retentionMonthly = new BackupPolicyVmRetentionMonthlyOutputReference(this, "retention_monthly"); // retention_weekly - computed: false, optional: true, required: false this._retentionWeekly = new BackupPolicyVmRetentionWeeklyOutputReference(this, "retention_weekly"); // retention_yearly - computed: false, optional: true, required: false this._retentionYearly = new BackupPolicyVmRetentionYearlyOutputReference(this, "retention_yearly"); // tiering_policy - computed: false, optional: true, required: false this._tieringPolicy = new BackupPolicyVmTieringPolicyOutputReference(this, "tiering_policy"); // timeouts - computed: false, optional: true, required: false this._timeouts = new BackupPolicyVmTimeoutsOutputReference(this, "timeouts"); this._id = config.id; this._instantRestoreRetentionDays = config.instantRestoreRetentionDays; this._name = config.name; this._policyType = config.policyType; this._recoveryVaultName = config.recoveryVaultName; this._resourceGroupName = config.resourceGroupName; this._timezone = config.timezone; this._backup.internalValue = config.backup; this.