All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gcp.notebooks.kotlin.inputs.RuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParamsArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.10.0.0
Show newest version
@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.RuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParamsArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 *
 * @property description Provide this property when creating the disk.
 * @property diskName Specifies the disk name. If not specified, the default is
 * to use the name of the instance. If the disk with the
 * instance name exists already in the given zone/region, a
 * new name will be automatically generated.
 * @property diskSizeGb Specifies the size of the disk in base-2 GB. If not
 * specified, the disk will be the same size as the image
 * (usually 10GB). If specified, the size must be equal to
 * or larger than 10GB. Default 100 GB.
 * @property diskType The type of the boot disk attached to this runtime,
 * defaults to standard persistent disk. For valid values,
 * see `https://cloud.google.com/vertex-ai/docs/workbench/
 * reference/rest/v1/projects.locations.runtimes#disktype`
 * @property labels Labels to apply to this disk. These can be later modified
 * by the disks.setLabels method. This field is only
 * applicable for persistent disks.
 */
public data class RuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParamsArgs(
    public val description: Output? = null,
    public val diskName: Output? = null,
    public val diskSizeGb: Output? = null,
    public val diskType: Output? = null,
    public val labels: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.notebooks.inputs.RuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParamsArgs =
        com.pulumi.gcp.notebooks.inputs.RuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParamsArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .diskName(diskName?.applyValue({ args0 -> args0 }))
            .diskSizeGb(diskSizeGb?.applyValue({ args0 -> args0 }))
            .diskType(diskType?.applyValue({ args0 -> args0 }))
            .labels(
                labels?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            ).build()
}

/**
 * Builder for [RuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParamsArgs].
 */
@PulumiTagMarker
public class RuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParamsArgsBuilder internal constructor() {
    private var description: Output? = null

    private var diskName: Output? = null

    private var diskSizeGb: Output? = null

    private var diskType: Output? = null

    private var labels: Output>? = null

    /**
     * @param value Provide this property when creating the disk.
     */
    @JvmName("ssrqyukcqnvewsup")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value Specifies the disk name. If not specified, the default is
     * to use the name of the instance. If the disk with the
     * instance name exists already in the given zone/region, a
     * new name will be automatically generated.
     */
    @JvmName("ddqageweycwwopjq")
    public suspend fun diskName(`value`: Output) {
        this.diskName = value
    }

    /**
     * @param value Specifies the size of the disk in base-2 GB. If not
     * specified, the disk will be the same size as the image
     * (usually 10GB). If specified, the size must be equal to
     * or larger than 10GB. Default 100 GB.
     */
    @JvmName("sdvwsoliggqewidq")
    public suspend fun diskSizeGb(`value`: Output) {
        this.diskSizeGb = value
    }

    /**
     * @param value The type of the boot disk attached to this runtime,
     * defaults to standard persistent disk. For valid values,
     * see `https://cloud.google.com/vertex-ai/docs/workbench/
     * reference/rest/v1/projects.locations.runtimes#disktype`
     */
    @JvmName("bwtsswpqaymdjqqj")
    public suspend fun diskType(`value`: Output) {
        this.diskType = value
    }

    /**
     * @param value Labels to apply to this disk. These can be later modified
     * by the disks.setLabels method. This field is only
     * applicable for persistent disks.
     */
    @JvmName("kgpjvppsjmxynkba")
    public suspend fun labels(`value`: Output>) {
        this.labels = value
    }

    /**
     * @param value Provide this property when creating the disk.
     */
    @JvmName("xxenyxltahiapqnc")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value Specifies the disk name. If not specified, the default is
     * to use the name of the instance. If the disk with the
     * instance name exists already in the given zone/region, a
     * new name will be automatically generated.
     */
    @JvmName("bgvfnpywpgflcrky")
    public suspend fun diskName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.diskName = mapped
    }

    /**
     * @param value Specifies the size of the disk in base-2 GB. If not
     * specified, the disk will be the same size as the image
     * (usually 10GB). If specified, the size must be equal to
     * or larger than 10GB. Default 100 GB.
     */
    @JvmName("aciaglwjuwjrpkdu")
    public suspend fun diskSizeGb(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.diskSizeGb = mapped
    }

    /**
     * @param value The type of the boot disk attached to this runtime,
     * defaults to standard persistent disk. For valid values,
     * see `https://cloud.google.com/vertex-ai/docs/workbench/
     * reference/rest/v1/projects.locations.runtimes#disktype`
     */
    @JvmName("ebvlrjobfipsrwnd")
    public suspend fun diskType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.diskType = mapped
    }

    /**
     * @param value Labels to apply to this disk. These can be later modified
     * by the disks.setLabels method. This field is only
     * applicable for persistent disks.
     */
    @JvmName("ibgikmjhtbghhhrw")
    public suspend fun labels(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.labels = mapped
    }

    /**
     * @param values Labels to apply to this disk. These can be later modified
     * by the disks.setLabels method. This field is only
     * applicable for persistent disks.
     */
    @JvmName("bohwngeodlkxrllf")
    public fun labels(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.labels = mapped
    }

    internal fun build(): RuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParamsArgs =
        RuntimeVirtualMachineVirtualMachineConfigDataDiskInitializeParamsArgs(
            description = description,
            diskName = diskName,
            diskSizeGb = diskSizeGb,
            diskType = diskType,
            labels = labels,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy