com.pulumi.kubernetes.flowcontrol.v1.kotlin.inputs.FlowSchemaSpecPatchArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-kubernetes-kotlin Show documentation
Show all versions of pulumi-kubernetes-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.kubernetes.flowcontrol.v1.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.kotlin.applySuspend
import com.pulumi.kubernetes.flowcontrol.v1.inputs.FlowSchemaSpecPatchArgs.builder
import kotlin.Int
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* FlowSchemaSpec describes how the FlowSchema's specification looks like.
* @property distinguisherMethod `distinguisherMethod` defines how to compute the flow distinguisher for requests that match this schema. `nil` specifies that the distinguisher is disabled and thus will always be the empty string.
* @property matchingPrecedence `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen FlowSchema is among those with the numerically lowest (which we take to be logically highest) MatchingPrecedence. Each MatchingPrecedence value must be ranged in [1,10000]. Note that if the precedence is not specified, it will be set to 1000 as default.
* @property priorityLevelConfiguration `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot be resolved, the FlowSchema will be ignored and marked as invalid in its status. Required.
* @property rules `rules` describes which requests will match this flow schema. This FlowSchema matches a request if and only if at least one member of rules matches the request. if it is an empty slice, there will be no requests matching the FlowSchema.
*/
public data class FlowSchemaSpecPatchArgs(
public val distinguisherMethod: Output? = null,
public val matchingPrecedence: Output? = null,
public val priorityLevelConfiguration: Output? =
null,
public val rules: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.kubernetes.flowcontrol.v1.inputs.FlowSchemaSpecPatchArgs =
com.pulumi.kubernetes.flowcontrol.v1.inputs.FlowSchemaSpecPatchArgs.builder()
.distinguisherMethod(
distinguisherMethod?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.matchingPrecedence(matchingPrecedence?.applyValue({ args0 -> args0 }))
.priorityLevelConfiguration(
priorityLevelConfiguration?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.rules(
rules?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [FlowSchemaSpecPatchArgs].
*/
@PulumiTagMarker
public class FlowSchemaSpecPatchArgsBuilder internal constructor() {
private var distinguisherMethod: Output? = null
private var matchingPrecedence: Output? = null
private var priorityLevelConfiguration: Output? =
null
private var rules: Output>? = null
/**
* @param value `distinguisherMethod` defines how to compute the flow distinguisher for requests that match this schema. `nil` specifies that the distinguisher is disabled and thus will always be the empty string.
*/
@JvmName("ushmamolngcxqfxp")
public suspend fun distinguisherMethod(`value`: Output) {
this.distinguisherMethod = value
}
/**
* @param value `matchingPrecedence` is used to choose among the FlowSchemas that match a given request. The chosen FlowSchema is among those with the numerically lowest (which we take to be logically highest) MatchingPrecedence. Each MatchingPrecedence value must be ranged in [1,10000]. Note that if the precedence is not specified, it will be set to 1000 as default.
*/
@JvmName("jivwjswkpnmjjrov")
public suspend fun matchingPrecedence(`value`: Output) {
this.matchingPrecedence = value
}
/**
* @param value `priorityLevelConfiguration` should reference a PriorityLevelConfiguration in the cluster. If the reference cannot be resolved, the FlowSchema will be ignored and marked as invalid in its status. Required.
*/
@JvmName("smqmonshjprpbuhu")
public suspend fun priorityLevelConfiguration(`value`: Output) {
this.priorityLevelConfiguration = value
}
/**
* @param value `rules` describes which requests will match this flow schema. This FlowSchema matches a request if and only if at least one member of rules matches the request. if it is an empty slice, there will be no requests matching the FlowSchema.
*/
@JvmName("ghgdrfvtkicgsanp")
public suspend fun rules(`value`: Output>) {
this.rules = value
}
@JvmName("gnorijrupadnnave")
public suspend fun rules(vararg values: Output) {
this.rules = Output.all(values.asList())
}
/**
* @param values `rules` describes which requests will match this flow schema. This FlowSchema matches a request if and only if at least one member of rules matches the request. if it is an empty slice, there will be no requests matching the FlowSchema.
*/
@JvmName("aedyvkaeovsjcota")
public suspend fun rules(values: List
© 2015 - 2024 Weber Informatics LLC | Privacy Policy