UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,097 lines 270 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; Object.defineProperty(exports, "__esModule", { value: true }); exports.AutomanageConfiguration = exports.AutomanageConfigurationTimeoutsOutputReference = exports.automanageConfigurationTimeoutsToHclTerraform = exports.automanageConfigurationTimeoutsToTerraform = exports.AutomanageConfigurationBackupOutputReference = exports.automanageConfigurationBackupToHclTerraform = exports.automanageConfigurationBackupToTerraform = exports.AutomanageConfigurationBackupSchedulePolicyOutputReference = exports.automanageConfigurationBackupSchedulePolicyToHclTerraform = exports.automanageConfigurationBackupSchedulePolicyToTerraform = exports.AutomanageConfigurationBackupRetentionPolicyOutputReference = exports.automanageConfigurationBackupRetentionPolicyToHclTerraform = exports.automanageConfigurationBackupRetentionPolicyToTerraform = exports.AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleOutputReference = exports.automanageConfigurationBackupRetentionPolicyWeeklyScheduleToHclTerraform = exports.automanageConfigurationBackupRetentionPolicyWeeklyScheduleToTerraform = exports.AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationOutputReference = exports.automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToHclTerraform = exports.automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToTerraform = exports.AutomanageConfigurationBackupRetentionPolicyDailyScheduleOutputReference = exports.automanageConfigurationBackupRetentionPolicyDailyScheduleToHclTerraform = exports.automanageConfigurationBackupRetentionPolicyDailyScheduleToTerraform = exports.AutomanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationOutputReference = exports.automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToHclTerraform = exports.automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToTerraform = exports.AutomanageConfigurationAzureSecurityBaselineOutputReference = exports.automanageConfigurationAzureSecurityBaselineToHclTerraform = exports.automanageConfigurationAzureSecurityBaselineToTerraform = exports.AutomanageConfigurationAntimalwareOutputReference = exports.automanageConfigurationAntimalwareToHclTerraform = exports.automanageConfigurationAntimalwareToTerraform = exports.AutomanageConfigurationAntimalwareExclusionsOutputReference = exports.automanageConfigurationAntimalwareExclusionsToHclTerraform = exports.automanageConfigurationAntimalwareExclusionsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function automanageConfigurationAntimalwareExclusionsToTerraform(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 { extensions: cdktf.stringToTerraform(struct.extensions), paths: cdktf.stringToTerraform(struct.paths), processes: cdktf.stringToTerraform(struct.processes), }; } exports.automanageConfigurationAntimalwareExclusionsToTerraform = automanageConfigurationAntimalwareExclusionsToTerraform; function automanageConfigurationAntimalwareExclusionsToHclTerraform(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 = { extensions: { value: cdktf.stringToHclTerraform(struct.extensions), isBlock: false, type: "simple", storageClassType: "string", }, paths: { value: cdktf.stringToHclTerraform(struct.paths), isBlock: false, type: "simple", storageClassType: "string", }, processes: { value: cdktf.stringToHclTerraform(struct.processes), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.automanageConfigurationAntimalwareExclusionsToHclTerraform = automanageConfigurationAntimalwareExclusionsToHclTerraform; class AutomanageConfigurationAntimalwareExclusionsOutputReference 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._extensions !== undefined) { hasAnyValues = true; internalValueResult.extensions = this._extensions; } if (this._paths !== undefined) { hasAnyValues = true; internalValueResult.paths = this._paths; } if (this._processes !== undefined) { hasAnyValues = true; internalValueResult.processes = this._processes; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._extensions = undefined; this._paths = undefined; this._processes = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._extensions = value.extensions; this._paths = value.paths; this._processes = value.processes; } } get extensions() { return this.getStringAttribute('extensions'); } set extensions(value) { this._extensions = value; } resetExtensions() { this._extensions = undefined; } // Temporarily expose input value. Use with caution. get extensionsInput() { return this._extensions; } get paths() { return this.getStringAttribute('paths'); } set paths(value) { this._paths = value; } resetPaths() { this._paths = undefined; } // Temporarily expose input value. Use with caution. get pathsInput() { return this._paths; } get processes() { return this.getStringAttribute('processes'); } set processes(value) { this._processes = value; } resetProcesses() { this._processes = undefined; } // Temporarily expose input value. Use with caution. get processesInput() { return this._processes; } } exports.AutomanageConfigurationAntimalwareExclusionsOutputReference = AutomanageConfigurationAntimalwareExclusionsOutputReference; _a = JSII_RTTI_SYMBOL_1; AutomanageConfigurationAntimalwareExclusionsOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.automanageConfiguration.AutomanageConfigurationAntimalwareExclusionsOutputReference", version: "12.27.0" }; function automanageConfigurationAntimalwareToTerraform(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 { real_time_protection_enabled: cdktf.booleanToTerraform(struct.realTimeProtectionEnabled), scheduled_scan_day: cdktf.numberToTerraform(struct.scheduledScanDay), scheduled_scan_enabled: cdktf.booleanToTerraform(struct.scheduledScanEnabled), scheduled_scan_time_in_minutes: cdktf.numberToTerraform(struct.scheduledScanTimeInMinutes), scheduled_scan_type: cdktf.stringToTerraform(struct.scheduledScanType), exclusions: automanageConfigurationAntimalwareExclusionsToTerraform(struct.exclusions), }; } exports.automanageConfigurationAntimalwareToTerraform = automanageConfigurationAntimalwareToTerraform; function automanageConfigurationAntimalwareToHclTerraform(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 = { real_time_protection_enabled: { value: cdktf.booleanToHclTerraform(struct.realTimeProtectionEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, scheduled_scan_day: { value: cdktf.numberToHclTerraform(struct.scheduledScanDay), isBlock: false, type: "simple", storageClassType: "number", }, scheduled_scan_enabled: { value: cdktf.booleanToHclTerraform(struct.scheduledScanEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, scheduled_scan_time_in_minutes: { value: cdktf.numberToHclTerraform(struct.scheduledScanTimeInMinutes), isBlock: false, type: "simple", storageClassType: "number", }, scheduled_scan_type: { value: cdktf.stringToHclTerraform(struct.scheduledScanType), isBlock: false, type: "simple", storageClassType: "string", }, exclusions: { value: automanageConfigurationAntimalwareExclusionsToHclTerraform(struct.exclusions), isBlock: true, type: "list", storageClassType: "AutomanageConfigurationAntimalwareExclusionsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.automanageConfigurationAntimalwareToHclTerraform = automanageConfigurationAntimalwareToHclTerraform; class AutomanageConfigurationAntimalwareOutputReference 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; // exclusions - computed: false, optional: true, required: false this._exclusions = new AutomanageConfigurationAntimalwareExclusionsOutputReference(this, "exclusions"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._realTimeProtectionEnabled !== undefined) { hasAnyValues = true; internalValueResult.realTimeProtectionEnabled = this._realTimeProtectionEnabled; } if (this._scheduledScanDay !== undefined) { hasAnyValues = true; internalValueResult.scheduledScanDay = this._scheduledScanDay; } if (this._scheduledScanEnabled !== undefined) { hasAnyValues = true; internalValueResult.scheduledScanEnabled = this._scheduledScanEnabled; } if (this._scheduledScanTimeInMinutes !== undefined) { hasAnyValues = true; internalValueResult.scheduledScanTimeInMinutes = this._scheduledScanTimeInMinutes; } if (this._scheduledScanType !== undefined) { hasAnyValues = true; internalValueResult.scheduledScanType = this._scheduledScanType; } if (this._exclusions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.exclusions = this._exclusions?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._realTimeProtectionEnabled = undefined; this._scheduledScanDay = undefined; this._scheduledScanEnabled = undefined; this._scheduledScanTimeInMinutes = undefined; this._scheduledScanType = undefined; this._exclusions.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._realTimeProtectionEnabled = value.realTimeProtectionEnabled; this._scheduledScanDay = value.scheduledScanDay; this._scheduledScanEnabled = value.scheduledScanEnabled; this._scheduledScanTimeInMinutes = value.scheduledScanTimeInMinutes; this._scheduledScanType = value.scheduledScanType; this._exclusions.internalValue = value.exclusions; } } get realTimeProtectionEnabled() { return this.getBooleanAttribute('real_time_protection_enabled'); } set realTimeProtectionEnabled(value) { this._realTimeProtectionEnabled = value; } resetRealTimeProtectionEnabled() { this._realTimeProtectionEnabled = undefined; } // Temporarily expose input value. Use with caution. get realTimeProtectionEnabledInput() { return this._realTimeProtectionEnabled; } get scheduledScanDay() { return this.getNumberAttribute('scheduled_scan_day'); } set scheduledScanDay(value) { this._scheduledScanDay = value; } resetScheduledScanDay() { this._scheduledScanDay = undefined; } // Temporarily expose input value. Use with caution. get scheduledScanDayInput() { return this._scheduledScanDay; } get scheduledScanEnabled() { return this.getBooleanAttribute('scheduled_scan_enabled'); } set scheduledScanEnabled(value) { this._scheduledScanEnabled = value; } resetScheduledScanEnabled() { this._scheduledScanEnabled = undefined; } // Temporarily expose input value. Use with caution. get scheduledScanEnabledInput() { return this._scheduledScanEnabled; } get scheduledScanTimeInMinutes() { return this.getNumberAttribute('scheduled_scan_time_in_minutes'); } set scheduledScanTimeInMinutes(value) { this._scheduledScanTimeInMinutes = value; } resetScheduledScanTimeInMinutes() { this._scheduledScanTimeInMinutes = undefined; } // Temporarily expose input value. Use with caution. get scheduledScanTimeInMinutesInput() { return this._scheduledScanTimeInMinutes; } get scheduledScanType() { return this.getStringAttribute('scheduled_scan_type'); } set scheduledScanType(value) { this._scheduledScanType = value; } resetScheduledScanType() { this._scheduledScanType = undefined; } // Temporarily expose input value. Use with caution. get scheduledScanTypeInput() { return this._scheduledScanType; } get exclusions() { return this._exclusions; } putExclusions(value) { this._exclusions.internalValue = value; } resetExclusions() { this._exclusions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get exclusionsInput() { return this._exclusions.internalValue; } } exports.AutomanageConfigurationAntimalwareOutputReference = AutomanageConfigurationAntimalwareOutputReference; _b = JSII_RTTI_SYMBOL_1; AutomanageConfigurationAntimalwareOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.automanageConfiguration.AutomanageConfigurationAntimalwareOutputReference", version: "12.27.0" }; function automanageConfigurationAzureSecurityBaselineToTerraform(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 { assignment_type: cdktf.stringToTerraform(struct.assignmentType), }; } exports.automanageConfigurationAzureSecurityBaselineToTerraform = automanageConfigurationAzureSecurityBaselineToTerraform; function automanageConfigurationAzureSecurityBaselineToHclTerraform(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 = { assignment_type: { value: cdktf.stringToHclTerraform(struct.assignmentType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.automanageConfigurationAzureSecurityBaselineToHclTerraform = automanageConfigurationAzureSecurityBaselineToHclTerraform; class AutomanageConfigurationAzureSecurityBaselineOutputReference 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._assignmentType !== undefined) { hasAnyValues = true; internalValueResult.assignmentType = this._assignmentType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._assignmentType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._assignmentType = value.assignmentType; } } get assignmentType() { return this.getStringAttribute('assignment_type'); } set assignmentType(value) { this._assignmentType = value; } resetAssignmentType() { this._assignmentType = undefined; } // Temporarily expose input value. Use with caution. get assignmentTypeInput() { return this._assignmentType; } } exports.AutomanageConfigurationAzureSecurityBaselineOutputReference = AutomanageConfigurationAzureSecurityBaselineOutputReference; _c = JSII_RTTI_SYMBOL_1; AutomanageConfigurationAzureSecurityBaselineOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.automanageConfiguration.AutomanageConfigurationAzureSecurityBaselineOutputReference", version: "12.27.0" }; function automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToTerraform(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), duration_type: cdktf.stringToTerraform(struct.durationType), }; } exports.automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToTerraform = automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToTerraform; function automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToHclTerraform(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", }, duration_type: { value: cdktf.stringToHclTerraform(struct.durationType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToHclTerraform = automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToHclTerraform; class AutomanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationOutputReference 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._durationType !== undefined) { hasAnyValues = true; internalValueResult.durationType = this._durationType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._count = undefined; this._durationType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; this._durationType = value.durationType; } } get count() { return this.getNumberAttribute('count'); } set count(value) { this._count = value; } resetCount() { this._count = undefined; } // Temporarily expose input value. Use with caution. get countInput() { return this._count; } get 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; } } exports.AutomanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationOutputReference = AutomanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationOutputReference; _d = JSII_RTTI_SYMBOL_1; AutomanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.automanageConfiguration.AutomanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationOutputReference", version: "12.27.0" }; function automanageConfigurationBackupRetentionPolicyDailyScheduleToTerraform(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 { retention_times: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.retentionTimes), retention_duration: automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToTerraform(struct.retentionDuration), }; } exports.automanageConfigurationBackupRetentionPolicyDailyScheduleToTerraform = automanageConfigurationBackupRetentionPolicyDailyScheduleToTerraform; function automanageConfigurationBackupRetentionPolicyDailyScheduleToHclTerraform(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 = { retention_times: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.retentionTimes), isBlock: false, type: "list", storageClassType: "stringList", }, retention_duration: { value: automanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationToHclTerraform(struct.retentionDuration), isBlock: true, type: "list", storageClassType: "AutomanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.automanageConfigurationBackupRetentionPolicyDailyScheduleToHclTerraform = automanageConfigurationBackupRetentionPolicyDailyScheduleToHclTerraform; class AutomanageConfigurationBackupRetentionPolicyDailyScheduleOutputReference 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; // retention_duration - computed: false, optional: true, required: false this._retentionDuration = new AutomanageConfigurationBackupRetentionPolicyDailyScheduleRetentionDurationOutputReference(this, "retention_duration"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._retentionTimes !== undefined) { hasAnyValues = true; internalValueResult.retentionTimes = this._retentionTimes; } if (this._retentionDuration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.retentionDuration = this._retentionDuration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._retentionTimes = undefined; this._retentionDuration.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._retentionTimes = value.retentionTimes; this._retentionDuration.internalValue = value.retentionDuration; } } get retentionTimes() { return this.getListAttribute('retention_times'); } set retentionTimes(value) { this._retentionTimes = value; } resetRetentionTimes() { this._retentionTimes = undefined; } // Temporarily expose input value. Use with caution. get retentionTimesInput() { return this._retentionTimes; } get retentionDuration() { return this._retentionDuration; } putRetentionDuration(value) { this._retentionDuration.internalValue = value; } resetRetentionDuration() { this._retentionDuration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get retentionDurationInput() { return this._retentionDuration.internalValue; } } exports.AutomanageConfigurationBackupRetentionPolicyDailyScheduleOutputReference = AutomanageConfigurationBackupRetentionPolicyDailyScheduleOutputReference; _e = JSII_RTTI_SYMBOL_1; AutomanageConfigurationBackupRetentionPolicyDailyScheduleOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.automanageConfiguration.AutomanageConfigurationBackupRetentionPolicyDailyScheduleOutputReference", version: "12.27.0" }; function automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToTerraform(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), duration_type: cdktf.stringToTerraform(struct.durationType), }; } exports.automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToTerraform = automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToTerraform; function automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToHclTerraform(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", }, duration_type: { value: cdktf.stringToHclTerraform(struct.durationType), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToHclTerraform = automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToHclTerraform; class AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationOutputReference 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._durationType !== undefined) { hasAnyValues = true; internalValueResult.durationType = this._durationType; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._count = undefined; this._durationType = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; this._durationType = value.durationType; } } get count() { return this.getNumberAttribute('count'); } set count(value) { this._count = value; } resetCount() { this._count = undefined; } // Temporarily expose input value. Use with caution. get countInput() { return this._count; } get 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; } } exports.AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationOutputReference = AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationOutputReference; _f = JSII_RTTI_SYMBOL_1; AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.automanageConfiguration.AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationOutputReference", version: "12.27.0" }; function automanageConfigurationBackupRetentionPolicyWeeklyScheduleToTerraform(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 { retention_times: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.retentionTimes), retention_duration: automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToTerraform(struct.retentionDuration), }; } exports.automanageConfigurationBackupRetentionPolicyWeeklyScheduleToTerraform = automanageConfigurationBackupRetentionPolicyWeeklyScheduleToTerraform; function automanageConfigurationBackupRetentionPolicyWeeklyScheduleToHclTerraform(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 = { retention_times: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.retentionTimes), isBlock: false, type: "list", storageClassType: "stringList", }, retention_duration: { value: automanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationToHclTerraform(struct.retentionDuration), isBlock: true, type: "list", storageClassType: "AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.automanageConfigurationBackupRetentionPolicyWeeklyScheduleToHclTerraform = automanageConfigurationBackupRetentionPolicyWeeklyScheduleToHclTerraform; class AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleOutputReference 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; // retention_duration - computed: false, optional: true, required: false this._retentionDuration = new AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleRetentionDurationOutputReference(this, "retention_duration"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._retentionTimes !== undefined) { hasAnyValues = true; internalValueResult.retentionTimes = this._retentionTimes; } if (this._retentionDuration?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.retentionDuration = this._retentionDuration?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._retentionTimes = undefined; this._retentionDuration.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._retentionTimes = value.retentionTimes; this._retentionDuration.internalValue = value.retentionDuration; } } get retentionTimes() { return this.getListAttribute('retention_times'); } set retentionTimes(value) { this._retentionTimes = value; } resetRetentionTimes() { this._retentionTimes = undefined; } // Temporarily expose input value. Use with caution. get retentionTimesInput() { return this._retentionTimes; } get retentionDuration() { return this._retentionDuration; } putRetentionDuration(value) { this._retentionDuration.internalValue = value; } resetRetentionDuration() { this._retentionDuration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get retentionDurationInput() { return this._retentionDuration.internalValue; } } exports.AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleOutputReference = AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleOutputReference; _g = JSII_RTTI_SYMBOL_1; AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleOutputReference[_g] = { fqn: "@cdktf/provider-azurerm.automanageConfiguration.AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleOutputReference", version: "12.27.0" }; function automanageConfigurationBackupRetentionPolicyToTerraform(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 { retention_policy_type: cdktf.stringToTerraform(struct.retentionPolicyType), daily_schedule: automanageConfigurationBackupRetentionPolicyDailyScheduleToTerraform(struct.dailySchedule), weekly_schedule: automanageConfigurationBackupRetentionPolicyWeeklyScheduleToTerraform(struct.weeklySchedule), }; } exports.automanageConfigurationBackupRetentionPolicyToTerraform = automanageConfigurationBackupRetentionPolicyToTerraform; function automanageConfigurationBackupRetentionPolicyToHclTerraform(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 = { retention_policy_type: { value: cdktf.stringToHclTerraform(struct.retentionPolicyType), isBlock: false, type: "simple", storageClassType: "string", }, daily_schedule: { value: automanageConfigurationBackupRetentionPolicyDailyScheduleToHclTerraform(struct.dailySchedule), isBlock: true, type: "list", storageClassType: "AutomanageConfigurationBackupRetentionPolicyDailyScheduleList", }, weekly_schedule: { value: automanageConfigurationBackupRetentionPolicyWeeklyScheduleToHclTerraform(struct.weeklySchedule), isBlock: true, type: "list", storageClassType: "AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.automanageConfigurationBackupRetentionPolicyToHclTerraform = automanageConfigurationBackupRetentionPolicyToHclTerraform; class AutomanageConfigurationBackupRetentionPolicyOutputReference 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; // daily_schedule - computed: false, optional: true, required: false this._dailySchedule = new AutomanageConfigurationBackupRetentionPolicyDailyScheduleOutputReference(this, "daily_schedule"); // weekly_schedule - computed: false, optional: true, required: false this._weeklySchedule = new AutomanageConfigurationBackupRetentionPolicyWeeklyScheduleOutputReference(this, "weekly_schedule"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._retentionPolicyType !== undefined) { hasAnyValues = true; internalValueResult.retentionPolicyType = this._retentionPolicyType; } if (this._dailySchedule?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.dailySchedule = this._dailySchedule?.internalValue; } if (this._weeklySchedule?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.weeklySchedule = this._weeklySchedule?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._retentionPolicyType = undefined; this._dailySchedule.internalValue = undefined; this._weeklySchedule.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._retentionPolicyType = value.retentionPolicyType; this._dailySchedule.internalValue = value.dailySchedule; this._weeklySchedule.internalValue = value.weeklySchedule; } } get retentionPolicyType() { return this.getStringAttribute('retention_policy_type'); } set retentionPolicyType(value) { this._retentionPolicyType = value; } resetRetentionPolicyType() { this._retentionPolicyType = undefined; } // Temporarily expose input value. Use with caution. get retentionPolicyTypeInput() { return this._retentionPolicyType; } get dailySchedule() { return this._dailySchedule; } putDailySchedule(value) { this._dailySchedule.internalValue = value; } resetDailySchedule() { this._dailySchedule.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dailyScheduleInput() { return this._dailySchedule.internalValue; } get weeklySchedule() { return this._weeklySchedule; } putWeeklySchedule(value) { this._weeklySchedule.internalValue = value; } resetWeeklySchedule() { this._weeklySchedule.internalValue = undefined; } // Temporarily expose input value. Use with caution. get weeklyScheduleInput() { return this._weeklySchedule.internalValue; } } exports.AutomanageConfigurationBackupRetentionPolicyOutputReference = AutomanageConfigurationBackupRetentionPolicyOutputReference; _h = JSII_RTTI_SYMBOL_1; AutomanageConfigurationBackupRetentionPolicyOutputReference[_h] = { fqn: "@cdktf/provider-azurerm.automanageConfiguration.AutomanageConfigurationBackupRetentionPolicyOutputReference", version: "12.27.0" }; function automanageConfigurationBackupSchedulePolicyToTerraform(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 { schedule_policy_type: cdktf.stringToTerraform(struct.schedulePolicyType), schedule_run_days: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.scheduleRunDays), schedule_run_frequency: cdktf.stringToTerraform(struct.scheduleRunFrequency), schedule_run_times: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.scheduleRunTimes), }; } exports.automanageConfigurationBackupSchedulePolicyToTerraform = automanageConfigurationBackupSchedulePolicyToTerraform; function automanageConfigurationBackupSchedulePolicyToHclTerraform(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 = { schedule_policy_type: { value: cdktf.stringToHclTerraform(struct.schedulePolicyType), isBlock: false, type: "simple", storageClassType: "string", }, schedule_run_days: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.scheduleRunDays), isBlock: false, type: "list", storageClassType: "stringList", }, schedule_run_frequency: { value: cdktf.stringToHclTerraform(struct.scheduleRunFrequency), isBlock: false, type: "simple", storageClassType: "string", }, schedule_run_times: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.scheduleRunTimes), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.automanageConfigurationBackupSchedulePolicyToHclTerraform = automanageConfigurationBackupSchedulePolicyToHclTerraform; class AutomanageConfigurationBackupSchedulePolicyOutputReference 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._schedulePolicyType !== undefined) { hasAnyValues = true; internalValueResult.schedulePolicyType = this._schedulePolicyType; } if (this._scheduleRunDays !== undefined) { hasAnyValues = true; internalValueResult.scheduleRunDays = this._scheduleRunDays; } if (this._scheduleRunFrequency !== undefined) { hasAnyValues = true; internalValueResult.scheduleRunFrequency = this._scheduleRunFrequency; } if (this._scheduleRunTimes !== undefined) { hasAnyValues = true; internalValueResult.scheduleRunTimes = this._scheduleRunTimes; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._schedulePolicyType = undefined; this._scheduleRunDays = undefined; this._scheduleRunFrequency = undefined; this._scheduleRunTimes = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._schedulePolicyType = value.schedulePolicyType; this._scheduleRunDays = value.scheduleRunDays; this._scheduleRunFrequency = value.scheduleRunFrequency; this._scheduleRunTimes = value.scheduleRunTimes; } } get schedulePolicyType() { return this.getStringAttribute('schedule_policy_type'); } set schedulePolicyType(value) { this._schedulePolicyType = value; } resetSchedulePolicyType() { this._schedulePolicyType = undefined; } // Temporarily expose input value. Use with caution. get schedulePolicyTypeInput() { return this._schedulePolicyType; } get scheduleRunDays() { return this.getListAttribute('schedule_run_days'); } set scheduleRunDays(value) { this._scheduleRunDays = value; } resetScheduleRunDays() { this._scheduleRunDays = undefined; } // Temporarily expose input value. Use with caution. get scheduleRunDaysInput() { return this._scheduleRunDays; } get scheduleRunFrequency() { return this.getStringAttribute('schedule_run_frequency'); } set scheduleRunFrequency(value) { this._scheduleRunFrequency = value; } resetScheduleRunFrequency() { this._scheduleRunFrequency = undefined; } // Temporarily expose input value. Use with caution. get scheduleRunFrequencyInput() {