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