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

com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcher.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.12.0.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 defaultRouteAction defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
 * advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
 * to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
 * Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
 * Only one of defaultRouteAction or defaultUrlRedirect must be set.
 * Structure is documented below.
 * @property defaultService The backend service or backend bucket to use when none of the given paths match.
 * @property defaultUrlRedirect When none of the specified hostRules match, the request is redirected to a URL specified
 * by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
 * defaultRouteAction must not be set.
 * Structure is documented below.
 * @property description An optional description of this resource. Provide this property when you create
 * the resource.
 * @property headerAction Specifies changes to request and response headers that need to take effect for
 * the selected backendService. HeaderAction specified here are applied after the
 * matching HttpRouteRule HeaderAction and before the HeaderAction in the UrlMap
 * Structure is documented below.
 * @property name The name to which this PathMatcher is referred by the HostRule.
 * @property pathRules The list of path rules. Use this list instead of routeRules when routing based
 * on simple path matching is all that's required. The order by which path rules
 * are specified does not matter. Matches are always done on the longest-path-first
 * basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
 * irrespective of the order in which those paths appear in this list. Within a
 * given pathMatcher, only one of pathRules or routeRules must be set.
 * Structure is documented below.
 * @property routeRules The list of ordered HTTP route rules. Use this list instead of pathRules when
 * advanced route matching and routing actions are desired. The order of specifying
 * routeRules matters: the first rule that matches will cause its specified routing
 * action to take effect. Within a given pathMatcher, only one of pathRules or
 * routeRules must be set. routeRules are not supported in UrlMaps intended for
 * External load balancers.
 * Structure is documented below.
 * */*/
 */
public data class URLMapPathMatcher(
    public val defaultRouteAction: URLMapPathMatcherDefaultRouteAction? = null,
    public val defaultService: String? = null,
    public val defaultUrlRedirect: URLMapPathMatcherDefaultUrlRedirect? = null,
    public val description: String? = null,
    public val headerAction: URLMapPathMatcherHeaderAction? = null,
    public val name: String,
    public val pathRules: List? = null,
    public val routeRules: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.URLMapPathMatcher): URLMapPathMatcher = URLMapPathMatcher(
            defaultRouteAction = javaType.defaultRouteAction().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherDefaultRouteAction.Companion.toKotlin(args0)
                })
            }).orElse(null),
            defaultService = javaType.defaultService().map({ args0 -> args0 }).orElse(null),
            defaultUrlRedirect = javaType.defaultUrlRedirect().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherDefaultUrlRedirect.Companion.toKotlin(args0)
                })
            }).orElse(null),
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            headerAction = javaType.headerAction().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherHeaderAction.Companion.toKotlin(args0)
                })
            }).orElse(null),
            name = javaType.name(),
            pathRules = javaType.pathRules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherPathRule.Companion.toKotlin(args0)
                })
            }),
            routeRules = javaType.routeRules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherRouteRule.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy