com.pulumi.gcp.compute.kotlin.outputs.InstanceBootDisk.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.compute.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
/**
*
* @property autoDelete Whether the disk will be auto-deleted when the instance
* is deleted. Defaults to true.
* @property deviceName Name with which attached disk will be accessible.
* On the instance, this device will be `/dev/disk/by-id/google-{{device_name}}`.
* @property diskEncryptionKeyRaw A 256-bit [customer-supplied encryption key]
* (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption),
* encoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
* to encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw`
* may be set.
* @property diskEncryptionKeySha256 The [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)
* encoded SHA-256 hash of the [customer-supplied encryption key]
* (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption) that protects this resource.
* @property initializeParams Parameters for a new disk that will be created
* alongside the new instance. Either `initialize_params` or `source` must be set.
* Structure is documented below.
* @property kmsKeySelfLink The self_link of the encryption key that is
* stored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`
* and `disk_encryption_key_raw` may be set.
* @property mode The mode in which to attach this disk, either `READ_WRITE`
* or `READ_ONLY`. If not specified, the default is to attach the disk in `READ_WRITE` mode.
* @property source The name or self_link of the existing disk (such as those managed by
* `gcp.compute.Disk`) or disk image. To create an instance from a snapshot, first create a
* `gcp.compute.Disk` from a snapshot and reference it here.
*/
public data class InstanceBootDisk(
public val autoDelete: Boolean? = null,
public val deviceName: String? = null,
public val diskEncryptionKeyRaw: String? = null,
public val diskEncryptionKeySha256: String? = null,
public val initializeParams: InstanceBootDiskInitializeParams? = null,
public val kmsKeySelfLink: String? = null,
public val mode: String? = null,
public val source: String? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.InstanceBootDisk): InstanceBootDisk = InstanceBootDisk(
autoDelete = javaType.autoDelete().map({ args0 -> args0 }).orElse(null),
deviceName = javaType.deviceName().map({ args0 -> args0 }).orElse(null),
diskEncryptionKeyRaw = javaType.diskEncryptionKeyRaw().map({ args0 -> args0 }).orElse(null),
diskEncryptionKeySha256 = javaType.diskEncryptionKeySha256().map({ args0 -> args0 }).orElse(null),
initializeParams = javaType.initializeParams().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.InstanceBootDiskInitializeParams.Companion.toKotlin(args0)
})
}).orElse(null),
kmsKeySelfLink = javaType.kmsKeySelfLink().map({ args0 -> args0 }).orElse(null),
mode = javaType.mode().map({ args0 -> args0 }).orElse(null),
source = javaType.source().map({ args0 -> args0 }).orElse(null),
)
}
}