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

com.pulumi.googlenative.container.v1beta1.kotlin.inputs.DatabaseEncryptionArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.googlenative.container.v1beta1.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.container.v1beta1.inputs.DatabaseEncryptionArgs.builder
import com.pulumi.googlenative.container.v1beta1.kotlin.enums.DatabaseEncryptionState
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * Configuration of etcd encryption.
 * @property keyName Name of CloudKMS key to use for the encryption of secrets in etcd. Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
 * @property state The desired state of etcd encryption.
 */
public data class DatabaseEncryptionArgs(
    public val keyName: Output? = null,
    public val state: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.googlenative.container.v1beta1.inputs.DatabaseEncryptionArgs =
        com.pulumi.googlenative.container.v1beta1.inputs.DatabaseEncryptionArgs.builder()
            .keyName(keyName?.applyValue({ args0 -> args0 }))
            .state(state?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [DatabaseEncryptionArgs].
 */
@PulumiTagMarker
public class DatabaseEncryptionArgsBuilder internal constructor() {
    private var keyName: Output? = null

    private var state: Output? = null

    /**
     * @param value Name of CloudKMS key to use for the encryption of secrets in etcd. Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
     */
    @JvmName("wbbvxqgmdfqchapc")
    public suspend fun keyName(`value`: Output) {
        this.keyName = value
    }

    /**
     * @param value The desired state of etcd encryption.
     */
    @JvmName("pjeiswwmpskydcsw")
    public suspend fun state(`value`: Output) {
        this.state = value
    }

    /**
     * @param value Name of CloudKMS key to use for the encryption of secrets in etcd. Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
     */
    @JvmName("yoehatjxewiwgvuo")
    public suspend fun keyName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.keyName = mapped
    }

    /**
     * @param value The desired state of etcd encryption.
     */
    @JvmName("tkiwbctgmhsqmbdn")
    public suspend fun state(`value`: DatabaseEncryptionState?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.state = mapped
    }

    internal fun build(): DatabaseEncryptionArgs = DatabaseEncryptionArgs(
        keyName = keyName,
        state = state,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy