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

com.pulumi.azure.batch.kotlin.inputs.PoolFixedScaleArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.batch.kotlin.inputs

import com.pulumi.azure.batch.inputs.PoolFixedScaleArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property nodeDeallocationMethod It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are `Requeue`, `RetainedData`, `TaskCompletion` and `Terminate`.
 * @property resizeTimeout The timeout for resize operations. Defaults to `PT15M`.
 * @property targetDedicatedNodes The number of nodes in the Batch pool. Defaults to `1`.
 * @property targetLowPriorityNodes The number of low priority nodes in the Batch pool. Defaults to `0`.
 */
public data class PoolFixedScaleArgs(
    public val nodeDeallocationMethod: Output? = null,
    public val resizeTimeout: Output? = null,
    public val targetDedicatedNodes: Output? = null,
    public val targetLowPriorityNodes: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.batch.inputs.PoolFixedScaleArgs =
        com.pulumi.azure.batch.inputs.PoolFixedScaleArgs.builder()
            .nodeDeallocationMethod(nodeDeallocationMethod?.applyValue({ args0 -> args0 }))
            .resizeTimeout(resizeTimeout?.applyValue({ args0 -> args0 }))
            .targetDedicatedNodes(targetDedicatedNodes?.applyValue({ args0 -> args0 }))
            .targetLowPriorityNodes(targetLowPriorityNodes?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [PoolFixedScaleArgs].
 */
@PulumiTagMarker
public class PoolFixedScaleArgsBuilder internal constructor() {
    private var nodeDeallocationMethod: Output? = null

    private var resizeTimeout: Output? = null

    private var targetDedicatedNodes: Output? = null

    private var targetLowPriorityNodes: Output? = null

    /**
     * @param value It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are `Requeue`, `RetainedData`, `TaskCompletion` and `Terminate`.
     */
    @JvmName("embcwfhwxugcjxoi")
    public suspend fun nodeDeallocationMethod(`value`: Output) {
        this.nodeDeallocationMethod = value
    }

    /**
     * @param value The timeout for resize operations. Defaults to `PT15M`.
     */
    @JvmName("conkhinxjfikrtcs")
    public suspend fun resizeTimeout(`value`: Output) {
        this.resizeTimeout = value
    }

    /**
     * @param value The number of nodes in the Batch pool. Defaults to `1`.
     */
    @JvmName("vnxvxuvgwbjkttjm")
    public suspend fun targetDedicatedNodes(`value`: Output) {
        this.targetDedicatedNodes = value
    }

    /**
     * @param value The number of low priority nodes in the Batch pool. Defaults to `0`.
     */
    @JvmName("ogicmfqbwahxxaqc")
    public suspend fun targetLowPriorityNodes(`value`: Output) {
        this.targetLowPriorityNodes = value
    }

    /**
     * @param value It determines what to do with a node and its running task(s) if the pool size is decreasing. Values are `Requeue`, `RetainedData`, `TaskCompletion` and `Terminate`.
     */
    @JvmName("luonnakktyxqkvut")
    public suspend fun nodeDeallocationMethod(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.nodeDeallocationMethod = mapped
    }

    /**
     * @param value The timeout for resize operations. Defaults to `PT15M`.
     */
    @JvmName("klpfnbuceyxfprwr")
    public suspend fun resizeTimeout(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resizeTimeout = mapped
    }

    /**
     * @param value The number of nodes in the Batch pool. Defaults to `1`.
     */
    @JvmName("hnrpvbbkhuxeosxj")
    public suspend fun targetDedicatedNodes(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.targetDedicatedNodes = mapped
    }

    /**
     * @param value The number of low priority nodes in the Batch pool. Defaults to `0`.
     */
    @JvmName("staefmlehxgjemat")
    public suspend fun targetLowPriorityNodes(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.targetLowPriorityNodes = mapped
    }

    internal fun build(): PoolFixedScaleArgs = PoolFixedScaleArgs(
        nodeDeallocationMethod = nodeDeallocationMethod,
        resizeTimeout = resizeTimeout,
        targetDedicatedNodes = targetDedicatedNodes,
        targetLowPriorityNodes = targetLowPriorityNodes,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy