com.pulumi.gcp.notebooks.kotlin.inputs.RuntimeVirtualMachineVirtualMachineConfigDataDiskArgs.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.notebooks.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.notebooks.inputs.RuntimeVirtualMachineVirtualMachineConfigDataDiskArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property autoDelete (Output)
* Optional. Specifies whether the disk will be auto-deleted
* when the instance is deleted (but not when the disk is
* detached from the instance).
* @property boot (Output)
* Optional. Indicates that this is a boot disk. The virtual
* machine will use the first partition of the disk for its
* root filesystem.
* @property deviceName (Output)
* Optional. Specifies a unique device name of your choice
* that is reflected into the /dev/disk/by-id/google-* tree
* of a Linux operating system running within the instance.
* This name can be used to reference the device for mounting,
* resizing, and so on, from within the instance.
* If not specified, the server chooses a default device name
* to apply to this disk, in the form persistent-disk-x, where
* x is a number assigned by Google Compute Engine. This field
* is only applicable for persistent disks.
* @property guestOsFeatures (Output)
* Indicates a list of features to enable on the guest operating
* system. Applicable only for bootable images. To see a list of
* available features, read `https://cloud.google.com/compute/docs/
* images/create-delete-deprecate-private-images#guest-os-features`
* options. ``
* @property index (Output)
* Output only. A zero-based index to this disk, where 0 is
* reserved for the boot disk. If you have many disks attached
* to an instance, each disk would have a unique index number.
* @property initializeParams Input only. Specifies the parameters for a new disk that will
* be created alongside the new instance. Use initialization
* parameters to create boot disks or local SSDs attached to the
* new instance. This property is mutually exclusive with the
* source property; you can only define one or the other, but not
* both.
* Structure is documented below.
* @property interface "Specifies the disk interface to use for attaching this disk,
* which is either SCSI or NVME. The default is SCSI. Persistent
* disks must always use SCSI and the request will fail if you attempt
* to attach a persistent disk in any other format than SCSI. Local SSDs
* can use either NVME or SCSI. For performance characteristics of SCSI
* over NVMe, see Local SSD performance. Valid values: * NVME * SCSI".
* @property kind (Output)
* Type of the resource. Always compute#attachedDisk for attached
* disks.
* @property licenses (Output)
* Output only. Any valid publicly visible licenses.
* @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 Specifies a valid partial or full URL to an existing
* Persistent Disk resource.
* @property type Specifies the type of the disk, either SCRATCH or PERSISTENT.
* If not specified, the default is PERSISTENT.
*/
public data class RuntimeVirtualMachineVirtualMachineConfigDataDiskArgs(
public val autoDelete: Output? = null,
public val boot: Output? = null,
public val deviceName: Output? = null,
public val guestOsFeatures: Output>? = null,
public val index: Output? = null,
public val initializeParams: Output? = null,
public val `interface`: Output? = null,
public val kind: Output? = null,
public val licenses: Output>? = null,
public val mode: Output? = null,
public val source: Output? = null,
public val type: Output? = null,
) :
ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.notebooks.inputs.RuntimeVirtualMachineVirtualMachineConfigDataDiskArgs =
com.pulumi.gcp.notebooks.inputs.RuntimeVirtualMachineVirtualMachineConfigDataDiskArgs.builder()
.autoDelete(autoDelete?.applyValue({ args0 -> args0 }))
.boot(boot?.applyValue({ args0 -> args0 }))
.deviceName(deviceName?.applyValue({ args0 -> args0 }))
.guestOsFeatures(guestOsFeatures?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.index(index?.applyValue({ args0 -> args0 }))
.initializeParams(initializeParams?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.interface_(`interface`?.applyValue({ args0 -> args0 }))
.kind(kind?.applyValue({ args0 -> args0 }))
.licenses(licenses?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.mode(mode?.applyValue({ args0 -> args0 }))
.source(source?.applyValue({ args0 -> args0 }))
.type(type?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [RuntimeVirtualMachineVirtualMachineConfigDataDiskArgs].
*/
@PulumiTagMarker
public class RuntimeVirtualMachineVirtualMachineConfigDataDiskArgsBuilder internal constructor() {
private var autoDelete: Output? = null
private var boot: Output? = null
private var deviceName: Output? = null
private var guestOsFeatures: Output>? = null
private var index: Output? = null
private var initializeParams:
Output? = null
private var `interface`: Output? = null
private var kind: Output? = null
private var licenses: Output>? = null
private var mode: Output? = null
private var source: Output? = null
private var type: Output? = null
/**
* @param value (Output)
* Optional. Specifies whether the disk will be auto-deleted
* when the instance is deleted (but not when the disk is
* detached from the instance).
*/
@JvmName("blcgdhwrjlmguosp")
public suspend fun autoDelete(`value`: Output) {
this.autoDelete = value
}
/**
* @param value (Output)
* Optional. Indicates that this is a boot disk. The virtual
* machine will use the first partition of the disk for its
* root filesystem.
*/
@JvmName("cljnsmxflevdiwwo")
public suspend fun boot(`value`: Output) {
this.boot = value
}
/**
* @param value (Output)
* Optional. Specifies a unique device name of your choice
* that is reflected into the /dev/disk/by-id/google-* tree
* of a Linux operating system running within the instance.
* This name can be used to reference the device for mounting,
* resizing, and so on, from within the instance.
* If not specified, the server chooses a default device name
* to apply to this disk, in the form persistent-disk-x, where
* x is a number assigned by Google Compute Engine. This field
* is only applicable for persistent disks.
*/
@JvmName("xpwyovmphsdjuagx")
public suspend fun deviceName(`value`: Output) {
this.deviceName = value
}
/**
* @param value (Output)
* Indicates a list of features to enable on the guest operating
* system. Applicable only for bootable images. To see a list of
* available features, read `https://cloud.google.com/compute/docs/
* images/create-delete-deprecate-private-images#guest-os-features`
* options. ``
*/
@JvmName("orsvuorwblkbhtkx")
public suspend fun guestOsFeatures(`value`: Output>) {
this.guestOsFeatures = value
}
@JvmName("sekmlnvmcrvsxvml")
public suspend fun guestOsFeatures(vararg values: Output) {
this.guestOsFeatures = Output.all(values.asList())
}
/**
* @param values (Output)
* Indicates a list of features to enable on the guest operating
* system. Applicable only for bootable images. To see a list of
* available features, read `https://cloud.google.com/compute/docs/
* images/create-delete-deprecate-private-images#guest-os-features`
* options. ``
*/
@JvmName("rhwmseroyypdwjuy")
public suspend fun guestOsFeatures(values: List