UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,276 lines 259 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g; Object.defineProperty(exports, "__esModule", { value: true }); exports.MssqlDatabase = exports.MssqlDatabaseTimeoutsOutputReference = exports.mssqlDatabaseTimeoutsToHclTerraform = exports.mssqlDatabaseTimeoutsToTerraform = exports.MssqlDatabaseThreatDetectionPolicyOutputReference = exports.mssqlDatabaseThreatDetectionPolicyToHclTerraform = exports.mssqlDatabaseThreatDetectionPolicyToTerraform = exports.MssqlDatabaseShortTermRetentionPolicyOutputReference = exports.mssqlDatabaseShortTermRetentionPolicyToHclTerraform = exports.mssqlDatabaseShortTermRetentionPolicyToTerraform = exports.MssqlDatabaseLongTermRetentionPolicyOutputReference = exports.mssqlDatabaseLongTermRetentionPolicyToHclTerraform = exports.mssqlDatabaseLongTermRetentionPolicyToTerraform = exports.MssqlDatabaseImportOutputReference = exports.mssqlDatabaseImportToHclTerraform = exports.mssqlDatabaseImportToTerraform = exports.MssqlDatabaseIdentityOutputReference = exports.mssqlDatabaseIdentityToHclTerraform = exports.mssqlDatabaseIdentityToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function mssqlDatabaseIdentityToTerraform(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 { identity_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.identityIds), type: cdktf.stringToTerraform(struct.type), }; } exports.mssqlDatabaseIdentityToTerraform = mssqlDatabaseIdentityToTerraform; function mssqlDatabaseIdentityToHclTerraform(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 = { identity_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.identityIds), isBlock: false, type: "set", storageClassType: "stringList", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.mssqlDatabaseIdentityToHclTerraform = mssqlDatabaseIdentityToHclTerraform; class MssqlDatabaseIdentityOutputReference 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._identityIds !== undefined) { hasAnyValues = true; internalValueResult.identityIds = this._identityIds; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._identityIds = undefined; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._identityIds = value.identityIds; this._type = value.type; } } get identityIds() { return cdktf.Fn.tolist(this.getListAttribute('identity_ids')); } set identityIds(value) { this._identityIds = value; } // Temporarily expose input value. Use with caution. get identityIdsInput() { return this._identityIds; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.MssqlDatabaseIdentityOutputReference = MssqlDatabaseIdentityOutputReference; _a = JSII_RTTI_SYMBOL_1; MssqlDatabaseIdentityOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.mssqlDatabase.MssqlDatabaseIdentityOutputReference", version: "12.27.0" }; function mssqlDatabaseImportToTerraform(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 { administrator_login: cdktf.stringToTerraform(struct.administratorLogin), administrator_login_password: cdktf.stringToTerraform(struct.administratorLoginPassword), authentication_type: cdktf.stringToTerraform(struct.authenticationType), storage_account_id: cdktf.stringToTerraform(struct.storageAccountId), storage_key: cdktf.stringToTerraform(struct.storageKey), storage_key_type: cdktf.stringToTerraform(struct.storageKeyType), storage_uri: cdktf.stringToTerraform(struct.storageUri), }; } exports.mssqlDatabaseImportToTerraform = mssqlDatabaseImportToTerraform; function mssqlDatabaseImportToHclTerraform(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 = { administrator_login: { value: cdktf.stringToHclTerraform(struct.administratorLogin), isBlock: false, type: "simple", storageClassType: "string", }, administrator_login_password: { value: cdktf.stringToHclTerraform(struct.administratorLoginPassword), isBlock: false, type: "simple", storageClassType: "string", }, authentication_type: { value: cdktf.stringToHclTerraform(struct.authenticationType), isBlock: false, type: "simple", storageClassType: "string", }, storage_account_id: { value: cdktf.stringToHclTerraform(struct.storageAccountId), isBlock: false, type: "simple", storageClassType: "string", }, storage_key: { value: cdktf.stringToHclTerraform(struct.storageKey), isBlock: false, type: "simple", storageClassType: "string", }, storage_key_type: { value: cdktf.stringToHclTerraform(struct.storageKeyType), isBlock: false, type: "simple", storageClassType: "string", }, storage_uri: { value: cdktf.stringToHclTerraform(struct.storageUri), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.mssqlDatabaseImportToHclTerraform = mssqlDatabaseImportToHclTerraform; class MssqlDatabaseImportOutputReference 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._administratorLogin !== undefined) { hasAnyValues = true; internalValueResult.administratorLogin = this._administratorLogin; } if (this._administratorLoginPassword !== undefined) { hasAnyValues = true; internalValueResult.administratorLoginPassword = this._administratorLoginPassword; } if (this._authenticationType !== undefined) { hasAnyValues = true; internalValueResult.authenticationType = this._authenticationType; } if (this._storageAccountId !== undefined) { hasAnyValues = true; internalValueResult.storageAccountId = this._storageAccountId; } if (this._storageKey !== undefined) { hasAnyValues = true; internalValueResult.storageKey = this._storageKey; } if (this._storageKeyType !== undefined) { hasAnyValues = true; internalValueResult.storageKeyType = this._storageKeyType; } if (this._storageUri !== undefined) { hasAnyValues = true; internalValueResult.storageUri = this._storageUri; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._administratorLogin = undefined; this._administratorLoginPassword = undefined; this._authenticationType = undefined; this._storageAccountId = undefined; this._storageKey = undefined; this._storageKeyType = undefined; this._storageUri = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._administratorLogin = value.administratorLogin; this._administratorLoginPassword = value.administratorLoginPassword; this._authenticationType = value.authenticationType; this._storageAccountId = value.storageAccountId; this._storageKey = value.storageKey; this._storageKeyType = value.storageKeyType; this._storageUri = value.storageUri; } } get administratorLogin() { return this.getStringAttribute('administrator_login'); } set administratorLogin(value) { this._administratorLogin = value; } // Temporarily expose input value. Use with caution. get administratorLoginInput() { return this._administratorLogin; } get administratorLoginPassword() { return this.getStringAttribute('administrator_login_password'); } set administratorLoginPassword(value) { this._administratorLoginPassword = value; } // Temporarily expose input value. Use with caution. get administratorLoginPasswordInput() { return this._administratorLoginPassword; } get authenticationType() { return this.getStringAttribute('authentication_type'); } set authenticationType(value) { this._authenticationType = value; } // Temporarily expose input value. Use with caution. get authenticationTypeInput() { return this._authenticationType; } get storageAccountId() { return this.getStringAttribute('storage_account_id'); } set storageAccountId(value) { this._storageAccountId = value; } resetStorageAccountId() { this._storageAccountId = undefined; } // Temporarily expose input value. Use with caution. get storageAccountIdInput() { return this._storageAccountId; } get storageKey() { return this.getStringAttribute('storage_key'); } set storageKey(value) { this._storageKey = value; } // Temporarily expose input value. Use with caution. get storageKeyInput() { return this._storageKey; } get storageKeyType() { return this.getStringAttribute('storage_key_type'); } set storageKeyType(value) { this._storageKeyType = value; } // Temporarily expose input value. Use with caution. get storageKeyTypeInput() { return this._storageKeyType; } get storageUri() { return this.getStringAttribute('storage_uri'); } set storageUri(value) { this._storageUri = value; } // Temporarily expose input value. Use with caution. get storageUriInput() { return this._storageUri; } } exports.MssqlDatabaseImportOutputReference = MssqlDatabaseImportOutputReference; _b = JSII_RTTI_SYMBOL_1; MssqlDatabaseImportOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.mssqlDatabase.MssqlDatabaseImportOutputReference", version: "12.27.0" }; function mssqlDatabaseLongTermRetentionPolicyToTerraform(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 { immutable_backups_enabled: cdktf.booleanToTerraform(struct.immutableBackupsEnabled), monthly_retention: cdktf.stringToTerraform(struct.monthlyRetention), week_of_year: cdktf.numberToTerraform(struct.weekOfYear), weekly_retention: cdktf.stringToTerraform(struct.weeklyRetention), yearly_retention: cdktf.stringToTerraform(struct.yearlyRetention), }; } exports.mssqlDatabaseLongTermRetentionPolicyToTerraform = mssqlDatabaseLongTermRetentionPolicyToTerraform; function mssqlDatabaseLongTermRetentionPolicyToHclTerraform(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 = { immutable_backups_enabled: { value: cdktf.booleanToHclTerraform(struct.immutableBackupsEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, monthly_retention: { value: cdktf.stringToHclTerraform(struct.monthlyRetention), isBlock: false, type: "simple", storageClassType: "string", }, week_of_year: { value: cdktf.numberToHclTerraform(struct.weekOfYear), isBlock: false, type: "simple", storageClassType: "number", }, weekly_retention: { value: cdktf.stringToHclTerraform(struct.weeklyRetention), isBlock: false, type: "simple", storageClassType: "string", }, yearly_retention: { value: cdktf.stringToHclTerraform(struct.yearlyRetention), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.mssqlDatabaseLongTermRetentionPolicyToHclTerraform = mssqlDatabaseLongTermRetentionPolicyToHclTerraform; class MssqlDatabaseLongTermRetentionPolicyOutputReference 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._immutableBackupsEnabled !== undefined) { hasAnyValues = true; internalValueResult.immutableBackupsEnabled = this._immutableBackupsEnabled; } if (this._monthlyRetention !== undefined) { hasAnyValues = true; internalValueResult.monthlyRetention = this._monthlyRetention; } if (this._weekOfYear !== undefined) { hasAnyValues = true; internalValueResult.weekOfYear = this._weekOfYear; } if (this._weeklyRetention !== undefined) { hasAnyValues = true; internalValueResult.weeklyRetention = this._weeklyRetention; } if (this._yearlyRetention !== undefined) { hasAnyValues = true; internalValueResult.yearlyRetention = this._yearlyRetention; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._immutableBackupsEnabled = undefined; this._monthlyRetention = undefined; this._weekOfYear = undefined; this._weeklyRetention = undefined; this._yearlyRetention = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._immutableBackupsEnabled = value.immutableBackupsEnabled; this._monthlyRetention = value.monthlyRetention; this._weekOfYear = value.weekOfYear; this._weeklyRetention = value.weeklyRetention; this._yearlyRetention = value.yearlyRetention; } } get immutableBackupsEnabled() { return this.getBooleanAttribute('immutable_backups_enabled'); } set immutableBackupsEnabled(value) { this._immutableBackupsEnabled = value; } resetImmutableBackupsEnabled() { this._immutableBackupsEnabled = undefined; } // Temporarily expose input value. Use with caution. get immutableBackupsEnabledInput() { return this._immutableBackupsEnabled; } get monthlyRetention() { return this.getStringAttribute('monthly_retention'); } set monthlyRetention(value) { this._monthlyRetention = value; } resetMonthlyRetention() { this._monthlyRetention = undefined; } // Temporarily expose input value. Use with caution. get monthlyRetentionInput() { return this._monthlyRetention; } get weekOfYear() { return this.getNumberAttribute('week_of_year'); } set weekOfYear(value) { this._weekOfYear = value; } resetWeekOfYear() { this._weekOfYear = undefined; } // Temporarily expose input value. Use with caution. get weekOfYearInput() { return this._weekOfYear; } get weeklyRetention() { return this.getStringAttribute('weekly_retention'); } set weeklyRetention(value) { this._weeklyRetention = value; } resetWeeklyRetention() { this._weeklyRetention = undefined; } // Temporarily expose input value. Use with caution. get weeklyRetentionInput() { return this._weeklyRetention; } get yearlyRetention() { return this.getStringAttribute('yearly_retention'); } set yearlyRetention(value) { this._yearlyRetention = value; } resetYearlyRetention() { this._yearlyRetention = undefined; } // Temporarily expose input value. Use with caution. get yearlyRetentionInput() { return this._yearlyRetention; } } exports.MssqlDatabaseLongTermRetentionPolicyOutputReference = MssqlDatabaseLongTermRetentionPolicyOutputReference; _c = JSII_RTTI_SYMBOL_1; MssqlDatabaseLongTermRetentionPolicyOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.mssqlDatabase.MssqlDatabaseLongTermRetentionPolicyOutputReference", version: "12.27.0" }; function mssqlDatabaseShortTermRetentionPolicyToTerraform(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 { backup_interval_in_hours: cdktf.numberToTerraform(struct.backupIntervalInHours), retention_days: cdktf.numberToTerraform(struct.retentionDays), }; } exports.mssqlDatabaseShortTermRetentionPolicyToTerraform = mssqlDatabaseShortTermRetentionPolicyToTerraform; function mssqlDatabaseShortTermRetentionPolicyToHclTerraform(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 = { backup_interval_in_hours: { value: cdktf.numberToHclTerraform(struct.backupIntervalInHours), isBlock: false, type: "simple", storageClassType: "number", }, retention_days: { value: cdktf.numberToHclTerraform(struct.retentionDays), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.mssqlDatabaseShortTermRetentionPolicyToHclTerraform = mssqlDatabaseShortTermRetentionPolicyToHclTerraform; class MssqlDatabaseShortTermRetentionPolicyOutputReference 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._backupIntervalInHours !== undefined) { hasAnyValues = true; internalValueResult.backupIntervalInHours = this._backupIntervalInHours; } if (this._retentionDays !== undefined) { hasAnyValues = true; internalValueResult.retentionDays = this._retentionDays; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._backupIntervalInHours = undefined; this._retentionDays = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._backupIntervalInHours = value.backupIntervalInHours; this._retentionDays = value.retentionDays; } } get backupIntervalInHours() { return this.getNumberAttribute('backup_interval_in_hours'); } set backupIntervalInHours(value) { this._backupIntervalInHours = value; } resetBackupIntervalInHours() { this._backupIntervalInHours = undefined; } // Temporarily expose input value. Use with caution. get backupIntervalInHoursInput() { return this._backupIntervalInHours; } get retentionDays() { return this.getNumberAttribute('retention_days'); } set retentionDays(value) { this._retentionDays = value; } // Temporarily expose input value. Use with caution. get retentionDaysInput() { return this._retentionDays; } } exports.MssqlDatabaseShortTermRetentionPolicyOutputReference = MssqlDatabaseShortTermRetentionPolicyOutputReference; _d = JSII_RTTI_SYMBOL_1; MssqlDatabaseShortTermRetentionPolicyOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.mssqlDatabase.MssqlDatabaseShortTermRetentionPolicyOutputReference", version: "12.27.0" }; function mssqlDatabaseThreatDetectionPolicyToTerraform(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 { disabled_alerts: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.disabledAlerts), email_account_admins: cdktf.stringToTerraform(struct.emailAccountAdmins), email_addresses: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.emailAddresses), retention_days: cdktf.numberToTerraform(struct.retentionDays), state: cdktf.stringToTerraform(struct.state), storage_account_access_key: cdktf.stringToTerraform(struct.storageAccountAccessKey), storage_endpoint: cdktf.stringToTerraform(struct.storageEndpoint), }; } exports.mssqlDatabaseThreatDetectionPolicyToTerraform = mssqlDatabaseThreatDetectionPolicyToTerraform; function mssqlDatabaseThreatDetectionPolicyToHclTerraform(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 = { disabled_alerts: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.disabledAlerts), isBlock: false, type: "set", storageClassType: "stringList", }, email_account_admins: { value: cdktf.stringToHclTerraform(struct.emailAccountAdmins), isBlock: false, type: "simple", storageClassType: "string", }, email_addresses: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.emailAddresses), isBlock: false, type: "set", storageClassType: "stringList", }, retention_days: { value: cdktf.numberToHclTerraform(struct.retentionDays), isBlock: false, type: "simple", storageClassType: "number", }, state: { value: cdktf.stringToHclTerraform(struct.state), isBlock: false, type: "simple", storageClassType: "string", }, storage_account_access_key: { value: cdktf.stringToHclTerraform(struct.storageAccountAccessKey), isBlock: false, type: "simple", storageClassType: "string", }, storage_endpoint: { value: cdktf.stringToHclTerraform(struct.storageEndpoint), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.mssqlDatabaseThreatDetectionPolicyToHclTerraform = mssqlDatabaseThreatDetectionPolicyToHclTerraform; class MssqlDatabaseThreatDetectionPolicyOutputReference 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._disabledAlerts !== undefined) { hasAnyValues = true; internalValueResult.disabledAlerts = this._disabledAlerts; } if (this._emailAccountAdmins !== undefined) { hasAnyValues = true; internalValueResult.emailAccountAdmins = this._emailAccountAdmins; } if (this._emailAddresses !== undefined) { hasAnyValues = true; internalValueResult.emailAddresses = this._emailAddresses; } if (this._retentionDays !== undefined) { hasAnyValues = true; internalValueResult.retentionDays = this._retentionDays; } if (this._state !== undefined) { hasAnyValues = true; internalValueResult.state = this._state; } if (this._storageAccountAccessKey !== undefined) { hasAnyValues = true; internalValueResult.storageAccountAccessKey = this._storageAccountAccessKey; } if (this._storageEndpoint !== undefined) { hasAnyValues = true; internalValueResult.storageEndpoint = this._storageEndpoint; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._disabledAlerts = undefined; this._emailAccountAdmins = undefined; this._emailAddresses = undefined; this._retentionDays = undefined; this._state = undefined; this._storageAccountAccessKey = undefined; this._storageEndpoint = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._disabledAlerts = value.disabledAlerts; this._emailAccountAdmins = value.emailAccountAdmins; this._emailAddresses = value.emailAddresses; this._retentionDays = value.retentionDays; this._state = value.state; this._storageAccountAccessKey = value.storageAccountAccessKey; this._storageEndpoint = value.storageEndpoint; } } get disabledAlerts() { return cdktf.Fn.tolist(this.getListAttribute('disabled_alerts')); } set disabledAlerts(value) { this._disabledAlerts = value; } resetDisabledAlerts() { this._disabledAlerts = undefined; } // Temporarily expose input value. Use with caution. get disabledAlertsInput() { return this._disabledAlerts; } get emailAccountAdmins() { return this.getStringAttribute('email_account_admins'); } set emailAccountAdmins(value) { this._emailAccountAdmins = value; } resetEmailAccountAdmins() { this._emailAccountAdmins = undefined; } // Temporarily expose input value. Use with caution. get emailAccountAdminsInput() { return this._emailAccountAdmins; } get emailAddresses() { return cdktf.Fn.tolist(this.getListAttribute('email_addresses')); } set emailAddresses(value) { this._emailAddresses = value; } resetEmailAddresses() { this._emailAddresses = undefined; } // Temporarily expose input value. Use with caution. get emailAddressesInput() { return this._emailAddresses; } get retentionDays() { return this.getNumberAttribute('retention_days'); } set retentionDays(value) { this._retentionDays = value; } resetRetentionDays() { this._retentionDays = undefined; } // Temporarily expose input value. Use with caution. get retentionDaysInput() { return this._retentionDays; } get state() { return this.getStringAttribute('state'); } set state(value) { this._state = value; } resetState() { this._state = undefined; } // Temporarily expose input value. Use with caution. get stateInput() { return this._state; } get storageAccountAccessKey() { return this.getStringAttribute('storage_account_access_key'); } set storageAccountAccessKey(value) { this._storageAccountAccessKey = value; } resetStorageAccountAccessKey() { this._storageAccountAccessKey = undefined; } // Temporarily expose input value. Use with caution. get storageAccountAccessKeyInput() { return this._storageAccountAccessKey; } get storageEndpoint() { return this.getStringAttribute('storage_endpoint'); } set storageEndpoint(value) { this._storageEndpoint = value; } resetStorageEndpoint() { this._storageEndpoint = undefined; } // Temporarily expose input value. Use with caution. get storageEndpointInput() { return this._storageEndpoint; } } exports.MssqlDatabaseThreatDetectionPolicyOutputReference = MssqlDatabaseThreatDetectionPolicyOutputReference; _e = JSII_RTTI_SYMBOL_1; MssqlDatabaseThreatDetectionPolicyOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.mssqlDatabase.MssqlDatabaseThreatDetectionPolicyOutputReference", version: "12.27.0" }; function mssqlDatabaseTimeoutsToTerraform(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.mssqlDatabaseTimeoutsToTerraform = mssqlDatabaseTimeoutsToTerraform; function mssqlDatabaseTimeoutsToHclTerraform(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.mssqlDatabaseTimeoutsToHclTerraform = mssqlDatabaseTimeoutsToHclTerraform; class MssqlDatabaseTimeoutsOutputReference 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.MssqlDatabaseTimeoutsOutputReference = MssqlDatabaseTimeoutsOutputReference; _f = JSII_RTTI_SYMBOL_1; MssqlDatabaseTimeoutsOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.mssqlDatabase.MssqlDatabaseTimeoutsOutputReference", version: "12.27.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/mssql_database azurerm_mssql_database} */ class MssqlDatabase extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a MssqlDatabase 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 MssqlDatabase to import * @param importFromId The id of the existing MssqlDatabase that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/mssql_database#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MssqlDatabase to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_mssql_database", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/mssql_database azurerm_mssql_database} 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 MssqlDatabaseConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'azurerm_mssql_database', 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 }); // identity - computed: false, optional: true, required: false this._identity = new MssqlDatabaseIdentityOutputReference(this, "identity"); // import - computed: false, optional: true, required: false this._import = new MssqlDatabaseImportOutputReference(this, "import"); // long_term_retention_policy - computed: false, optional: true, required: false this._longTermRetentionPolicy = new MssqlDatabaseLongTermRetentionPolicyOutputReference(this, "long_term_retention_policy"); // short_term_retention_policy - computed: false, optional: true, required: false this._shortTermRetentionPolicy = new MssqlDatabaseShortTermRetentionPolicyOutputReference(this, "short_term_retention_policy"); // threat_detection_policy - computed: false, optional: true, required: false this._threatDetectionPolicy = new MssqlDatabaseThreatDetectionPolicyOutputReference(this, "threat_detection_policy"); // timeouts - computed: false, optional: true, required: false this._timeouts = new MssqlDatabaseTimeoutsOutputReference(this, "timeouts"); this._autoPauseDelayInMinutes = config.autoPauseDelayInMinutes; this._collation = config.collation; this._createMode = config.createMode; this._creationSourceDatabaseId = config.creationSourceDatabaseId; this._elasticPoolId = config.elasticPoolId; this._enclaveType = config.enclaveType; this._geoBackupEnabled = config.geoBackupEnabled; this._id = config.id; this._ledgerEnabled = config.ledgerEnabled; this._licenseType = config.licenseType; this._maintenanceConfigurationName = config.maintenanceConfigurationName; this._maxSizeGb = config.maxSizeGb; this._minCapacity = config.minCapacity; this._name = config.name; this._readReplicaCount = config.readReplicaCount; this._readScale = config.readScale; this._recoverDatabaseId = config.recoverDatabaseId; this._recoveryPointId = config.recoveryPointId; this._restoreDroppedDatabaseId = config.restoreDroppedDatabaseId; this._restoreLongTermRetentionBackupId = config.restoreLongTermRetentionBackupId; this._restorePointInTime = config.restorePointInTime; this._sampleName = config.sampleName; this._secondaryType = config.secondaryType; this._serverId = config.serverId; this._skuName = config.skuName; this._storageAccountType = config.storageAccountType; this._tags = config.tags; this._transparentDataEncryptionEnabled = config.transparentDataEncryptionEnabled; this._transparentDataEncryptionKeyAutomaticRotationEnabled = config.transparentDataEncryptionKeyAutomaticRotationEnabled; this._transparentDataEncryptionKeyVaultKeyId = config.transparentDataEncryptionKeyVaultKeyId; this._zoneRedundant = config.zoneRedundant; this._identity.internalValue = config.identity; this._import.internalValue = config.import; this._longTermRetentionPolicy.internalValue = config.longTermRetentionPolicy; this._shortTermRetentionPolicy.internalValue = config.shortTermRetentionPolicy; this._threatDetectionPolicy.internalValue = config.threatDetectionPolicy; this._timeouts.internalValue = config.timeouts; } get autoPauseDelayInMinutes() { return this.getNumberAttribute('auto_pause_delay_in_minutes'); } set autoPauseDelayInMinutes(value) { this._autoPauseDelayInMinutes = value; } resetAutoPauseDelayInMinutes() { this._autoPauseDelayInMinutes = undefined; } // Temporarily expose input value. Use with caution. get autoPauseDelayInMinutesInput() { return this._autoPauseDelayInMinutes; } get collation() { return this.getStringAttribute('collation'); } set collation(value) { this._collation = value; } resetCollation() { this._collation = undefined; } // Temporarily expose input value. Use with caution. get collationInput() { return this._collation; } get createMode() { return this.getStringAttribute('create_mode'); } set createMode(value) { this._createMode = value; } resetCreateMode() { this._createMode = undefined; } // Temporarily expose input value. Use with caution. get createModeInput() { return this._createMode; } get creationSourceDatabaseId() { return this.getStringAttribute('creation_source_database_id'); } set creationSourceDatabaseId(value) { this._creationSourceDatabaseId = value; } resetCreationSourceDatabaseId() { this._creationSourceDatabaseId = undefined; } // Temporarily expose input value. Use with caution. get creationSourceDatabaseIdInput() { return this._creationSourceDatabaseId; } get elasticPoolId() { return this.getStringAttribute('elastic_pool_id'); } set elasticPoolId(value) { this._elasticPoolId = value; } resetElasticPoolId() { this._elasticPoolId = undefined; } // Temporarily expose input value. Use with caution. get elasticPoolIdInput() { return this._elasticPoolId; } get enclaveType() { return this.getStringAttribute('enclave_type'); } set enclaveType(value) { this._enclaveType = value; } resetEnclaveType() { this._enclaveType = undefined; } // Temporarily expose input value. Use with caution. get enclaveTypeInput() { return this._enclaveType; } get geoBackupEnabled() { return this.getBooleanAttribute('geo_backup_enabled'); } set geoBackupEnabled(value) { this._geoBackupEnabled = value; } resetGeoBackupEnabled() { this._geoBackupEnabled = undefined; } // Temporarily expose input value. Use with caution. get geoBackupEnabledInput() { return this._geoBackupEnabled; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get ledgerEnabled() { return this.getBooleanAttribute('ledger_enabled'); } set ledgerEnabled(value) { this._ledgerEnabled = value; } resetLedgerEnabled() { this._ledgerEnabled = undefined; } // Temporarily expose input value. Use with caution. get ledgerEnabledInput() { return this._ledgerEnabled; } get licenseType() { return this.getStringAttribute('license_type'); } set licenseType(value) { this._licenseType = value; } resetLicenseType() { this._licenseType = undefined; } // Temporarily expose input value. Use with caution. get licenseTypeInput() { return this._licenseType; } get maintenanceConfigurationName() { return this.getStringAttribute('maintenance_configuration_name'); } set maintenanceConfigurationName(value) { this._maintenanceConfigurationName = value; } resetMaintenanceConfigurationName() { this._maintenanceConfigurationName = undefined; } // Temporarily expose input value. Use with caution. get maintenanceConfigurationNameInput() { return this._maintenanceConfigurationName; } get maxSizeGb() { return this.getNumberAttribute('max_size_gb'); } set maxSizeGb(value) { this._maxSizeGb = value; } resetMaxSizeGb() { this._maxSizeGb = undefined; } // Temporarily expose input value. Use with caution. get maxSizeGbInput() { return this._maxSizeGb; } get minCapacity() { return this.getNumberAttribute('min_capacity'); } set minCapacity(value) { this._minCapacity = value; } resetMinCapacity() { this._minCapacity = undefined; } // Temporarily expose input value. Use with caution. get minCapacityInput() { return this._minCapacity; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get readReplicaCount() { return this.getNumberAttribute('read_replica_count'); } set readReplicaCount(value) { this._readReplicaCount = value; } resetReadReplicaCount() { this._readReplicaCount = undefined; } // Temporarily expose input value. Use with caution. get readReplicaCountInput() { return this._readReplicaCount; } get re