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

com.pulumi.gcp.applicationintegration.kotlin.outputs.ClientCloudKmsConfig.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.applicationintegration.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 *
 * @property key A Cloud KMS key is a named object containing one or more key versions, along
 * with metadata for the key. A key exists on exactly one key ring tied to a
 * specific location.
 * @property keyVersion Each version of a key contains key material used for encryption or signing.
 * A key's version is represented by an integer, starting at 1. To decrypt data
 * or verify a signature, you must use the same key version that was used to
 * encrypt or sign the data.
 * @property kmsLocation Location name of the key ring, e.g. "us-west1".
 * @property kmsProjectId The Google Cloud project id of the project where the kms key stored. If empty,
 * the kms key is stored at the same project as customer's project and ecrypted
 * with CMEK, otherwise, the kms key is stored in the tenant project and
 * encrypted with GMEK.
 * @property kmsRing A key ring organizes keys in a specific Google Cloud location and allows you to
 * manage access control on groups of keys. A key ring's name does not need to be
 * unique across a Google Cloud project, but must be unique within a given location.
 */
public data class ClientCloudKmsConfig(
    public val key: String,
    public val keyVersion: String? = null,
    public val kmsLocation: String,
    public val kmsProjectId: String? = null,
    public val kmsRing: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.applicationintegration.outputs.ClientCloudKmsConfig): ClientCloudKmsConfig = ClientCloudKmsConfig(
            key = javaType.key(),
            keyVersion = javaType.keyVersion().map({ args0 -> args0 }).orElse(null),
            kmsLocation = javaType.kmsLocation(),
            kmsProjectId = javaType.kmsProjectId().map({ args0 -> args0 }).orElse(null),
            kmsRing = javaType.kmsRing(),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy