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

com.pulumi.gcp.compute.kotlin.outputs.RegionUrlMapPathMatcher.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.10.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 defaultService A reference to a RegionBackendService resource. This will be used if
 * none of the pathRules defined by this PathMatcher is matched by
 * the URL's path portion.
 * @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.
 * @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 RegionUrlMapPathMatcher(
    public val defaultService: String? = null,
    public val defaultUrlRedirect: RegionUrlMapPathMatcherDefaultUrlRedirect? = null,
    public val description: String? = 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.RegionUrlMapPathMatcher): RegionUrlMapPathMatcher = RegionUrlMapPathMatcher(
            defaultService = javaType.defaultService().map({ args0 -> args0 }).orElse(null),
            defaultUrlRedirect = javaType.defaultUrlRedirect().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.RegionUrlMapPathMatcherDefaultUrlRedirect.Companion.toKotlin(args0)
                })
            }).orElse(null),
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            name = javaType.name(),
            pathRules = javaType.pathRules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.RegionUrlMapPathMatcherPathRule.Companion.toKotlin(args0)
                })
            }),
            routeRules = javaType.routeRules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.RegionUrlMapPathMatcherRouteRule.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy