@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
1,149 lines • 157 kB
JavaScript
"use strict";
var _a, _b, _c, _d;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SqlDatabase = exports.SqlDatabaseTimeoutsOutputReference = exports.sqlDatabaseTimeoutsToHclTerraform = exports.sqlDatabaseTimeoutsToTerraform = exports.SqlDatabaseThreatDetectionPolicyOutputReference = exports.sqlDatabaseThreatDetectionPolicyToHclTerraform = exports.sqlDatabaseThreatDetectionPolicyToTerraform = exports.SqlDatabaseImportOutputReference = exports.sqlDatabaseImportToHclTerraform = exports.sqlDatabaseImportToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function sqlDatabaseImportToTerraform(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),
operation_mode: cdktf.stringToTerraform(struct.operationMode),
storage_key: cdktf.stringToTerraform(struct.storageKey),
storage_key_type: cdktf.stringToTerraform(struct.storageKeyType),
storage_uri: cdktf.stringToTerraform(struct.storageUri),
};
}
exports.sqlDatabaseImportToTerraform = sqlDatabaseImportToTerraform;
function sqlDatabaseImportToHclTerraform(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",
},
operation_mode: {
value: cdktf.stringToHclTerraform(struct.operationMode),
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.sqlDatabaseImportToHclTerraform = sqlDatabaseImportToHclTerraform;
class SqlDatabaseImportOutputReference 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._operationMode !== undefined) {
hasAnyValues = true;
internalValueResult.operationMode = this._operationMode;
}
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._operationMode = 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._operationMode = value.operationMode;
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 operationMode() {
return this.getStringAttribute('operation_mode');
}
set operationMode(value) {
this._operationMode = value;
}
resetOperationMode() {
this._operationMode = undefined;
}
// Temporarily expose input value. Use with caution.
get operationModeInput() {
return this._operationMode;
}
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.SqlDatabaseImportOutputReference = SqlDatabaseImportOutputReference;
_a = JSII_RTTI_SYMBOL_1;
SqlDatabaseImportOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.sqlDatabase.SqlDatabaseImportOutputReference", version: "12.27.0" };
function sqlDatabaseThreatDetectionPolicyToTerraform(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.sqlDatabaseThreatDetectionPolicyToTerraform = sqlDatabaseThreatDetectionPolicyToTerraform;
function sqlDatabaseThreatDetectionPolicyToHclTerraform(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.sqlDatabaseThreatDetectionPolicyToHclTerraform = sqlDatabaseThreatDetectionPolicyToHclTerraform;
class SqlDatabaseThreatDetectionPolicyOutputReference 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.SqlDatabaseThreatDetectionPolicyOutputReference = SqlDatabaseThreatDetectionPolicyOutputReference;
_b = JSII_RTTI_SYMBOL_1;
SqlDatabaseThreatDetectionPolicyOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.sqlDatabase.SqlDatabaseThreatDetectionPolicyOutputReference", version: "12.27.0" };
function sqlDatabaseTimeoutsToTerraform(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.sqlDatabaseTimeoutsToTerraform = sqlDatabaseTimeoutsToTerraform;
function sqlDatabaseTimeoutsToHclTerraform(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.sqlDatabaseTimeoutsToHclTerraform = sqlDatabaseTimeoutsToHclTerraform;
class SqlDatabaseTimeoutsOutputReference 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.SqlDatabaseTimeoutsOutputReference = SqlDatabaseTimeoutsOutputReference;
_c = JSII_RTTI_SYMBOL_1;
SqlDatabaseTimeoutsOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.sqlDatabase.SqlDatabaseTimeoutsOutputReference", version: "12.27.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/sql_database azurerm_sql_database}
*/
class SqlDatabase extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a SqlDatabase 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 SqlDatabase to import
* @param importFromId The id of the existing SqlDatabase that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/sql_database#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the SqlDatabase to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_sql_database", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/sql_database azurerm_sql_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 SqlDatabaseConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'azurerm_sql_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
});
// import - computed: false, optional: true, required: false
this._import = new SqlDatabaseImportOutputReference(this, "import");
// threat_detection_policy - computed: false, optional: true, required: false
this._threatDetectionPolicy = new SqlDatabaseThreatDetectionPolicyOutputReference(this, "threat_detection_policy");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new SqlDatabaseTimeoutsOutputReference(this, "timeouts");
this._collation = config.collation;
this._createMode = config.createMode;
this._edition = config.edition;
this._elasticPoolName = config.elasticPoolName;
this._id = config.id;
this._location = config.location;
this._maxSizeBytes = config.maxSizeBytes;
this._maxSizeGb = config.maxSizeGb;
this._name = config.name;
this._readScale = config.readScale;
this._requestedServiceObjectiveId = config.requestedServiceObjectiveId;
this._requestedServiceObjectiveName = config.requestedServiceObjectiveName;
this._resourceGroupName = config.resourceGroupName;
this._restorePointInTime = config.restorePointInTime;
this._serverName = config.serverName;
this._sourceDatabaseDeletionDate = config.sourceDatabaseDeletionDate;
this._sourceDatabaseId = config.sourceDatabaseId;
this._tags = config.tags;
this._zoneRedundant = config.zoneRedundant;
this._import.internalValue = config.import;
this._threatDetectionPolicy.internalValue = config.threatDetectionPolicy;
this._timeouts.internalValue = config.timeouts;
}
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;
}
// creation_date - computed: true, optional: false, required: false
get creationDate() {
return this.getStringAttribute('creation_date');
}
// default_secondary_location - computed: true, optional: false, required: false
get defaultSecondaryLocation() {
return this.getStringAttribute('default_secondary_location');
}
get edition() {
return this.getStringAttribute('edition');
}
set edition(value) {
this._edition = value;
}
resetEdition() {
this._edition = undefined;
}
// Temporarily expose input value. Use with caution.
get editionInput() {
return this._edition;
}
get elasticPoolName() {
return this.getStringAttribute('elastic_pool_name');
}
set elasticPoolName(value) {
this._elasticPoolName = value;
}
resetElasticPoolName() {
this._elasticPoolName = undefined;
}
// Temporarily expose input value. Use with caution.
get elasticPoolNameInput() {
return this._elasticPoolName;
}
// encryption - computed: true, optional: false, required: false
get encryption() {
return this.getStringAttribute('encryption');
}
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 location() {
return this.getStringAttribute('location');
}
set location(value) {
this._location = value;
}
// Temporarily expose input value. Use with caution.
get locationInput() {
return this._location;
}
get maxSizeBytes() {
return this.getStringAttribute('max_size_bytes');
}
set maxSizeBytes(value) {
this._maxSizeBytes = value;
}
resetMaxSizeBytes() {
this._maxSizeBytes = undefined;
}
// Temporarily expose input value. Use with caution.
get maxSizeBytesInput() {
return this._maxSizeBytes;
}
get maxSizeGb() {
return this.getStringAttribute('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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get readScale() {
return this.getBooleanAttribute('read_scale');
}
set readScale(value) {
this._readScale = value;
}
resetReadScale() {
this._readScale = undefined;
}
// Temporarily expose input value. Use with caution.
get readScaleInput() {
return this._readScale;
}
get requestedServiceObjectiveId() {
return this.getStringAttribute('requested_service_objective_id');
}
set requestedServiceObjectiveId(value) {
this._requestedServiceObjectiveId = value;
}
resetRequestedServiceObjectiveId() {
this._requestedServiceObjectiveId = undefined;
}
// Temporarily expose input value. Use with caution.
get requestedServiceObjectiveIdInput() {
return this._requestedServiceObjectiveId;
}
get requestedServiceObjectiveName() {
return this.getStringAttribute('requested_service_objective_name');
}
set requestedServiceObjectiveName(value) {
this._requestedServiceObjectiveName = value;
}
resetRequestedServiceObjectiveName() {
this._requestedServiceObjectiveName = undefined;
}
// Temporarily expose input value. Use with caution.
get requestedServiceObjectiveNameInput() {
return this._requestedServiceObjectiveName;
}
get resourceGroupName() {
return this.getStringAttribute('resource_group_name');
}
set resourceGroupName(value) {
this._resourceGroupName = value;
}
// Temporarily expose input value. Use with caution.
get resourceGroupNameInput() {
return this._resourceGroupName;
}
get restorePointInTime() {
return this.getStringAttribute('restore_point_in_time');
}
set restorePointInTime(value) {
this._restorePointInTime = value;
}
resetRestorePointInTime() {
this._restorePointInTime = undefined;
}
// Temporarily expose input value. Use with caution.
get restorePointInTimeInput() {
return this._restorePointInTime;
}
get serverName() {
return this.getStringAttribute('server_name');
}
set serverName(value) {
this._serverName = value;
}
// Temporarily expose input value. Use with caution.
get serverNameInput() {
return this._serverName;
}
get sourceDatabaseDeletionDate() {
return this.getStringAttribute('source_database_deletion_date');
}
set sourceDatabaseDeletionDate(value) {
this._sourceDatabaseDeletionDate = value;
}
resetSourceDatabaseDeletionDate() {
this._sourceDatabaseDeletionDate = undefined;
}
// Temporarily expose input value. Use with caution.
get sourceDatabaseDeletionDateInput() {
return this._sourceDatabaseDeletionDate;
}
get sourceDatabaseId() {
return this.getStringAttribute('source_database_id');
}
set sourceDatabaseId(value) {
this._sourceDatabaseId = value;
}
resetSourceDatabaseId() {
this._sourceDatabaseId = undefined;
}
// Temporarily expose input value. Use with caution.
get sourceDatabaseIdInput() {
return this._sourceDatabaseId;
}
get tags() {
return this.getStringMapAttribute('tags');
}
set tags(value) {
this._tags = value;
}
resetTags() {
this._tags = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsInput() {
return this._tags;
}
get zoneRedundant() {
return this.getBooleanAttribute('zone_redundant');
}
set zoneRedundant(value) {
this._zoneRedundant = value;
}
resetZoneRedundant() {
this._zoneRedundant = undefined;
}
// Temporarily expose input value. Use with caution.
get zoneRedundantInput() {
return this._zoneRedundant;
}
get import() {
return this._import;
}
putImport(value) {
this._import.internalValue = value;
}
resetImport() {
this._import.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get importInput() {
return this._import.internalValue;
}
get threatDetectionPolicy() {
return this._threatDetectionPolicy;
}
putThreatDetectionPolicy(value) {
this._threatDetectionPolicy.internalValue = value;
}
resetThreatDetectionPolicy() {
this._threatDetectionPolicy.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get threatDetectionPolicyInput() {
return this._threatDetectionPolicy.internalValue;
}
get timeouts() {
return this._timeouts;
}
putTimeouts(value) {
this._timeouts.internalValue = value;
}
resetTimeouts() {
this._timeouts.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get timeoutsInput() {
return this._timeouts.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
collation: cdktf.stringToTerraform(this._collation),
create_mode: cdktf.stringToTerraform(this._createMode),
edition: cdktf.stringToTerraform(this._edition),
elastic_pool_name: cdktf.stringToTerraform(this._elasticPoolName),
id: cdktf.stringToTerraform(this._id),
location: cdktf.stringToTerraform(this._location),
max_size_bytes: cdktf.stringToTerraform(this._maxSizeBytes),
max_size_gb: cdktf.stringToTerraform(this._maxSizeGb),
name: cdktf.stringToTerraform(this._name),
read_scale: cdktf.booleanToTerraform(this._readScale),
requested_service_objective_id: cdktf.stringToTerraform(this._requestedServiceObjectiveId),
requested_service_objective_name: cdktf.stringToTerraform(this._requestedServiceObjectiveName),
resource_group_name: cdktf.stringToTerraform(this._resourceGroupName),
restore_point_in_time: cdktf.stringToTerraform(this._restorePointInTime),
server_name: cdktf.stringToTerraform(this._serverName),
source_database_deletion_date: cdktf.stringToTerraform(this._sourceDatabaseDeletionDate),
source_database_id: cdktf.stringToTerraform(this._sourceDatabaseId),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
zone_redundant: cdktf.booleanToTerraform(this._zoneRedundant),
import: sqlDatabaseImportToTerraform(this._import.internalValue),
threat_detection_policy: sqlDatabaseThreatDetectionPolicyToTerraform(this._threatDetectionPolicy.internalValue),
timeouts: sqlDatabaseTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
collation: {
value: cdktf.stringToHclTerraform(this._collation),
isBlock: false,
type: "simple",
storageClassType: "string",
},
create_mode: {
value: cdktf.stringToHclTerraform(this._createMode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
edition: {
value: cdktf.stringToHclTerraform(this._edition),
isBlock: false,
type: "simple",
storageClassType: "string",
},
elastic_pool_name: {
value: cdktf.stringToHclTerraform(this._elasticPoolName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
location: {
value: cdktf.stringToHclTerraform(this._location),
isBlock: false,
type: "simple",
storageClassType: "string",
},
max_size_bytes: {
value: cdktf.stringToHclTerraform(this._maxSizeBytes),
isBlock: false,
type: "simple",
storageClassType: "string",
},
max_size_gb: {
value: cdktf.stringToHclTerraform(this._maxSizeGb),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
read_scale: {
value: cdktf.booleanToHclTerraform(this._readScale),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
requested_service_objective_id: {
value: cdktf.stringToHclTerraform(this._requestedServiceObjectiveId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
requested_service_objective_name: {
value: cdktf.stringToHclTerraform(this._requestedServiceObjectiveName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
resource_group_name: {
value: cdktf.stringToHclTerraform(this._resourceGroupName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
restore_point_in_time: {
value: cdktf.stringToHclTerraform(this._restorePointInTime),
isBlock: false,
type: "simple",
storageClassType: "string",
},
server_name: {
value: cdktf.stringToHclTerraform(this._serverName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
source_database_deletion_date: {
value: cdktf.stringToHclTerraform(this._sourceDatabaseDeletionDate),
isBlock: false,
type: "simple",
storageClassType: "string",
},
source_database_id: {
value: cdktf.stringToHclTerraform(this._sourceDatabaseId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
zone_redundant: {
value: cdktf.booleanToHclTerraform(this._zoneRedundant),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
import: {
value: sqlDatabaseImportToHclTerraform(this._import.internalValue),
isBlock: true,
type: "list",
storageClassType: "SqlDatabaseImportList",
},
threat_detection_policy: {
value: sqlDatabaseThreatDetectionPolicyToHclTerraform(this._threatDetectionPolicy.internalValue),
isBlock: true,
type: "list",
storageClassType: "SqlDatabaseThreatDetectionPolicyList",
},
timeouts: {
value: sqlDatabaseTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "SqlDatabaseTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.SqlDatabase = SqlDatabase;
_d = JSII_RTTI_SYMBOL_1;
SqlDatabase[_d] = { fqn: "@cdktf/provider-azurerm.sqlDatabase.SqlDatabase", version: "12.27.0" };
// =================
// STATIC PROPERTIES
// =================
SqlDatabase.tfResourceType = "azurerm_sql_database";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3FsLWRhdGFiYXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBc0kvQixTQUFnQiw0QkFBNEIsQ0FBQyxNQUE2RDtJQUN4RyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUN4RSw0QkFBNEIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLDBCQUEwQixDQUFDO1FBQ3pGLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDeEUsY0FBYyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsYUFBYSxDQUFDO1FBQzlELFdBQVcsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFVBQVUsQ0FBQztRQUN4RCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLGNBQWMsQ0FBQztRQUNqRSxXQUFXLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7S0FDekQsQ0FBQTtBQUNILENBQUM7QUFkRCxvRUFjQztBQUdELFNBQWdCLCtCQUErQixDQUFDLE1BQTZEO0lBQzNHLElB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