com.pulumi.gcp.logging.kotlin.inputs.GetProjectCmekSettingsPlainArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.logging.kotlin.inputs
import com.pulumi.gcp.logging.inputs.GetProjectCmekSettingsPlainArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* A collection of arguments for invoking getProjectCmekSettings.
* @property kmsKeyName The resource name for the configured Cloud KMS key.
* KMS key name format:
* `'projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]'`
* To enable CMEK for the bucket, set this field to a valid kmsKeyName for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.
* The Cloud KMS key used by the bucket can be updated by changing the kmsKeyName to a new valid key name. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.
* See [Enabling CMEK for Logging Buckets](https://cloud.google.com/logging/docs/routing/managed-encryption-storage) for more information.
* @property project The ID of the project.
*/
public data class GetProjectCmekSettingsPlainArgs(
public val kmsKeyName: String? = null,
public val project: String,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.logging.inputs.GetProjectCmekSettingsPlainArgs =
com.pulumi.gcp.logging.inputs.GetProjectCmekSettingsPlainArgs.builder()
.kmsKeyName(kmsKeyName?.let({ args0 -> args0 }))
.project(project.let({ args0 -> args0 })).build()
}
/**
* Builder for [GetProjectCmekSettingsPlainArgs].
*/
@PulumiTagMarker
public class GetProjectCmekSettingsPlainArgsBuilder internal constructor() {
private var kmsKeyName: String? = null
private var project: String? = null
/**
* @param value The resource name for the configured Cloud KMS key.
* KMS key name format:
* `'projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]'`
* To enable CMEK for the bucket, set this field to a valid kmsKeyName for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.
* The Cloud KMS key used by the bucket can be updated by changing the kmsKeyName to a new valid key name. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.
* See [Enabling CMEK for Logging Buckets](https://cloud.google.com/logging/docs/routing/managed-encryption-storage) for more information.
*/
@JvmName("gacpjibthcgxyvvl")
public suspend fun kmsKeyName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> args0 })
this.kmsKeyName = mapped
}
/**
* @param value The ID of the project.
*/
@JvmName("atqrsvrdqywrwgga")
public suspend fun project(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> args0 })
this.project = mapped
}
internal fun build(): GetProjectCmekSettingsPlainArgs = GetProjectCmekSettingsPlainArgs(
kmsKeyName = kmsKeyName,
project = project ?: throw PulumiNullFieldException("project"),
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy