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