com.pulumi.gcp.compute.kotlin.inputs.DiskSourceImageEncryptionKeyArgs.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.compute.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.compute.inputs.DiskSourceImageEncryptionKeyArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @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 DiskSourceImageEncryptionKeyArgs(
public val kmsKeySelfLink: Output? = null,
public val kmsKeyServiceAccount: Output? = null,
public val rawKey: Output? = null,
public val sha256: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.compute.inputs.DiskSourceImageEncryptionKeyArgs =
com.pulumi.gcp.compute.inputs.DiskSourceImageEncryptionKeyArgs.builder()
.kmsKeySelfLink(kmsKeySelfLink?.applyValue({ args0 -> args0 }))
.kmsKeyServiceAccount(kmsKeyServiceAccount?.applyValue({ args0 -> args0 }))
.rawKey(rawKey?.applyValue({ args0 -> args0 }))
.sha256(sha256?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DiskSourceImageEncryptionKeyArgs].
*/
@PulumiTagMarker
public class DiskSourceImageEncryptionKeyArgsBuilder internal constructor() {
private var kmsKeySelfLink: Output? = null
private var kmsKeyServiceAccount: Output? = null
private var rawKey: Output? = null
private var sha256: Output? = null
/**
* @param value 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
*/
@JvmName("fopqmaxjhayqyber")
public suspend fun kmsKeySelfLink(`value`: Output) {
this.kmsKeySelfLink = value
}
/**
* @param value The service account used for the encryption request for the given KMS key.
* If absent, the Compute Engine Service Agent service account is used.
*/
@JvmName("xjycvfesjpacpnsx")
public suspend fun kmsKeyServiceAccount(`value`: Output) {
this.kmsKeyServiceAccount = value
}
/**
* @param value Specifies a 256-bit customer-supplied encryption key, encoded in
* RFC 4648 base64 to either encrypt or decrypt this resource.
*/
@JvmName("aunmebffbouelxoq")
public suspend fun rawKey(`value`: Output) {
this.rawKey = value
}
/**
* @param value (Output)
* The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
* encryption key that protects this resource.
*/
@JvmName("paqcrqqnnjrrdlru")
public suspend fun sha256(`value`: Output) {
this.sha256 = value
}
/**
* @param value 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
*/
@JvmName("vswprjdnwyocowqs")
public suspend fun kmsKeySelfLink(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kmsKeySelfLink = mapped
}
/**
* @param value The service account used for the encryption request for the given KMS key.
* If absent, the Compute Engine Service Agent service account is used.
*/
@JvmName("qffrtifwlgidvbgk")
public suspend fun kmsKeyServiceAccount(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kmsKeyServiceAccount = mapped
}
/**
* @param value Specifies a 256-bit customer-supplied encryption key, encoded in
* RFC 4648 base64 to either encrypt or decrypt this resource.
*/
@JvmName("rteovidwticrtekd")
public suspend fun rawKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.rawKey = mapped
}
/**
* @param value (Output)
* The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied
* encryption key that protects this resource.
*/
@JvmName("cuafqucmiyrrtfvm")
public suspend fun sha256(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sha256 = mapped
}
internal fun build(): DiskSourceImageEncryptionKeyArgs = DiskSourceImageEncryptionKeyArgs(
kmsKeySelfLink = kmsKeySelfLink,
kmsKeyServiceAccount = kmsKeyServiceAccount,
rawKey = rawKey,
sha256 = sha256,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy