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.URLMapPathMatcherPathRuleArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property customErrorResponsePolicy customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
* If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect.
* For example, consider a UrlMap with the following configuration:
* UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors
* A PathRule for /coming_soon/ is configured for the error code 404.
* If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
* customErrorResponsePolicy is supported only for global external Application Load Balancers.
* Structure is documented below.
* @property paths The list of path patterns to match. Each must start with / and the only place a
* \* is allowed is at the end following a /. The string fed to the path matcher
* does not include any text after the first ? or #, and those chars are not
* allowed here.
* @property routeAction In response to a matching path, 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 or backend bucket to use if any of the given paths match.
* @property urlRedirect When a path pattern 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 URLMapPathMatcherPathRuleArgs(
public val customErrorResponsePolicy: Output? = null,
public val paths: 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.URLMapPathMatcherPathRuleArgs =
com.pulumi.gcp.compute.inputs.URLMapPathMatcherPathRuleArgs.builder()
.customErrorResponsePolicy(
customErrorResponsePolicy?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.paths(paths.applyValue({ args0 -> args0.map({ 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 [URLMapPathMatcherPathRuleArgs].
*/
@PulumiTagMarker
public class URLMapPathMatcherPathRuleArgsBuilder internal constructor() {
private var customErrorResponsePolicy:
Output? = null
private var paths: Output>? = null
private var routeAction: Output? = null
private var service: Output? = null
private var urlRedirect: Output? = null
/**
* @param value customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
* If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect.
* For example, consider a UrlMap with the following configuration:
* UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors
* A PathRule for /coming_soon/ is configured for the error code 404.
* If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
* customErrorResponsePolicy is supported only for global external Application Load Balancers.
* Structure is documented below.
*/
@JvmName("wordinlvjpbqwcui")
public suspend fun customErrorResponsePolicy(`value`: Output) {
this.customErrorResponsePolicy = value
}
/**
* @param value The list of path patterns to match. Each must start with / and the only place a
* \* is allowed is at the end following a /. The string fed to the path matcher
* does not include any text after the first ? or #, and those chars are not
* allowed here.
*/
@JvmName("xiojjfxdoxmsupaa")
public suspend fun paths(`value`: Output>) {
this.paths = value
}
@JvmName("jivhqhktntffgmcw")
public suspend fun paths(vararg values: Output) {
this.paths = Output.all(values.asList())
}
/**
* @param values The list of path patterns to match. Each must start with / and the only place a
* \* is allowed is at the end following a /. The string fed to the path matcher
* does not include any text after the first ? or #, and those chars are not
* allowed here.
*/
@JvmName("klbxqlynfckutdej")
public suspend fun paths(values: List