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

com.pulumi.azurenative.machinelearningservices.kotlin.inputs.VolumeDefinitionArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.machinelearningservices.kotlin.inputs

import com.pulumi.azurenative.machinelearningservices.inputs.VolumeDefinitionArgs.builder
import com.pulumi.azurenative.machinelearningservices.kotlin.enums.VolumeDefinitionType
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName

/**
 * Describes the volume configuration for the container
 * @property bind Bind Options of the mount
 * @property consistency Consistency of the volume
 * @property readOnly Indicate whether to mount volume as readOnly. Default value for this is false.
 * @property source Source of the mount. For bind mounts this is the host path.
 * @property target Target of the mount. For bind mounts this is the path in the container.
 * @property tmpfs tmpfs option of the mount
 * @property type Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
 * @property volume Volume Options of the mount
 */
public data class VolumeDefinitionArgs(
    public val bind: Output? = null,
    public val consistency: Output? = null,
    public val readOnly: Output? = null,
    public val source: Output? = null,
    public val target: Output? = null,
    public val tmpfs: Output? = null,
    public val type: Output>? = null,
    public val volume: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.machinelearningservices.inputs.VolumeDefinitionArgs = com.pulumi.azurenative.machinelearningservices.inputs.VolumeDefinitionArgs.builder()
        .bind(bind?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .consistency(consistency?.applyValue({ args0 -> args0 }))
        .readOnly(readOnly?.applyValue({ args0 -> args0 }))
        .source(source?.applyValue({ args0 -> args0 }))
        .target(target?.applyValue({ args0 -> args0 }))
        .tmpfs(tmpfs?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
        .type(
            type?.applyValue({ args0 ->
                args0.transform({ args0 -> args0 }, { args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                })
            }),
        )
        .volume(volume?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [VolumeDefinitionArgs].
 */
@PulumiTagMarker
public class VolumeDefinitionArgsBuilder internal constructor() {
    private var bind: Output? = null

    private var consistency: Output? = null

    private var readOnly: Output? = null

    private var source: Output? = null

    private var target: Output? = null

    private var tmpfs: Output? = null

    private var type: Output>? = null

    private var volume: Output? = null

    /**
     * @param value Bind Options of the mount
     */
    @JvmName("njmydpvcjfsohkoa")
    public suspend fun bind(`value`: Output) {
        this.bind = value
    }

    /**
     * @param value Consistency of the volume
     */
    @JvmName("spxdcvaxxrjlgnio")
    public suspend fun consistency(`value`: Output) {
        this.consistency = value
    }

    /**
     * @param value Indicate whether to mount volume as readOnly. Default value for this is false.
     */
    @JvmName("rtntlfpbyuegmoud")
    public suspend fun readOnly(`value`: Output) {
        this.readOnly = value
    }

    /**
     * @param value Source of the mount. For bind mounts this is the host path.
     */
    @JvmName("vjvnqicevrbdgcdr")
    public suspend fun source(`value`: Output) {
        this.source = value
    }

    /**
     * @param value Target of the mount. For bind mounts this is the path in the container.
     */
    @JvmName("ivvorhweajechfww")
    public suspend fun target(`value`: Output) {
        this.target = value
    }

    /**
     * @param value tmpfs option of the mount
     */
    @JvmName("uisgousayrhyinle")
    public suspend fun tmpfs(`value`: Output) {
        this.tmpfs = value
    }

    /**
     * @param value Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
     */
    @JvmName("tfqiyauvbqppmqqf")
    public suspend fun type(`value`: Output>) {
        this.type = value
    }

    /**
     * @param value Volume Options of the mount
     */
    @JvmName("xqsjijukesivguii")
    public suspend fun volume(`value`: Output) {
        this.volume = value
    }

    /**
     * @param value Bind Options of the mount
     */
    @JvmName("fjphkdjjrbvcmrux")
    public suspend fun bind(`value`: BindOptionsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.bind = mapped
    }

    /**
     * @param argument Bind Options of the mount
     */
    @JvmName("owwjmtnhiuvqunvh")
    public suspend fun bind(argument: suspend BindOptionsArgsBuilder.() -> Unit) {
        val toBeMapped = BindOptionsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.bind = mapped
    }

    /**
     * @param value Consistency of the volume
     */
    @JvmName("mdgkljayjahnbiuq")
    public suspend fun consistency(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.consistency = mapped
    }

    /**
     * @param value Indicate whether to mount volume as readOnly. Default value for this is false.
     */
    @JvmName("dhlknshtocvnxdef")
    public suspend fun readOnly(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.readOnly = mapped
    }

    /**
     * @param value Source of the mount. For bind mounts this is the host path.
     */
    @JvmName("odghtgtbdqcojgmw")
    public suspend fun source(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.source = mapped
    }

    /**
     * @param value Target of the mount. For bind mounts this is the path in the container.
     */
    @JvmName("kacqwyhnnonkwmmt")
    public suspend fun target(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.target = mapped
    }

    /**
     * @param value tmpfs option of the mount
     */
    @JvmName("whmuxxbgmahmvkdu")
    public suspend fun tmpfs(`value`: TmpfsOptionsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tmpfs = mapped
    }

    /**
     * @param argument tmpfs option of the mount
     */
    @JvmName("nvdafnodqvimxunj")
    public suspend fun tmpfs(argument: suspend TmpfsOptionsArgsBuilder.() -> Unit) {
        val toBeMapped = TmpfsOptionsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.tmpfs = mapped
    }

    /**
     * @param value Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
     */
    @JvmName("bohpgurxdbbvdcpc")
    public suspend fun type(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.type = mapped
    }

    /**
     * @param value Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
     */
    @JvmName("gbsnyvmhcclvjxfg")
    public fun type(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.type = mapped
    }

    /**
     * @param value Type of Volume Definition. Possible Values: bind,volume,tmpfs,npipe
     */
    @JvmName("xbqnysdhyqnkyowe")
    public fun type(`value`: VolumeDefinitionType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.type = mapped
    }

    /**
     * @param value Volume Options of the mount
     */
    @JvmName("jhpxvpmlgivxoyfg")
    public suspend fun volume(`value`: VolumeOptionsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.volume = mapped
    }

    /**
     * @param argument Volume Options of the mount
     */
    @JvmName("tbefcaykqapnktdc")
    public suspend fun volume(argument: suspend VolumeOptionsArgsBuilder.() -> Unit) {
        val toBeMapped = VolumeOptionsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.volume = mapped
    }

    internal fun build(): VolumeDefinitionArgs = VolumeDefinitionArgs(
        bind = bind,
        consistency = consistency,
        readOnly = readOnly,
        source = source,
        target = target,
        tmpfs = tmpfs,
        type = type,
        volume = volume,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy