UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

1,253 lines 203 kB
"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.