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

com.pulumi.gcp.edgecontainer.kotlin.outputs.ClusterControlPlaneEncryption.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.12.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.edgecontainer.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property kmsKey The Cloud KMS CryptoKey e.g.
 * projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
 * to use for protecting control plane disks. If not specified, a
 * Google-managed key will be used instead.
 * @property kmsKeyActiveVersion (Output)
 * The Cloud KMS CryptoKeyVersion currently in use for protecting control
 * plane disks. Only applicable if kms_key is set.
 * @property kmsKeyState (Output)
 * Availability of the Cloud KMS CryptoKey. If not `KEY_AVAILABLE`, then
 * nodes may go offline as they cannot access their local data. This can be
 * caused by a lack of permissions to use the key, or if the key is disabled
 * or deleted.
 * @property kmsStatuses (Output)
 * Error status returned by Cloud KMS when using this key. This field may be
 * populated only if `kms_key_state` is not `KMS_KEY_STATE_KEY_AVAILABLE`.
 * If populated, this field contains the error status reported by Cloud KMS.
 * Structure is documented below.
 * The `kms_status` block contains:
 */
public data class ClusterControlPlaneEncryption(
    public val kmsKey: String? = null,
    public val kmsKeyActiveVersion: String? = null,
    public val kmsKeyState: String? = null,
    public val kmsStatuses: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.edgecontainer.outputs.ClusterControlPlaneEncryption): ClusterControlPlaneEncryption = ClusterControlPlaneEncryption(
            kmsKey = javaType.kmsKey().map({ args0 -> args0 }).orElse(null),
            kmsKeyActiveVersion = javaType.kmsKeyActiveVersion().map({ args0 -> args0 }).orElse(null),
            kmsKeyState = javaType.kmsKeyState().map({ args0 -> args0 }).orElse(null),
            kmsStatuses = javaType.kmsStatuses().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.edgecontainer.kotlin.outputs.ClusterControlPlaneEncryptionKmsStatus.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy