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

com.pulumi.kubernetes.flowcontrol.v1alpha1.kotlin.inputs.QueuingConfigurationArgs.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.flowcontrol.v1alpha1.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.kubernetes.flowcontrol.v1alpha1.inputs.QueuingConfigurationArgs.builder
import kotlin.Int
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * QueuingConfiguration holds the configuration parameters for queuing
 * @property handSize `handSize` is a small positive number that configures the shuffle sharding of requests into queues.  When enqueuing a request at this priority level the request's flow identifier (a string pair) is hashed and the hash value is used to shuffle the list of queues and deal a hand of the size specified here.  The request is put into one of the shortest queues in that hand. `handSize` must be no larger than `queues`, and should be significantly smaller (so that a few heavy flows do not saturate most of the queues).  See the user-facing documentation for more extensive guidance on setting this field.  This field has a default value of 8.
 * @property queueLengthLimit `queueLengthLimit` is the maximum number of requests allowed to be waiting in a given queue of this priority level at a time; excess requests are rejected.  This value must be positive.  If not specified, it will be defaulted to 50.
 * @property queues `queues` is the number of queues for this priority level. The queues exist independently at each apiserver. The value must be positive.  Setting it to 1 effectively precludes shufflesharding and thus makes the distinguisher method of associated flow schemas irrelevant.  This field has a default value of 64.
 */
public data class QueuingConfigurationArgs(
    public val handSize: Output? = null,
    public val queueLengthLimit: Output? = null,
    public val queues: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.kubernetes.flowcontrol.v1alpha1.inputs.QueuingConfigurationArgs = com.pulumi.kubernetes.flowcontrol.v1alpha1.inputs.QueuingConfigurationArgs.builder()
        .handSize(handSize?.applyValue({ args0 -> args0 }))
        .queueLengthLimit(queueLengthLimit?.applyValue({ args0 -> args0 }))
        .queues(queues?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [QueuingConfigurationArgs].
 */
@PulumiTagMarker
public class QueuingConfigurationArgsBuilder internal constructor() {
    private var handSize: Output? = null

    private var queueLengthLimit: Output? = null

    private var queues: Output? = null

    /**
     * @param value `handSize` is a small positive number that configures the shuffle sharding of requests into queues.  When enqueuing a request at this priority level the request's flow identifier (a string pair) is hashed and the hash value is used to shuffle the list of queues and deal a hand of the size specified here.  The request is put into one of the shortest queues in that hand. `handSize` must be no larger than `queues`, and should be significantly smaller (so that a few heavy flows do not saturate most of the queues).  See the user-facing documentation for more extensive guidance on setting this field.  This field has a default value of 8.
     */
    @JvmName("atmvkmgfuuiogrms")
    public suspend fun handSize(`value`: Output) {
        this.handSize = value
    }

    /**
     * @param value `queueLengthLimit` is the maximum number of requests allowed to be waiting in a given queue of this priority level at a time; excess requests are rejected.  This value must be positive.  If not specified, it will be defaulted to 50.
     */
    @JvmName("hiktdtiieuxcrdkm")
    public suspend fun queueLengthLimit(`value`: Output) {
        this.queueLengthLimit = value
    }

    /**
     * @param value `queues` is the number of queues for this priority level. The queues exist independently at each apiserver. The value must be positive.  Setting it to 1 effectively precludes shufflesharding and thus makes the distinguisher method of associated flow schemas irrelevant.  This field has a default value of 64.
     */
    @JvmName("nilpxtspspgqrxab")
    public suspend fun queues(`value`: Output) {
        this.queues = value
    }

    /**
     * @param value `handSize` is a small positive number that configures the shuffle sharding of requests into queues.  When enqueuing a request at this priority level the request's flow identifier (a string pair) is hashed and the hash value is used to shuffle the list of queues and deal a hand of the size specified here.  The request is put into one of the shortest queues in that hand. `handSize` must be no larger than `queues`, and should be significantly smaller (so that a few heavy flows do not saturate most of the queues).  See the user-facing documentation for more extensive guidance on setting this field.  This field has a default value of 8.
     */
    @JvmName("pisjyodefdcaimnb")
    public suspend fun handSize(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.handSize = mapped
    }

    /**
     * @param value `queueLengthLimit` is the maximum number of requests allowed to be waiting in a given queue of this priority level at a time; excess requests are rejected.  This value must be positive.  If not specified, it will be defaulted to 50.
     */
    @JvmName("xtgbrytpbijnxwgv")
    public suspend fun queueLengthLimit(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.queueLengthLimit = mapped
    }

    /**
     * @param value `queues` is the number of queues for this priority level. The queues exist independently at each apiserver. The value must be positive.  Setting it to 1 effectively precludes shufflesharding and thus makes the distinguisher method of associated flow schemas irrelevant.  This field has a default value of 64.
     */
    @JvmName("kyiamggctugnghey")
    public suspend fun queues(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.queues = mapped
    }

    internal fun build(): QueuingConfigurationArgs = QueuingConfigurationArgs(
        handSize = handSize,
        queueLengthLimit = queueLengthLimit,
        queues = queues,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy