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

com.pulumi.kubernetes.flowcontrol.v1beta2.kotlin.outputs.FlowSchemaSpecPatch.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.v1beta2.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 FlowSchemaSpecPatch(
    public val distinguisherMethod: FlowDistinguisherMethodPatch? = null,
    public val matchingPrecedence: Int? = null,
    public val priorityLevelConfiguration: PriorityLevelConfigurationReferencePatch? = null,
    public val rules: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.kubernetes.flowcontrol.v1beta2.outputs.FlowSchemaSpecPatch): FlowSchemaSpecPatch = FlowSchemaSpecPatch(
            distinguisherMethod = javaType.distinguisherMethod().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.kubernetes.flowcontrol.v1beta2.kotlin.outputs.FlowDistinguisherMethodPatch.Companion.toKotlin(args0)
                })
            }).orElse(null),
            matchingPrecedence = javaType.matchingPrecedence().map({ args0 -> args0 }).orElse(null),
            priorityLevelConfiguration = javaType.priorityLevelConfiguration().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.kubernetes.flowcontrol.v1beta2.kotlin.outputs.PriorityLevelConfigurationReferencePatch.Companion.toKotlin(args0)
                })
            }).orElse(null),
            rules = javaType.rules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.kubernetes.flowcontrol.v1beta2.kotlin.outputs.PolicyRulesWithSubjectsPatch.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy