com.pulumi.kubernetes.flowcontrol.v1beta1.kotlin.outputs.FlowSchemaSpec.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.v1beta1.kotlin.outputs
import kotlin.Int
import kotlin.Suppress
import kotlin.collections.List
/**
* 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 FlowSchemaSpec(
public val distinguisherMethod: FlowDistinguisherMethod? = null,
public val matchingPrecedence: Int? = null,
public val priorityLevelConfiguration: PriorityLevelConfigurationReference,
public val rules: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.kubernetes.flowcontrol.v1beta1.outputs.FlowSchemaSpec): FlowSchemaSpec = FlowSchemaSpec(
distinguisherMethod = javaType.distinguisherMethod().map({ args0 ->
args0.let({ args0 ->
com.pulumi.kubernetes.flowcontrol.v1beta1.kotlin.outputs.FlowDistinguisherMethod.Companion.toKotlin(args0)
})
}).orElse(null),
matchingPrecedence = javaType.matchingPrecedence().map({ args0 -> args0 }).orElse(null),
priorityLevelConfiguration = javaType.priorityLevelConfiguration().let({ args0 ->
com.pulumi.kubernetes.flowcontrol.v1beta1.kotlin.outputs.PriorityLevelConfigurationReference.Companion.toKotlin(args0)
}),
rules = javaType.rules().map({ args0 ->
args0.let({ args0 ->
com.pulumi.kubernetes.flowcontrol.v1beta1.kotlin.outputs.PolicyRulesWithSubjects.Companion.toKotlin(args0)
})
}),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy