com.pulumi.gcp.compute.kotlin.outputs.GetDiskDiskEncryptionKey.kt Maven / Gradle / Ivy
@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 rsaEncryptedKey Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit
* customer-supplied encryption key to either encrypt or decrypt
* this resource. You can provide either the rawKey or the rsaEncryptedKey.
* @property sha256 The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
* encryption key that protects this resource.
*/
public data class GetDiskDiskEncryptionKey(
public val kmsKeySelfLink: String,
public val kmsKeyServiceAccount: String,
public val rawKey: String,
public val rsaEncryptedKey: String,
public val sha256: String,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.GetDiskDiskEncryptionKey): GetDiskDiskEncryptionKey = GetDiskDiskEncryptionKey(
kmsKeySelfLink = javaType.kmsKeySelfLink(),
kmsKeyServiceAccount = javaType.kmsKeyServiceAccount(),
rawKey = javaType.rawKey(),
rsaEncryptedKey = javaType.rsaEncryptedKey(),
sha256 = javaType.sha256(),
)
}
}