All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.postgresql.kotlin.outputs.FlexibleServerCustomerManagedKey.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.postgresql.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 *
 * @property geoBackupKeyVaultKeyId The ID of the geo backup Key Vault Key. It can't cross region and need Customer Managed Key in same region as geo backup.
 * @property geoBackupUserAssignedIdentityId The geo backup user managed identity id for a Customer Managed Key. Should be added with `identity_ids`. It can't cross region and need identity in same region as geo backup.
 * > **Note:** `primary_user_assigned_identity_id` or `geo_backup_user_assigned_identity_id` is required when `type` is set to `UserAssigned`.
 * @property keyVaultKeyId The ID of the Key Vault Key.
 * @property primaryUserAssignedIdentityId Specifies the primary user managed identity id for a Customer Managed Key. Should be added with `identity_ids`.
 */
public data class FlexibleServerCustomerManagedKey(
    public val geoBackupKeyVaultKeyId: String? = null,
    public val geoBackupUserAssignedIdentityId: String? = null,
    public val keyVaultKeyId: String,
    public val primaryUserAssignedIdentityId: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.postgresql.outputs.FlexibleServerCustomerManagedKey): FlexibleServerCustomerManagedKey = FlexibleServerCustomerManagedKey(
            geoBackupKeyVaultKeyId = javaType.geoBackupKeyVaultKeyId().map({ args0 -> args0 }).orElse(null),
            geoBackupUserAssignedIdentityId = javaType.geoBackupUserAssignedIdentityId().map({ args0 ->
                args0
            }).orElse(null),
            keyVaultKeyId = javaType.keyVaultKeyId(),
            primaryUserAssignedIdentityId = javaType.primaryUserAssignedIdentityId().map({ args0 ->
                args0
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy