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

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

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

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

import com.pulumi.azurenative.machinelearningservices.inputs.BatchDeploymentArgs.builder
import com.pulumi.azurenative.machinelearningservices.kotlin.enums.BatchLoggingLevel
import com.pulumi.azurenative.machinelearningservices.kotlin.enums.BatchOutputAction
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.Any
import kotlin.Double
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * Batch inference settings per deployment.
 * @property codeConfiguration Code configuration for the endpoint deployment.
 * @property compute Compute target for batch inference operation.
 * @property description Description of the endpoint deployment.
 * @property environmentId ARM resource ID or AssetId of the environment specification for the endpoint deployment.
 * @property environmentVariables Environment variables configuration for the deployment.
 * @property errorThreshold Error threshold, if the error count for the entire input goes above this value,
 * the batch inference will be aborted. Range is [-1, int.MaxValue].
 * For FileDataset, this value is the count of file failures.
 * For TabularDataset, this value is the count of record failures.
 * If set to -1 (the lower bound), all failures during batch inference will be ignored.
 * @property loggingLevel Logging level for batch inference operation.
 * @property maxConcurrencyPerInstance Indicates maximum number of parallelism per instance.
 * @property miniBatchSize Size of the mini-batch passed to each batch invocation.
 * For FileDataset, this is the number of files per mini-batch.
 * For TabularDataset, this is the size of the records in bytes, per mini-batch.
 * @property model Reference to the model asset for the endpoint deployment.
 * @property outputAction Indicates how the output will be organized.
 * @property outputFileName Customized output file name for append_row output action.
 * @property properties Property dictionary. Properties can be added, but not removed or altered.
 * @property resources Indicates compute configuration for the job.
 * If not provided, will default to the defaults defined in ResourceConfiguration.
 * @property retrySettings Retry Settings for the batch inference operation.
 * If not provided, will default to the defaults defined in BatchRetrySettings.
 */
public data class BatchDeploymentArgs(
    public val codeConfiguration: Output? = null,
    public val compute: Output? = null,
    public val description: Output? = null,
    public val environmentId: Output? = null,
    public val environmentVariables: Output>? = null,
    public val errorThreshold: Output? = null,
    public val loggingLevel: Output>? = null,
    public val maxConcurrencyPerInstance: Output? = null,
    public val miniBatchSize: Output? = null,
    public val model: Output? = null,
    public val outputAction: Output>? = null,
    public val outputFileName: Output? = null,
    public val properties: Output>? = null,
    public val resources: Output? = null,
    public val retrySettings: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.machinelearningservices.inputs.BatchDeploymentArgs =
        com.pulumi.azurenative.machinelearningservices.inputs.BatchDeploymentArgs.builder()
            .codeConfiguration(codeConfiguration?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .compute(compute?.applyValue({ args0 -> args0 }))
            .description(description?.applyValue({ args0 -> args0 }))
            .environmentId(environmentId?.applyValue({ args0 -> args0 }))
            .environmentVariables(
                environmentVariables?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .errorThreshold(errorThreshold?.applyValue({ args0 -> args0 }))
            .loggingLevel(
                loggingLevel?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .maxConcurrencyPerInstance(maxConcurrencyPerInstance?.applyValue({ args0 -> args0 }))
            .miniBatchSize(miniBatchSize?.applyValue({ args0 -> args0 }))
            .model(model?.applyValue({ args0 -> args0 }))
            .outputAction(
                outputAction?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .outputFileName(outputFileName?.applyValue({ args0 -> args0 }))
            .properties(
                properties?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .resources(resources?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .retrySettings(retrySettings?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [BatchDeploymentArgs].
 */
@PulumiTagMarker
public class BatchDeploymentArgsBuilder internal constructor() {
    private var codeConfiguration: Output? = null

    private var compute: Output? = null

    private var description: Output? = null

    private var environmentId: Output? = null

    private var environmentVariables: Output>? = null

    private var errorThreshold: Output? = null

    private var loggingLevel: Output>? = null

    private var maxConcurrencyPerInstance: Output? = null

    private var miniBatchSize: Output? = null

    private var model: Output? = null

    private var outputAction: Output>? = null

    private var outputFileName: Output? = null

    private var properties: Output>? = null

    private var resources: Output? = null

    private var retrySettings: Output? = null

    /**
     * @param value Code configuration for the endpoint deployment.
     */
    @JvmName("nqepsxvlkovmudos")
    public suspend fun codeConfiguration(`value`: Output) {
        this.codeConfiguration = value
    }

    /**
     * @param value Compute target for batch inference operation.
     */
    @JvmName("glmqkokyrmbodoau")
    public suspend fun compute(`value`: Output) {
        this.compute = value
    }

    /**
     * @param value Description of the endpoint deployment.
     */
    @JvmName("jsxakhnbxohljnak")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

    /**
     * @param value ARM resource ID or AssetId of the environment specification for the endpoint deployment.
     */
    @JvmName("kmdfewqiorqldlbm")
    public suspend fun environmentId(`value`: Output) {
        this.environmentId = value
    }

    /**
     * @param value Environment variables configuration for the deployment.
     */
    @JvmName("tqoklglkqlfrbenn")
    public suspend fun environmentVariables(`value`: Output>) {
        this.environmentVariables = value
    }

    /**
     * @param value Error threshold, if the error count for the entire input goes above this value,
     * the batch inference will be aborted. Range is [-1, int.MaxValue].
     * For FileDataset, this value is the count of file failures.
     * For TabularDataset, this value is the count of record failures.
     * If set to -1 (the lower bound), all failures during batch inference will be ignored.
     */
    @JvmName("xyqbfxqpkfovaabu")
    public suspend fun errorThreshold(`value`: Output) {
        this.errorThreshold = value
    }

    /**
     * @param value Logging level for batch inference operation.
     */
    @JvmName("ujqvwqvecwlefhpq")
    public suspend fun loggingLevel(`value`: Output>) {
        this.loggingLevel = value
    }

    /**
     * @param value Indicates maximum number of parallelism per instance.
     */
    @JvmName("sxivenlronpdgotf")
    public suspend fun maxConcurrencyPerInstance(`value`: Output) {
        this.maxConcurrencyPerInstance = value
    }

    /**
     * @param value Size of the mini-batch passed to each batch invocation.
     * For FileDataset, this is the number of files per mini-batch.
     * For TabularDataset, this is the size of the records in bytes, per mini-batch.
     */
    @JvmName("grrdwnoguyyfqpoq")
    public suspend fun miniBatchSize(`value`: Output) {
        this.miniBatchSize = value
    }

    /**
     * @param value Reference to the model asset for the endpoint deployment.
     */
    @JvmName("qriytexoukbrhqrr")
    public suspend fun model(`value`: Output) {
        this.model = value
    }

    /**
     * @param value Indicates how the output will be organized.
     */
    @JvmName("dpitefdhuhfxtube")
    public suspend fun outputAction(`value`: Output>) {
        this.outputAction = value
    }

    /**
     * @param value Customized output file name for append_row output action.
     */
    @JvmName("xcyqnsclaoiykdfx")
    public suspend fun outputFileName(`value`: Output) {
        this.outputFileName = value
    }

    /**
     * @param value Property dictionary. Properties can be added, but not removed or altered.
     */
    @JvmName("bxccdrmgiyaombtg")
    public suspend fun properties(`value`: Output>) {
        this.properties = value
    }

    /**
     * @param value Indicates compute configuration for the job.
     * If not provided, will default to the defaults defined in ResourceConfiguration.
     */
    @JvmName("efmbcmlosfhqeeln")
    public suspend fun resources(`value`: Output) {
        this.resources = value
    }

    /**
     * @param value Retry Settings for the batch inference operation.
     * If not provided, will default to the defaults defined in BatchRetrySettings.
     */
    @JvmName("acejwfmemtojcmeh")
    public suspend fun retrySettings(`value`: Output) {
        this.retrySettings = value
    }

    /**
     * @param value Code configuration for the endpoint deployment.
     */
    @JvmName("rdoabsfibilyrgjf")
    public suspend fun codeConfiguration(`value`: CodeConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.codeConfiguration = mapped
    }

    /**
     * @param argument Code configuration for the endpoint deployment.
     */
    @JvmName("agmfksjctpnoqrbq")
    public suspend fun codeConfiguration(argument: suspend CodeConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = CodeConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.codeConfiguration = mapped
    }

    /**
     * @param value Compute target for batch inference operation.
     */
    @JvmName("bmxtbtdapumlmhdi")
    public suspend fun compute(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.compute = mapped
    }

    /**
     * @param value Description of the endpoint deployment.
     */
    @JvmName("xrsrkykhjisbbujt")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

    /**
     * @param value ARM resource ID or AssetId of the environment specification for the endpoint deployment.
     */
    @JvmName("armaerrxacytprmg")
    public suspend fun environmentId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.environmentId = mapped
    }

    /**
     * @param value Environment variables configuration for the deployment.
     */
    @JvmName("serylhxpvoeofjls")
    public suspend fun environmentVariables(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.environmentVariables = mapped
    }

    /**
     * @param values Environment variables configuration for the deployment.
     */
    @JvmName("dbtnjkspbavquvxr")
    public fun environmentVariables(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.environmentVariables = mapped
    }

    /**
     * @param value Error threshold, if the error count for the entire input goes above this value,
     * the batch inference will be aborted. Range is [-1, int.MaxValue].
     * For FileDataset, this value is the count of file failures.
     * For TabularDataset, this value is the count of record failures.
     * If set to -1 (the lower bound), all failures during batch inference will be ignored.
     */
    @JvmName("dulehunaegnpgwqt")
    public suspend fun errorThreshold(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.errorThreshold = mapped
    }

    /**
     * @param value Logging level for batch inference operation.
     */
    @JvmName("cwutydulfmoqwvpi")
    public suspend fun loggingLevel(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.loggingLevel = mapped
    }

    /**
     * @param value Logging level for batch inference operation.
     */
    @JvmName("dqlkrjqhevtixkys")
    public fun loggingLevel(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.loggingLevel = mapped
    }

    /**
     * @param value Logging level for batch inference operation.
     */
    @JvmName("icljyopmbjhksgtp")
    public fun loggingLevel(`value`: BatchLoggingLevel) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.loggingLevel = mapped
    }

    /**
     * @param value Indicates maximum number of parallelism per instance.
     */
    @JvmName("sutfijwshxshsqar")
    public suspend fun maxConcurrencyPerInstance(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.maxConcurrencyPerInstance = mapped
    }

    /**
     * @param value Size of the mini-batch passed to each batch invocation.
     * For FileDataset, this is the number of files per mini-batch.
     * For TabularDataset, this is the size of the records in bytes, per mini-batch.
     */
    @JvmName("knabwunmwankmqrd")
    public suspend fun miniBatchSize(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.miniBatchSize = mapped
    }

    /**
     * @param value Reference to the model asset for the endpoint deployment.
     */
    @JvmName("odslujimdnamqpns")
    public suspend fun model(`value`: Any?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.model = mapped
    }

    /**
     * @param value Indicates how the output will be organized.
     */
    @JvmName("vtanwmhdpboaqflc")
    public suspend fun outputAction(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.outputAction = mapped
    }

    /**
     * @param value Indicates how the output will be organized.
     */
    @JvmName("rdquxumvobcbkvre")
    public fun outputAction(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.outputAction = mapped
    }

    /**
     * @param value Indicates how the output will be organized.
     */
    @JvmName("gqrmsqrmxsoutggr")
    public fun outputAction(`value`: BatchOutputAction) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.outputAction = mapped
    }

    /**
     * @param value Customized output file name for append_row output action.
     */
    @JvmName("mbvsaurivpujuyig")
    public suspend fun outputFileName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.outputFileName = mapped
    }

    /**
     * @param value Property dictionary. Properties can be added, but not removed or altered.
     */
    @JvmName("poosrajpmghtcvqx")
    public suspend fun properties(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.properties = mapped
    }

    /**
     * @param values Property dictionary. Properties can be added, but not removed or altered.
     */
    @JvmName("sgmyljciuonsvpdg")
    public fun properties(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.properties = mapped
    }

    /**
     * @param value Indicates compute configuration for the job.
     * If not provided, will default to the defaults defined in ResourceConfiguration.
     */
    @JvmName("nkiupawjohjhlrkd")
    public suspend fun resources(`value`: DeploymentResourceConfigurationArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resources = mapped
    }

    /**
     * @param argument Indicates compute configuration for the job.
     * If not provided, will default to the defaults defined in ResourceConfiguration.
     */
    @JvmName("gqjhtcmhntedjnky")
    public suspend fun resources(argument: suspend DeploymentResourceConfigurationArgsBuilder.() -> Unit) {
        val toBeMapped = DeploymentResourceConfigurationArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.resources = mapped
    }

    /**
     * @param value Retry Settings for the batch inference operation.
     * If not provided, will default to the defaults defined in BatchRetrySettings.
     */
    @JvmName("vwwptimcipgvctls")
    public suspend fun retrySettings(`value`: BatchRetrySettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.retrySettings = mapped
    }

    /**
     * @param argument Retry Settings for the batch inference operation.
     * If not provided, will default to the defaults defined in BatchRetrySettings.
     */
    @JvmName("wukrdcgliugjvxst")
    public suspend fun retrySettings(argument: suspend BatchRetrySettingsArgsBuilder.() -> Unit) {
        val toBeMapped = BatchRetrySettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.retrySettings = mapped
    }

    internal fun build(): BatchDeploymentArgs = BatchDeploymentArgs(
        codeConfiguration = codeConfiguration,
        compute = compute,
        description = description,
        environmentId = environmentId,
        environmentVariables = environmentVariables,
        errorThreshold = errorThreshold,
        loggingLevel = loggingLevel,
        maxConcurrencyPerInstance = maxConcurrencyPerInstance,
        miniBatchSize = miniBatchSize,
        model = model,
        outputAction = outputAction,
        outputFileName = outputFileName,
        properties = properties,
        resources = resources,
        retrySettings = retrySettings,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy