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

com.pulumi.gcp.cloudtasks.kotlin.outputs.QueueRateLimits.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.cloudtasks.kotlin.outputs

import kotlin.Double
import kotlin.Int
import kotlin.Suppress

/**
 *
 * @property maxBurstSize (Output)
 * The max burst size.
 * Max burst size limits how fast tasks in queue are processed when many tasks are
 * in the queue and the rate is high. This field allows the queue to have a high
 * rate so processing starts shortly after a task is enqueued, but still limits
 * resource usage when many tasks are enqueued in a short period of time.
 * @property maxConcurrentDispatches The maximum number of concurrent tasks that Cloud Tasks allows to
 * be dispatched for this queue. After this threshold has been
 * reached, Cloud Tasks stops dispatching tasks until the number of
 * concurrent requests decreases.
 * @property maxDispatchesPerSecond The maximum rate at which tasks are dispatched from this queue.
 * If unspecified when the queue is created, Cloud Tasks will pick the default.
 */
public data class QueueRateLimits(
    public val maxBurstSize: Int? = null,
    public val maxConcurrentDispatches: Int? = null,
    public val maxDispatchesPerSecond: Double? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.cloudtasks.outputs.QueueRateLimits): QueueRateLimits = QueueRateLimits(
            maxBurstSize = javaType.maxBurstSize().map({ args0 -> args0 }).orElse(null),
            maxConcurrentDispatches = javaType.maxConcurrentDispatches().map({ args0 -> args0 }).orElse(null),
            maxDispatchesPerSecond = javaType.maxDispatchesPerSecond().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy