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

com.pulumi.kubernetes.flowcontrol.v1alpha1.kotlin.outputs.QueuingConfiguration.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: 4.18.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.flowcontrol.v1alpha1.kotlin.outputs

import kotlin.Int
import kotlin.Suppress

/**
 * 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 QueuingConfiguration(
    public val handSize: Int? = null,
    public val queueLengthLimit: Int? = null,
    public val queues: Int? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.kubernetes.flowcontrol.v1alpha1.outputs.QueuingConfiguration): QueuingConfiguration = QueuingConfiguration(
            handSize = javaType.handSize().map({ args0 -> args0 }).orElse(null),
            queueLengthLimit = javaType.queueLengthLimit().map({ args0 -> args0 }).orElse(null),
            queues = javaType.queues().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy