@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
1,253 lines • 203 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PostgresqlFlexibleServer = exports.PostgresqlFlexibleServerTimeoutsOutputReference = exports.postgresqlFlexibleServerTimeoutsToHclTerraform = exports.postgresqlFlexibleServerTimeoutsToTerraform = exports.PostgresqlFlexibleServerMaintenanceWindowOutputReference = exports.postgresqlFlexibleServerMaintenanceWindowToHclTerraform = exports.postgresqlFlexibleServerMaintenanceWindowToTerraform = exports.PostgresqlFlexibleServerIdentityOutputReference = exports.postgresqlFlexibleServerIdentityToHclTerraform = exports.postgresqlFlexibleServerIdentityToTerraform = exports.PostgresqlFlexibleServerHighAvailabilityOutputReference = exports.postgresqlFlexibleServerHighAvailabilityToHclTerraform = exports.postgresqlFlexibleServerHighAvailabilityToTerraform = exports.PostgresqlFlexibleServerCustomerManagedKeyOutputReference = exports.postgresqlFlexibleServerCustomerManagedKeyToHclTerraform = exports.postgresqlFlexibleServerCustomerManagedKeyToTerraform = exports.PostgresqlFlexibleServerAuthenticationOutputReference = exports.postgresqlFlexibleServerAuthenticationToHclTerraform = exports.postgresqlFlexibleServerAuthenticationToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function postgresqlFlexibleServerAuthenticationToTerraform(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 {
active_directory_auth_enabled: cdktf.booleanToTerraform(struct.activeDirectoryAuthEnabled),
password_auth_enabled: cdktf.booleanToTerraform(struct.passwordAuthEnabled),
tenant_id: cdktf.stringToTerraform(struct.tenantId),
};
}
exports.postgresqlFlexibleServerAuthenticationToTerraform = postgresqlFlexibleServerAuthenticationToTerraform;
function postgresqlFlexibleServerAuthenticationToHclTerraform(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 = {
active_directory_auth_enabled: {
value: cdktf.booleanToHclTerraform(struct.activeDirectoryAuthEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
password_auth_enabled: {
value: cdktf.booleanToHclTerraform(struct.passwordAuthEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
tenant_id: {
value: cdktf.stringToHclTerraform(struct.tenantId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.postgresqlFlexibleServerAuthenticationToHclTerraform = postgresqlFlexibleServerAuthenticationToHclTerraform;
class PostgresqlFlexibleServerAuthenticationOutputReference 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._activeDirectoryAuthEnabled !== undefined) {
hasAnyValues = true;
internalValueResult.activeDirectoryAuthEnabled = this._activeDirectoryAuthEnabled;
}
if (this._passwordAuthEnabled !== undefined) {
hasAnyValues = true;
internalValueResult.passwordAuthEnabled = this._passwordAuthEnabled;
}
if (this._tenantId !== undefined) {
hasAnyValues = true;
internalValueResult.tenantId = this._tenantId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._activeDirectoryAuthEnabled = undefined;
this._passwordAuthEnabled = undefined;
this._tenantId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._activeDirectoryAuthEnabled = value.activeDirectoryAuthEnabled;
this._passwordAuthEnabled = value.passwordAuthEnabled;
this._tenantId = value.tenantId;
}
}
get activeDirectoryAuthEnabled() {
return this.getBooleanAttribute('active_directory_auth_enabled');
}
set activeDirectoryAuthEnabled(value) {
this._activeDirectoryAuthEnabled = value;
}
resetActiveDirectoryAuthEnabled() {
this._activeDirectoryAuthEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get activeDirectoryAuthEnabledInput() {
return this._activeDirectoryAuthEnabled;
}
get passwordAuthEnabled() {
return this.getBooleanAttribute('password_auth_enabled');
}
set passwordAuthEnabled(value) {
this._passwordAuthEnabled = value;
}
resetPasswordAuthEnabled() {
this._passwordAuthEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get passwordAuthEnabledInput() {
return this._passwordAuthEnabled;
}
get tenantId() {
return this.getStringAttribute('tenant_id');
}
set tenantId(value) {
this._tenantId = value;
}
resetTenantId() {
this._tenantId = undefined;
}
// Temporarily expose input value. Use with caution.
get tenantIdInput() {
return this._tenantId;
}
}
exports.PostgresqlFlexibleServerAuthenticationOutputReference = PostgresqlFlexibleServerAuthenticationOutputReference;
_a = JSII_RTTI_SYMBOL_1;
PostgresqlFlexibleServerAuthenticationOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.postgresqlFlexibleServer.PostgresqlFlexibleServerAuthenticationOutputReference", version: "12.27.0" };
function postgresqlFlexibleServerCustomerManagedKeyToTerraform(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 {
geo_backup_key_vault_key_id: cdktf.stringToTerraform(struct.geoBackupKeyVaultKeyId),
geo_backup_user_assigned_identity_id: cdktf.stringToTerraform(struct.geoBackupUserAssignedIdentityId),
key_vault_key_id: cdktf.stringToTerraform(struct.keyVaultKeyId),
primary_user_assigned_identity_id: cdktf.stringToTerraform(struct.primaryUserAssignedIdentityId),
};
}
exports.postgresqlFlexibleServerCustomerManagedKeyToTerraform = postgresqlFlexibleServerCustomerManagedKeyToTerraform;
function postgresqlFlexibleServerCustomerManagedKeyToHclTerraform(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 = {
geo_backup_key_vault_key_id: {
value: cdktf.stringToHclTerraform(struct.geoBackupKeyVaultKeyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
geo_backup_user_assigned_identity_id: {
value: cdktf.stringToHclTerraform(struct.geoBackupUserAssignedIdentityId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
key_vault_key_id: {
value: cdktf.stringToHclTerraform(struct.keyVaultKeyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
primary_user_assigned_identity_id: {
value: cdktf.stringToHclTerraform(struct.primaryUserAssignedIdentityId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.postgresqlFlexibleServerCustomerManagedKeyToHclTerraform = postgresqlFlexibleServerCustomerManagedKeyToHclTerraform;
class PostgresqlFlexibleServerCustomerManagedKeyOutputReference 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._geoBackupKeyVaultKeyId !== undefined) {
hasAnyValues = true;
internalValueResult.geoBackupKeyVaultKeyId = this._geoBackupKeyVaultKeyId;
}
if (this._geoBackupUserAssignedIdentityId !== undefined) {
hasAnyValues = true;
internalValueResult.geoBackupUserAssignedIdentityId = this._geoBackupUserAssignedIdentityId;
}
if (this._keyVaultKeyId !== undefined) {
hasAnyValues = true;
internalValueResult.keyVaultKeyId = this._keyVaultKeyId;
}
if (this._primaryUserAssignedIdentityId !== undefined) {
hasAnyValues = true;
internalValueResult.primaryUserAssignedIdentityId = this._primaryUserAssignedIdentityId;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._geoBackupKeyVaultKeyId = undefined;
this._geoBackupUserAssignedIdentityId = undefined;
this._keyVaultKeyId = undefined;
this._primaryUserAssignedIdentityId = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._geoBackupKeyVaultKeyId = value.geoBackupKeyVaultKeyId;
this._geoBackupUserAssignedIdentityId = value.geoBackupUserAssignedIdentityId;
this._keyVaultKeyId = value.keyVaultKeyId;
this._primaryUserAssignedIdentityId = value.primaryUserAssignedIdentityId;
}
}
get geoBackupKeyVaultKeyId() {
return this.getStringAttribute('geo_backup_key_vault_key_id');
}
set geoBackupKeyVaultKeyId(value) {
this._geoBackupKeyVaultKeyId = value;
}
resetGeoBackupKeyVaultKeyId() {
this._geoBackupKeyVaultKeyId = undefined;
}
// Temporarily expose input value. Use with caution.
get geoBackupKeyVaultKeyIdInput() {
return this._geoBackupKeyVaultKeyId;
}
get geoBackupUserAssignedIdentityId() {
return this.getStringAttribute('geo_backup_user_assigned_identity_id');
}
set geoBackupUserAssignedIdentityId(value) {
this._geoBackupUserAssignedIdentityId = value;
}
resetGeoBackupUserAssignedIdentityId() {
this._geoBackupUserAssignedIdentityId = undefined;
}
// Temporarily expose input value. Use with caution.
get geoBackupUserAssignedIdentityIdInput() {
return this._geoBackupUserAssignedIdentityId;
}
get keyVaultKeyId() {
return this.getStringAttribute('key_vault_key_id');
}
set keyVaultKeyId(value) {
this._keyVaultKeyId = value;
}
// Temporarily expose input value. Use with caution.
get keyVaultKeyIdInput() {
return this._keyVaultKeyId;
}
get primaryUserAssignedIdentityId() {
return this.getStringAttribute('primary_user_assigned_identity_id');
}
set primaryUserAssignedIdentityId(value) {
this._primaryUserAssignedIdentityId = value;
}
resetPrimaryUserAssignedIdentityId() {
this._primaryUserAssignedIdentityId = undefined;
}
// Temporarily expose input value. Use with caution.
get primaryUserAssignedIdentityIdInput() {
return this._primaryUserAssignedIdentityId;
}
}
exports.PostgresqlFlexibleServerCustomerManagedKeyOutputReference = PostgresqlFlexibleServerCustomerManagedKeyOutputReference;
_b = JSII_RTTI_SYMBOL_1;
PostgresqlFlexibleServerCustomerManagedKeyOutputReference[_b] = { fqn: "@cdktf/provider-azurerm.postgresqlFlexibleServer.PostgresqlFlexibleServerCustomerManagedKeyOutputReference", version: "12.27.0" };
function postgresqlFlexibleServerHighAvailabilityToTerraform(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 {
mode: cdktf.stringToTerraform(struct.mode),
standby_availability_zone: cdktf.stringToTerraform(struct.standbyAvailabilityZone),
};
}
exports.postgresqlFlexibleServerHighAvailabilityToTerraform = postgresqlFlexibleServerHighAvailabilityToTerraform;
function postgresqlFlexibleServerHighAvailabilityToHclTerraform(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 = {
mode: {
value: cdktf.stringToHclTerraform(struct.mode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
standby_availability_zone: {
value: cdktf.stringToHclTerraform(struct.standbyAvailabilityZone),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.postgresqlFlexibleServerHighAvailabilityToHclTerraform = postgresqlFlexibleServerHighAvailabilityToHclTerraform;
class PostgresqlFlexibleServerHighAvailabilityOutputReference 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._mode !== undefined) {
hasAnyValues = true;
internalValueResult.mode = this._mode;
}
if (this._standbyAvailabilityZone !== undefined) {
hasAnyValues = true;
internalValueResult.standbyAvailabilityZone = this._standbyAvailabilityZone;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._mode = undefined;
this._standbyAvailabilityZone = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._mode = value.mode;
this._standbyAvailabilityZone = value.standbyAvailabilityZone;
}
}
get mode() {
return this.getStringAttribute('mode');
}
set mode(value) {
this._mode = value;
}
// Temporarily expose input value. Use with caution.
get modeInput() {
return this._mode;
}
get standbyAvailabilityZone() {
return this.getStringAttribute('standby_availability_zone');
}
set standbyAvailabilityZone(value) {
this._standbyAvailabilityZone = value;
}
resetStandbyAvailabilityZone() {
this._standbyAvailabilityZone = undefined;
}
// Temporarily expose input value. Use with caution.
get standbyAvailabilityZoneInput() {
return this._standbyAvailabilityZone;
}
}
exports.PostgresqlFlexibleServerHighAvailabilityOutputReference = PostgresqlFlexibleServerHighAvailabilityOutputReference;
_c = JSII_RTTI_SYMBOL_1;
PostgresqlFlexibleServerHighAvailabilityOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.postgresqlFlexibleServer.PostgresqlFlexibleServerHighAvailabilityOutputReference", version: "12.27.0" };
function postgresqlFlexibleServerIdentityToTerraform(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.postgresqlFlexibleServerIdentityToTerraform = postgresqlFlexibleServerIdentityToTerraform;
function postgresqlFlexibleServerIdentityToHclTerraform(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.postgresqlFlexibleServerIdentityToHclTerraform = postgresqlFlexibleServerIdentityToHclTerraform;
class PostgresqlFlexibleServerIdentityOutputReference 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.PostgresqlFlexibleServerIdentityOutputReference = PostgresqlFlexibleServerIdentityOutputReference;
_d = JSII_RTTI_SYMBOL_1;
PostgresqlFlexibleServerIdentityOutputReference[_d] = { fqn: "@cdktf/provider-azurerm.postgresqlFlexibleServer.PostgresqlFlexibleServerIdentityOutputReference", version: "12.27.0" };
function postgresqlFlexibleServerMaintenanceWindowToTerraform(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 {
day_of_week: cdktf.numberToTerraform(struct.dayOfWeek),
start_hour: cdktf.numberToTerraform(struct.startHour),
start_minute: cdktf.numberToTerraform(struct.startMinute),
};
}
exports.postgresqlFlexibleServerMaintenanceWindowToTerraform = postgresqlFlexibleServerMaintenanceWindowToTerraform;
function postgresqlFlexibleServerMaintenanceWindowToHclTerraform(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 = {
day_of_week: {
value: cdktf.numberToHclTerraform(struct.dayOfWeek),
isBlock: false,
type: "simple",
storageClassType: "number",
},
start_hour: {
value: cdktf.numberToHclTerraform(struct.startHour),
isBlock: false,
type: "simple",
storageClassType: "number",
},
start_minute: {
value: cdktf.numberToHclTerraform(struct.startMinute),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.postgresqlFlexibleServerMaintenanceWindowToHclTerraform = postgresqlFlexibleServerMaintenanceWindowToHclTerraform;
class PostgresqlFlexibleServerMaintenanceWindowOutputReference 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._dayOfWeek !== undefined) {
hasAnyValues = true;
internalValueResult.dayOfWeek = this._dayOfWeek;
}
if (this._startHour !== undefined) {
hasAnyValues = true;
internalValueResult.startHour = this._startHour;
}
if (this._startMinute !== undefined) {
hasAnyValues = true;
internalValueResult.startMinute = this._startMinute;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._dayOfWeek = undefined;
this._startHour = undefined;
this._startMinute = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._dayOfWeek = value.dayOfWeek;
this._startHour = value.startHour;
this._startMinute = value.startMinute;
}
}
get dayOfWeek() {
return this.getNumberAttribute('day_of_week');
}
set dayOfWeek(value) {
this._dayOfWeek = value;
}
resetDayOfWeek() {
this._dayOfWeek = undefined;
}
// Temporarily expose input value. Use with caution.
get dayOfWeekInput() {
return this._dayOfWeek;
}
get startHour() {
return this.getNumberAttribute('start_hour');
}
set startHour(value) {
this._startHour = value;
}
resetStartHour() {
this._startHour = undefined;
}
// Temporarily expose input value. Use with caution.
get startHourInput() {
return this._startHour;
}
get startMinute() {
return this.getNumberAttribute('start_minute');
}
set startMinute(value) {
this._startMinute = value;
}
resetStartMinute() {
this._startMinute = undefined;
}
// Temporarily expose input value. Use with caution.
get startMinuteInput() {
return this._startMinute;
}
}
exports.PostgresqlFlexibleServerMaintenanceWindowOutputReference = PostgresqlFlexibleServerMaintenanceWindowOutputReference;
_e = JSII_RTTI_SYMBOL_1;
PostgresqlFlexibleServerMaintenanceWindowOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.postgresqlFlexibleServer.PostgresqlFlexibleServerMaintenanceWindowOutputReference", version: "12.27.0" };
function postgresqlFlexibleServerTimeoutsToTerraform(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.postgresqlFlexibleServerTimeoutsToTerraform = postgresqlFlexibleServerTimeoutsToTerraform;
function postgresqlFlexibleServerTimeoutsToHclTerraform(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.postgresqlFlexibleServerTimeoutsToHclTerraform = postgresqlFlexibleServerTimeoutsToHclTerraform;
class PostgresqlFlexibleServerTimeoutsOutputReference 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.PostgresqlFlexibleServerTimeoutsOutputReference = PostgresqlFlexibleServerTimeoutsOutputReference;
_f = JSII_RTTI_SYMBOL_1;
PostgresqlFlexibleServerTimeoutsOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.postgresqlFlexibleServer.PostgresqlFlexibleServerTimeoutsOutputReference", version: "12.27.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/postgresql_flexible_server azurerm_postgresql_flexible_server}
*/
class PostgresqlFlexibleServer extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a PostgresqlFlexibleServer 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 PostgresqlFlexibleServer to import
* @param importFromId The id of the existing PostgresqlFlexibleServer that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/postgresql_flexible_server#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the PostgresqlFlexibleServer to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_postgresql_flexible_server", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/postgresql_flexible_server azurerm_postgresql_flexible_server} 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 PostgresqlFlexibleServerConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'azurerm_postgresql_flexible_server',
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
});
// authentication - computed: false, optional: true, required: false
this._authentication = new PostgresqlFlexibleServerAuthenticationOutputReference(this, "authentication");
// customer_managed_key - computed: false, optional: true, required: false
this._customerManagedKey = new PostgresqlFlexibleServerCustomerManagedKeyOutputReference(this, "customer_managed_key");
// high_availability - computed: false, optional: true, required: false
this._highAvailability = new PostgresqlFlexibleServerHighAvailabilityOutputReference(this, "high_availability");
// identity - computed: false, optional: true, required: false
this._identity = new PostgresqlFlexibleServerIdentityOutputReference(this, "identity");
// maintenance_window - computed: false, optional: true, required: false
this._maintenanceWindow = new PostgresqlFlexibleServerMaintenanceWindowOutputReference(this, "maintenance_window");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new PostgresqlFlexibleServerTimeoutsOutputReference(this, "timeouts");
this._administratorLogin = config.administratorLogin;
this._administratorPassword = config.administratorPassword;
this._autoGrowEnabled = config.autoGrowEnabled;
this._backupRetentionDays = config.backupRetentionDays;
this._createMode = config.createMode;
this._delegatedSubnetId = config.delegatedSubnetId;
this._geoRedundantBackupEnabled = config.geoRedundantBackupEnabled;
this._id = config.id;
this._location = config.location;
this._name = config.name;
this._pointInTimeRestoreTimeInUtc = config.pointInTimeRestoreTimeInUtc;
this._privateDnsZoneId = config.privateDnsZoneId;
this._publicNetworkAccessEnabled = config.publicNetworkAccessEnabled;
this._replicationRole = config.replicationRole;
this._resourceGroupName = config.resourceGroupName;
this._skuName = config.skuName;
this._sourceServerId = config.sourceServerId;
this._storageMb = config.storageMb;
this._storageTier = config.storageTier;
this._tags = config.tags;
this._version = config.version;
this._zone = config.zone;
this._authentication.internalValue = config.authentication;
this._customerManagedKey.internalValue = config.customerManagedKey;
this._highAvailability.internalValue = config.highAvailability;
this._identity.internalValue = config.identity;
this._maintenanceWindow.internalValue = config.maintenanceWindow;
this._timeouts.internalValue = config.timeouts;
}
get administratorLogin() {
return this.getStringAttribute('administrator_login');
}
set administratorLogin(value) {
this._administratorLogin = value;
}
resetAdministratorLogin() {
this._administratorLogin = undefined;
}
// Temporarily expose input value. Use with caution.
get administratorLoginInput() {
return this._administratorLogin;
}
get administratorPassword() {
return this.getStringAttribute('administrator_password');
}
set administratorPassword(value) {
this._administratorPassword = value;
}
resetAdministratorPassword() {
this._administratorPassword = undefined;
}
// Temporarily expose input value. Use with caution.
get administratorPasswordInput() {
return this._administratorPassword;
}
get autoGrowEnabled() {
return this.getBooleanAttribute('auto_grow_enabled');
}
set autoGrowEnabled(value) {
this._autoGrowEnabled = value;
}
resetAutoGrowEnabled() {
this._autoGrowEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get autoGrowEnabledInput() {
return this._autoGrowEnabled;
}
get backupRetentionDays() {
return this.getNumberAttribute('backup_retention_days');
}
set backupRetentionDays(value) {
this._backupRetentionDays = value;
}
resetBackupRetentionDays() {
this._backupRetentionDays = undefined;
}
// Temporarily expose input value. Use with caution.
get backupRetentionDaysInput() {
return this._backupRetentionDays;
}
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 delegatedSubnetId() {
return this.getStringAttribute('delegated_subnet_id');
}
set delegatedSubnetId(value) {
this._delegatedSubnetId = value;
}
resetDelegatedSubnetId() {
this._delegatedSubnetId = undefined;
}
// Temporarily expose input value. Use with caution.
get delegatedSubnetIdInput() {
return this._delegatedSubnetId;
}
// fqdn - computed: true, optional: false, required: false
get fqdn() {
return this.getStringAttribute('fqdn');
}
get geoRedundantBackupEnabled() {
return this.getBooleanAttribute('geo_redundant_backup_enabled');
}
set geoRedundantBackupEnabled(value) {
this._geoRedundantBackupEnabled = value;
}
resetGeoRedundantBackupEnabled() {
this._geoRedundantBackupEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get geoRedundantBackupEnabledInput() {
return this._geoRedundantBackupEnabled;
}
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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get pointInTimeRestoreTimeInUtc() {
return this.getStringAttribute('point_in_time_restore_time_in_utc');
}
set pointInTimeRestoreTimeInUtc(value) {
this._pointInTimeRestoreTimeInUtc = value;
}
resetPointInTimeRestoreTimeInUtc() {
this._pointInTimeRestoreTimeInUtc = undefined;
}
// Temporarily expose input value. Use with caution.
get pointInTimeRestoreTimeInUtcInput() {
return this._pointInTimeRestoreTimeInUtc;
}
get privateDnsZoneId() {
return this.getStringAttribute('private_dns_zone_id');
}
set privateDnsZoneId(value) {
this._privateDnsZoneId = value;
}
resetPrivateDnsZoneId() {
this._privateDnsZoneId = undefined;
}
// Temporarily expose input value. Use with caution.
get privateDnsZoneIdInput() {
return this._privateDnsZoneId;
}
get publicNetworkAccessEnabled() {
return this.getBooleanAttribute('public_network_access_enabled');
}
set publicNetworkAccessEnabled(value) {
this._publicNetworkAccessEnabled = value;
}
resetPublicNetworkAccessEnabled() {
this._publicNetworkAccessEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get publicNetworkAccessEnabledInput() {
return this._publicNetworkAccessEnabled;
}
get replicationRole() {
return this.getStringAttribute('replication_role');
}
set replicationRole(value) {
this._replicationRole = value;
}
resetReplicationRole() {
this._replicationRole = undefined;
}
// Temporarily expose input value. Use with caution.
get replicationRoleInput() {
return this._replicationRole;
}
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 skuName() {
return this.getStringAttribute('sku_name');
}
set skuName(value) {
this._skuName = value;
}
resetSkuName() {
this._skuName = undefined;
}
// Temporarily expose input value. Use with caution.
get skuNameInput() {
return this._skuName;
}
get sourceServerId() {
return this.getStringAttribute('source_server_id');
}
set sourceServerId(value) {
this._sourceServerId = value;
}
resetSourceServerId() {
this._sourceServerId = undefined;
}
// Temporarily expose input value. Use with caution.
get sourceServerIdInput() {
return this._sourceServerId;
}
get storageMb() {
return this.getNumberAttribute('storage_mb');
}
set storageMb(value) {
this._storageMb = value;
}
resetStorageMb() {
this._storageMb = undefined;
}
// Temporarily expose input value. Use with caution.
get storageMbInput() {
return this._storageMb;
}
get storageTier() {
return this.getStringAttribute('storage_tier');
}
set storageTier(value) {
this._storageTier = value;
}
resetStorageTier() {
this._storageTier = undefined;
}
// Temporarily expose input value. Use with caution.
get storageTierInput() {
return this._storageTier;
}
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 version() {
return this.getStringAttribute('version');
}
set version(value) {
this._version = value;
}
resetVersion() {
this._version = undefined;
}
// Temporarily expose input value. Use with caution.
get versionInput() {
return this._version;
}
get zone() {
return this.getStringAttribute('zone');
}
set zone(value) {
this._zone = value;
}
resetZone() {
this._zone = undefined;
}
// Temporarily expose input value. Use with caution.
get zoneInput() {
return this._zone;
}
get authentication() {
return this._authentication;
}
putAuthentication(value) {
this._authentication.internalValue = value;
}
resetAuthentication() {
this._authentication.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get authenticationInput() {
return this._authentication.internalValue;
}
get customerManagedKey() {
return this._customerManagedKey;
}
putCustomerManagedKey(value) {
this._customerManagedKey.internalValue = value;
}
resetCustomerManagedKey() {
this._customerManagedKey.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get customerManagedKeyInput() {
return this._customerManagedKey.internalValue;
}
get highAvailability() {
return this._highAvailability;
}
putHighAvailability(value) {
this._highAvailability.internalValue = value;
}
resetHighAvailability() {
this._highAvailability.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get highAvailabilityInput() {
return this._highAvailability.internalValue;
}
get identity() {
return this._identity;
}
putIdentity(value) {
this._identity.internalValue = value;
}
resetIdentity() {
this._identity.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get identityInput() {
return this._identity.internalValue;
}
get maintenanceWindow() {
return this._maintenanceWindow;
}
putMaintenanceWindow(value) {
this._maintenanceWindow.internalValue = value;
}
resetMaintenanceWindow() {
this._maintenanceWindow.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get maintenanceWindowInput() {
return this._maintenanceWindow.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 {
administrator_login: cdktf.stringToTerraform(this._administratorLogin),
administrator_password: cdktf.stringToTerraform(this._administratorPassword),
auto_grow_enabled: cdktf.booleanToTerraform(this._autoGrowEnabled),
backup_retention_days: cdktf.numberToTerraform(this._backupRetentionDays),
create_mode: cdktf.stringToTerraform(this._createMode),
delegated_subnet_id: cdktf.stringToTerraform(this._delegatedSubnetId),
geo_redundant_backup_enabled: cdktf.booleanToTerraform(this._geoRedundantBackupEnabled),
id: cdktf.stringToTerraform(this._id),
location: cdktf.stringToTerraform(this._location),
name: cdktf.stringToTerraform(this._name),
point_in_time_restore_time_in_utc: cdktf.stringToTerraform(this._pointInTimeRestoreTimeInUtc),
private_dns_zone_id: cdktf.stringToTerraform(this._privateDnsZoneId),
public_network_access_enabled: cdktf.booleanToTerraform(this._publicNetworkAccessEnabled),
replication_role: cdktf.stringToTerraform(this._replicationRole),
resource_group_name: cdktf.stringToTerraform(this._resourceGroupName),
sku_name: cdktf.stringToTerraform(this._skuName),
source_server_id: cdktf.stringToTerraform(this._sourceServerId),
storage_mb: cdktf.numberToTerraform(this._storageMb),
storage_tier: cdktf.stringToTerraform(this._storageTier),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
version: cdktf.stringToTerraform(this._version),
zone: cdktf.stringToTerraform(this._zone),
authentication: postgresqlFlexibleServerAuthenticationToTerraform(this._authentication.internalValue),
customer_managed_key: postgresqlFlexibleServerCustomerManagedKeyToTerraform(this._customerManagedKey.internalValue),
high_availability: postgresqlFlexibleServerHighAvailabilityToTerraform(this._highAvailability.internalValue),
identity: postgresqlFlexibleServerIdentityToTerraform(this._identity.internalValue),
maintenance_window: postgresqlFlexibleServerMaintenanceWindowToTerraform(this._maintenanceWindow.internalValue),
timeouts: postgresqlFlexibleServerTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
administrator_login: {
value: cdktf.