com.pulumi.azurenative.cdn.kotlin.inputs.MatchConditionArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.cdn.kotlin.inputs
import com.pulumi.azurenative.cdn.inputs.MatchConditionArgs.builder
import com.pulumi.azurenative.cdn.kotlin.enums.Operator
import com.pulumi.azurenative.cdn.kotlin.enums.TransformType
import com.pulumi.azurenative.cdn.kotlin.enums.WafMatchVariable
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Define match conditions
* @property matchValue List of possible match values.
* @property matchVariable Match variable to compare against.
* @property negateCondition Describes if the result of this condition should be negated.
* @property operator Describes operator to be matched
* @property selector Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.
* @property transforms List of transforms.
*/
public data class MatchConditionArgs(
public val matchValue: Output>,
public val matchVariable: Output>,
public val negateCondition: Output? = null,
public val `operator`: Output>,
public val selector: Output? = null,
public val transforms: Output>>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.cdn.inputs.MatchConditionArgs =
com.pulumi.azurenative.cdn.inputs.MatchConditionArgs.builder()
.matchValue(matchValue.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.matchVariable(
matchVariable.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.negateCondition(negateCondition?.applyValue({ args0 -> args0 }))
.`operator`(
`operator`.applyValue({ args0 ->
args0.transform({ args0 -> args0 }, { args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.selector(selector?.applyValue({ args0 -> args0 }))
.transforms(
transforms?.applyValue({ args0 ->
args0.map({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
})
}),
).build()
}
/**
* Builder for [MatchConditionArgs].
*/
@PulumiTagMarker
public class MatchConditionArgsBuilder internal constructor() {
private var matchValue: Output>? = null
private var matchVariable: Output>? = null
private var negateCondition: Output? = null
private var `operator`: Output>? = null
private var selector: Output? = null
private var transforms: Output>>? = null
/**
* @param value List of possible match values.
*/
@JvmName("vgpqeuiobvjjgigs")
public suspend fun matchValue(`value`: Output>) {
this.matchValue = value
}
@JvmName("dnxswtleuwegcumr")
public suspend fun matchValue(vararg values: Output) {
this.matchValue = Output.all(values.asList())
}
/**
* @param values List of possible match values.
*/
@JvmName("papvkhdbuoawbaxl")
public suspend fun matchValue(values: List