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

com.pulumi.gcp.compute.kotlin.outputs.DiskSourceSnapshotEncryptionKey.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.compute.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 *
 * @property kmsKeySelfLink The self link of the encryption key used to encrypt the disk. Also called KmsKeyName
 * in the cloud console. Your project's Compute Engine System service account
 * (`service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com`) must have
 * `roles/cloudkms.cryptoKeyEncrypterDecrypter` to use this feature.
 * See https://cloud.google.com/compute/docs/disks/customer-managed-encryption#encrypt_a_new_persistent_disk_with_your_own_keys
 * @property kmsKeyServiceAccount The service account used for the encryption request for the given KMS key.
 * If absent, the Compute Engine Service Agent service account is used.
 * @property rawKey Specifies a 256-bit customer-supplied encryption key, encoded in
 * RFC 4648 base64 to either encrypt or decrypt this resource.
 * @property sha256 (Output)
 * The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
 * encryption key that protects this resource.
 */
public data class DiskSourceSnapshotEncryptionKey(
    public val kmsKeySelfLink: String? = null,
    public val kmsKeyServiceAccount: String? = null,
    public val rawKey: String? = null,
    public val sha256: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.DiskSourceSnapshotEncryptionKey): DiskSourceSnapshotEncryptionKey = DiskSourceSnapshotEncryptionKey(
            kmsKeySelfLink = javaType.kmsKeySelfLink().map({ args0 -> args0 }).orElse(null),
            kmsKeyServiceAccount = javaType.kmsKeyServiceAccount().map({ args0 -> args0 }).orElse(null),
            rawKey = javaType.rawKey().map({ args0 -> args0 }).orElse(null),
            sha256 = javaType.sha256().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy