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.URLMapPathMatcherRouteRuleArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property headerAction Specifies changes to request and response headers that need to take effect for
* the selected backendService. The headerAction specified here are applied before
* the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].r
* outeAction.weightedBackendService.backendServiceWeightAction[].headerAction
* Structure is documented below.
* @property matchRules The rules for determining a match.
* Structure is documented below.
* @property priority For routeRules within a given pathMatcher, priority determines the order
* in which load balancer will interpret routeRules. RouteRules are evaluated
* in order of priority, from the lowest to highest number. The priority of
* a rule decreases as its number increases (1, 2, 3, N+1). The first rule
* that matches the request is applied.
* You cannot configure two or more routeRules with the same priority.
* Priority for each rule must be set to a number between 0 and
* 2147483647 inclusive.
* Priority numbers can have gaps, which enable you to add or remove rules
* in the future without affecting the rest of the rules. For example,
* 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which
* you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
* future without any impact on existing rules.
* @property routeAction In response to a matching matchRule, the load balancer performs advanced routing
* actions like URL rewrites, header transformations, etc. prior to forwarding the
* request to the selected backend. If routeAction specifies any
* weightedBackendServices, service must not be set. Conversely if service is set,
* routeAction cannot contain any weightedBackendServices. Only one of routeAction
* or urlRedirect must be set.
* Structure is documented below.
* @property service The backend service resource to which traffic is
* directed if this rule is matched. If routeAction is additionally specified,
* advanced routing actions like URL Rewrites, etc. take effect prior to sending
* the request to the backend. However, if service is specified, routeAction cannot
* contain any weightedBackendService s. Conversely, if routeAction specifies any
* weightedBackendServices, service must not be specified. Only one of urlRedirect,
* service or routeAction.weightedBackendService must be set.
* @property urlRedirect When this rule is matched, the request is redirected to a URL specified by
* urlRedirect. If urlRedirect is specified, service or routeAction must not be
* set.
* Structure is documented below.
*/
public data class URLMapPathMatcherRouteRuleArgs(
public val headerAction: Output? = null,
public val matchRules: Output>? = null,
public val priority: Output,
public val routeAction: Output? = null,
public val service: Output? = null,
public val urlRedirect: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.compute.inputs.URLMapPathMatcherRouteRuleArgs =
com.pulumi.gcp.compute.inputs.URLMapPathMatcherRouteRuleArgs.builder()
.headerAction(headerAction?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.matchRules(
matchRules?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.priority(priority.applyValue({ args0 -> args0 }))
.routeAction(routeAction?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.service(service?.applyValue({ args0 -> args0 }))
.urlRedirect(urlRedirect?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [URLMapPathMatcherRouteRuleArgs].
*/
@PulumiTagMarker
public class URLMapPathMatcherRouteRuleArgsBuilder internal constructor() {
private var headerAction: Output? = null
private var matchRules: Output>? = null
private var priority: Output? = null
private var routeAction: Output? = null
private var service: Output? = null
private var urlRedirect: Output? = null
/**
* @param value Specifies changes to request and response headers that need to take effect for
* the selected backendService. The headerAction specified here are applied before
* the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].r
* outeAction.weightedBackendService.backendServiceWeightAction[].headerAction
* Structure is documented below.
*/
@JvmName("fvvimaxdxulaxjiq")
public suspend fun headerAction(`value`: Output) {
this.headerAction = value
}
/**
* @param value The rules for determining a match.
* Structure is documented below.
*/
@JvmName("xwvgkidvaqircgyc")
public suspend fun matchRules(`value`: Output>) {
this.matchRules = value
}
@JvmName("kadcoratgxqetarr")
public suspend fun matchRules(vararg values: Output) {
this.matchRules = Output.all(values.asList())
}
/**
* @param values The rules for determining a match.
* Structure is documented below.
*/
@JvmName("kknubalbpuctpmsm")
public suspend fun matchRules(values: List