Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
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.gcp.compute.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.compute.inputs.RegionUrlMapPathMatcherRouteRuleMatchRuleArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property fullPathMatch For satisfying the matchRule condition, the path of the request must exactly
* match the value specified in fullPathMatch after removing any query parameters
* and anchor that may be part of the original URL. FullPathMatch must be between 1
* and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
* be specified.
* @property headerMatches Specifies a list of header match criteria, all of which must match corresponding
* headers in the request.
* Structure is documented below.
* @property ignoreCase Specifies that prefixMatch and fullPathMatch matches are case sensitive.
* Defaults to false.
* @property metadataFilters Opaque filter criteria used by Loadbalancer to restrict routing configuration to
* a limited set xDS compliant clients. In their xDS requests to Loadbalancer, xDS
* clients present node metadata. If a match takes place, the relevant routing
* configuration is made available to those proxies. For each metadataFilter in
* this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
* filterLabels must match the corresponding label provided in the metadata. If its
* filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match
* with corresponding labels in the provided metadata. metadataFilters specified
* here can be overrides those specified in ForwardingRule that refers to this
* UrlMap. metadataFilters only applies to Loadbalancers that have their
* loadBalancingScheme set to INTERNAL_SELF_MANAGED.
* Structure is documented below.
* @property pathTemplateMatch For satisfying the matchRule condition, the path of the request
* must match the wildcard pattern specified in pathTemplateMatch
* after removing any query parameters and anchor that may be part
* of the original URL.
* pathTemplateMatch must be between 1 and 255 characters
* (inclusive). The pattern specified by pathTemplateMatch may
* have at most 5 wildcard operators and at most 5 variable
* captures in total.
* @property prefixMatch For satisfying the matchRule condition, the request's path must begin with the
* specified prefixMatch. prefixMatch must begin with a /. The value must be
* between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
* regexMatch must be specified.
* @property queryParameterMatches Specifies a list of query parameter match criteria, all of which must match
* corresponding query parameters in the request.
* Structure is documented below.
* @property regexMatch For satisfying the matchRule condition, the path of the request must satisfy the
* regular expression specified in regexMatch after removing any query parameters
* and anchor supplied with the original URL. For regular expression grammar please
* see en.cppreference.com/w/cpp/regex/ecmascript Only one of prefixMatch,
* fullPathMatch or regexMatch must be specified.
*/
public data class RegionUrlMapPathMatcherRouteRuleMatchRuleArgs(
public val fullPathMatch: Output? = null,
public val headerMatches: Output>? =
null,
public val ignoreCase: Output? = null,
public val metadataFilters: Output>? = null,
public val pathTemplateMatch: Output? = null,
public val prefixMatch: Output? = null,
public val queryParameterMatches: Output>? = null,
public val regexMatch: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.compute.inputs.RegionUrlMapPathMatcherRouteRuleMatchRuleArgs = com.pulumi.gcp.compute.inputs.RegionUrlMapPathMatcherRouteRuleMatchRuleArgs.builder()
.fullPathMatch(fullPathMatch?.applyValue({ args0 -> args0 }))
.headerMatches(
headerMatches?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.ignoreCase(ignoreCase?.applyValue({ args0 -> args0 }))
.metadataFilters(
metadataFilters?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.pathTemplateMatch(pathTemplateMatch?.applyValue({ args0 -> args0 }))
.prefixMatch(prefixMatch?.applyValue({ args0 -> args0 }))
.queryParameterMatches(
queryParameterMatches?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.regexMatch(regexMatch?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [RegionUrlMapPathMatcherRouteRuleMatchRuleArgs].
*/
@PulumiTagMarker
public class RegionUrlMapPathMatcherRouteRuleMatchRuleArgsBuilder internal constructor() {
private var fullPathMatch: Output? = null
private var headerMatches: Output>? =
null
private var ignoreCase: Output? = null
private var metadataFilters:
Output>? = null
private var pathTemplateMatch: Output? = null
private var prefixMatch: Output? = null
private var queryParameterMatches:
Output>? = null
private var regexMatch: Output? = null
/**
* @param value For satisfying the matchRule condition, the path of the request must exactly
* match the value specified in fullPathMatch after removing any query parameters
* and anchor that may be part of the original URL. FullPathMatch must be between 1
* and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
* be specified.
*/
@JvmName("beepgvmvnwyvggkh")
public suspend fun fullPathMatch(`value`: Output) {
this.fullPathMatch = value
}
/**
* @param value Specifies a list of header match criteria, all of which must match corresponding
* headers in the request.
* Structure is documented below.
*/
@JvmName("yidjsrewqrhbwdce")
public suspend fun headerMatches(`value`: Output>) {
this.headerMatches = value
}
@JvmName("gbhnrtwpbduiverg")
public suspend fun headerMatches(vararg values: Output) {
this.headerMatches = Output.all(values.asList())
}
/**
* @param values Specifies a list of header match criteria, all of which must match corresponding
* headers in the request.
* Structure is documented below.
*/
@JvmName("satpgpqmtysguygb")
public suspend fun headerMatches(values: List