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

com.pulumi.nomad.kotlin.inputs.NodePoolSchedulerConfigArgs.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: 2.4.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.nomad.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.nomad.inputs.NodePoolSchedulerConfigArgs.builder
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property memoryOversubscription `(string)` - Whether or not memory
 * oversubscription is enabled in the node pool. Possible values are
 * `"enabled"` or `"disabled"`. If not defined the global cluster
 * configuration is used.
 * > This option differs from Nomad, where it's represented as a boolean, to
 * allow distinguishing between memory oversubscription being disabled in the
 * node pool and this property not being set.
 * @property schedulerAlgorithm `(string)` - The scheduler algorithm used in the node
 * pool. Possible values are `binpack` or `spread`. If not defined the global
 * cluster configuration is used.
 */
public data class NodePoolSchedulerConfigArgs(
    public val memoryOversubscription: Output? = null,
    public val schedulerAlgorithm: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.nomad.inputs.NodePoolSchedulerConfigArgs =
        com.pulumi.nomad.inputs.NodePoolSchedulerConfigArgs.builder()
            .memoryOversubscription(memoryOversubscription?.applyValue({ args0 -> args0 }))
            .schedulerAlgorithm(schedulerAlgorithm?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [NodePoolSchedulerConfigArgs].
 */
@PulumiTagMarker
public class NodePoolSchedulerConfigArgsBuilder internal constructor() {
    private var memoryOversubscription: Output? = null

    private var schedulerAlgorithm: Output? = null

    /**
     * @param value `(string)` - Whether or not memory
     * oversubscription is enabled in the node pool. Possible values are
     * `"enabled"` or `"disabled"`. If not defined the global cluster
     * configuration is used.
     * > This option differs from Nomad, where it's represented as a boolean, to
     * allow distinguishing between memory oversubscription being disabled in the
     * node pool and this property not being set.
     */
    @JvmName("qpvnfsyniwdocwoh")
    public suspend fun memoryOversubscription(`value`: Output) {
        this.memoryOversubscription = value
    }

    /**
     * @param value `(string)` - The scheduler algorithm used in the node
     * pool. Possible values are `binpack` or `spread`. If not defined the global
     * cluster configuration is used.
     */
    @JvmName("tyttfkdogilcsugw")
    public suspend fun schedulerAlgorithm(`value`: Output) {
        this.schedulerAlgorithm = value
    }

    /**
     * @param value `(string)` - Whether or not memory
     * oversubscription is enabled in the node pool. Possible values are
     * `"enabled"` or `"disabled"`. If not defined the global cluster
     * configuration is used.
     * > This option differs from Nomad, where it's represented as a boolean, to
     * allow distinguishing between memory oversubscription being disabled in the
     * node pool and this property not being set.
     */
    @JvmName("kjcraprolrfsmjau")
    public suspend fun memoryOversubscription(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.memoryOversubscription = mapped
    }

    /**
     * @param value `(string)` - The scheduler algorithm used in the node
     * pool. Possible values are `binpack` or `spread`. If not defined the global
     * cluster configuration is used.
     */
    @JvmName("upolwxdteqimlkmk")
    public suspend fun schedulerAlgorithm(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.schedulerAlgorithm = mapped
    }

    internal fun build(): NodePoolSchedulerConfigArgs = NodePoolSchedulerConfigArgs(
        memoryOversubscription = memoryOversubscription,
        schedulerAlgorithm = schedulerAlgorithm,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy