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

com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherPathRule.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: 8.13.1.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.compute.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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 URLMapPathMatcherPathRule(
    public val customErrorResponsePolicy: URLMapPathMatcherPathRuleCustomErrorResponsePolicy? = null,
    public val paths: List,
    public val routeAction: URLMapPathMatcherPathRuleRouteAction? = null,
    public val service: String? = null,
    public val urlRedirect: URLMapPathMatcherPathRuleUrlRedirect? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.URLMapPathMatcherPathRule): URLMapPathMatcherPathRule = URLMapPathMatcherPathRule(
            customErrorResponsePolicy = javaType.customErrorResponsePolicy().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherPathRuleCustomErrorResponsePolicy.Companion.toKotlin(args0)
                })
            }).orElse(null),
            paths = javaType.paths().map({ args0 -> args0 }),
            routeAction = javaType.routeAction().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherPathRuleRouteAction.Companion.toKotlin(args0)
                })
            }).orElse(null),
            service = javaType.service().map({ args0 -> args0 }).orElse(null),
            urlRedirect = javaType.urlRedirect().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherPathRuleUrlRedirect.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy