com.pulumi.gcp.workbench.kotlin.inputs.InstanceGceSetupBootDiskArgs.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.workbench.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.workbench.inputs.InstanceGceSetupBootDiskArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @property diskEncryption Optional. Input only. Disk encryption method used on the boot and
* data disks, defaults to GMEK.
* Possible values are: `GMEK`, `CMEK`.
* @property diskSizeGb Optional. The size of the boot disk in GB attached to this instance,
* up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the
* recommended value of 150GB.
* @property diskType Optional. Indicates the type of the disk.
* Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
* @property kmsKey 'Optional. The KMS key used to encrypt the disks, only
* applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
* Learn more about using your own encryption keys.'
*/
public data class InstanceGceSetupBootDiskArgs(
public val diskEncryption: Output? = null,
public val diskSizeGb: Output? = null,
public val diskType: Output? = null,
public val kmsKey: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.workbench.inputs.InstanceGceSetupBootDiskArgs =
com.pulumi.gcp.workbench.inputs.InstanceGceSetupBootDiskArgs.builder()
.diskEncryption(diskEncryption?.applyValue({ args0 -> args0 }))
.diskSizeGb(diskSizeGb?.applyValue({ args0 -> args0 }))
.diskType(diskType?.applyValue({ args0 -> args0 }))
.kmsKey(kmsKey?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [InstanceGceSetupBootDiskArgs].
*/
@PulumiTagMarker
public class InstanceGceSetupBootDiskArgsBuilder internal constructor() {
private var diskEncryption: Output? = null
private var diskSizeGb: Output? = null
private var diskType: Output? = null
private var kmsKey: Output? = null
/**
* @param value Optional. Input only. Disk encryption method used on the boot and
* data disks, defaults to GMEK.
* Possible values are: `GMEK`, `CMEK`.
*/
@JvmName("onnfhocbbbcncmld")
public suspend fun diskEncryption(`value`: Output) {
this.diskEncryption = value
}
/**
* @param value Optional. The size of the boot disk in GB attached to this instance,
* up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the
* recommended value of 150GB.
*/
@JvmName("djhxxaxhbalyosob")
public suspend fun diskSizeGb(`value`: Output) {
this.diskSizeGb = value
}
/**
* @param value Optional. Indicates the type of the disk.
* Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
*/
@JvmName("oepxweougdxnhmkd")
public suspend fun diskType(`value`: Output) {
this.diskType = value
}
/**
* @param value 'Optional. The KMS key used to encrypt the disks, only
* applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
* Learn more about using your own encryption keys.'
*/
@JvmName("wfhcvjgncjgtisye")
public suspend fun kmsKey(`value`: Output) {
this.kmsKey = value
}
/**
* @param value Optional. Input only. Disk encryption method used on the boot and
* data disks, defaults to GMEK.
* Possible values are: `GMEK`, `CMEK`.
*/
@JvmName("hudqjhumawuobwyx")
public suspend fun diskEncryption(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.diskEncryption = mapped
}
/**
* @param value Optional. The size of the boot disk in GB attached to this instance,
* up to a maximum of 64000 GB (64 TB). If not specified, this defaults to the
* recommended value of 150GB.
*/
@JvmName("vhbdcrymsmieimfy")
public suspend fun diskSizeGb(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.diskSizeGb = mapped
}
/**
* @param value Optional. Indicates the type of the disk.
* Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
*/
@JvmName("avwulixrfwsyrjto")
public suspend fun diskType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.diskType = mapped
}
/**
* @param value 'Optional. The KMS key used to encrypt the disks, only
* applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
* Learn more about using your own encryption keys.'
*/
@JvmName("ylbqwlsvhckigwns")
public suspend fun kmsKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kmsKey = mapped
}
internal fun build(): InstanceGceSetupBootDiskArgs = InstanceGceSetupBootDiskArgs(
diskEncryption = diskEncryption,
diskSizeGb = diskSizeGb,
diskType = diskType,
kmsKey = kmsKey,
)
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy