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

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

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

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

import com.pulumi.azurenative.machinelearningservices.inputs.JobResourceConfigurationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Any
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 *
 * @property dockerArgs Extra arguments to pass to the Docker run command. This would override any parameters that have already been set by the system, or in this section. This parameter is only supported for Azure ML compute types.
 * @property instanceCount Optional number of instances or nodes used by the compute target.
 * @property instanceType Optional type of VM used as supported by the compute target.
 * @property properties Additional properties bag.
 * @property shmSize Size of the docker container's shared memory block. This should be in the format of (number)(unit) where number as to be greater than 0 and the unit can be one of b(bytes), k(kilobytes), m(megabytes), or g(gigabytes).
 */
public data class JobResourceConfigurationArgs(
    public val dockerArgs: Output? = null,
    public val instanceCount: Output? = null,
    public val instanceType: Output? = null,
    public val properties: Output>? = null,
    public val shmSize: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.machinelearningservices.inputs.JobResourceConfigurationArgs =
        com.pulumi.azurenative.machinelearningservices.inputs.JobResourceConfigurationArgs.builder()
            .dockerArgs(dockerArgs?.applyValue({ args0 -> args0 }))
            .instanceCount(instanceCount?.applyValue({ args0 -> args0 }))
            .instanceType(instanceType?.applyValue({ args0 -> args0 }))
            .properties(
                properties?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .shmSize(shmSize?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [JobResourceConfigurationArgs].
 */
@PulumiTagMarker
public class JobResourceConfigurationArgsBuilder internal constructor() {
    private var dockerArgs: Output? = null

    private var instanceCount: Output? = null

    private var instanceType: Output? = null

    private var properties: Output>? = null

    private var shmSize: Output? = null

    /**
     * @param value Extra arguments to pass to the Docker run command. This would override any parameters that have already been set by the system, or in this section. This parameter is only supported for Azure ML compute types.
     */
    @JvmName("jgdsxwhrcxudgmtv")
    public suspend fun dockerArgs(`value`: Output) {
        this.dockerArgs = value
    }

    /**
     * @param value Optional number of instances or nodes used by the compute target.
     */
    @JvmName("fmojlncwbbnwifrl")
    public suspend fun instanceCount(`value`: Output) {
        this.instanceCount = value
    }

    /**
     * @param value Optional type of VM used as supported by the compute target.
     */
    @JvmName("bvphwybqbargprbo")
    public suspend fun instanceType(`value`: Output) {
        this.instanceType = value
    }

    /**
     * @param value Additional properties bag.
     */
    @JvmName("rhjwqbftycfnmctn")
    public suspend fun properties(`value`: Output>) {
        this.properties = value
    }

    /**
     * @param value Size of the docker container's shared memory block. This should be in the format of (number)(unit) where number as to be greater than 0 and the unit can be one of b(bytes), k(kilobytes), m(megabytes), or g(gigabytes).
     */
    @JvmName("ewgibcumvpqkkoyb")
    public suspend fun shmSize(`value`: Output) {
        this.shmSize = value
    }

    /**
     * @param value Extra arguments to pass to the Docker run command. This would override any parameters that have already been set by the system, or in this section. This parameter is only supported for Azure ML compute types.
     */
    @JvmName("dhwiygxhprhixdfv")
    public suspend fun dockerArgs(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.dockerArgs = mapped
    }

    /**
     * @param value Optional number of instances or nodes used by the compute target.
     */
    @JvmName("kdswvwbemtgbfhpj")
    public suspend fun instanceCount(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.instanceCount = mapped
    }

    /**
     * @param value Optional type of VM used as supported by the compute target.
     */
    @JvmName("eclguwuybfhrdhit")
    public suspend fun instanceType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.instanceType = mapped
    }

    /**
     * @param value Additional properties bag.
     */
    @JvmName("nuityjckjlphjdto")
    public suspend fun properties(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.properties = mapped
    }

    /**
     * @param values Additional properties bag.
     */
    @JvmName("xrlrpaosdavouhip")
    public fun properties(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.properties = mapped
    }

    /**
     * @param value Size of the docker container's shared memory block. This should be in the format of (number)(unit) where number as to be greater than 0 and the unit can be one of b(bytes), k(kilobytes), m(megabytes), or g(gigabytes).
     */
    @JvmName("boqfpijrcakcifgp")
    public suspend fun shmSize(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.shmSize = mapped
    }

    internal fun build(): JobResourceConfigurationArgs = JobResourceConfigurationArgs(
        dockerArgs = dockerArgs,
        instanceCount = instanceCount,
        instanceType = instanceType,
        properties = properties,
        shmSize = shmSize,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy