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.URLMapPathMatcherArgs.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 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 URLMapPathMatcherArgs(
public val defaultRouteAction: Output? = null,
public val defaultService: Output? = null,
public val defaultUrlRedirect: Output? = null,
public val description: Output? = null,
public val headerAction: Output? = null,
public val name: Output,
public val pathRules: Output>? = null,
public val routeRules: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.compute.inputs.URLMapPathMatcherArgs =
com.pulumi.gcp.compute.inputs.URLMapPathMatcherArgs.builder()
.defaultRouteAction(
defaultRouteAction?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.defaultService(defaultService?.applyValue({ args0 -> args0 }))
.defaultUrlRedirect(
defaultUrlRedirect?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.description(description?.applyValue({ args0 -> args0 }))
.headerAction(headerAction?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.name(name.applyValue({ args0 -> args0 }))
.pathRules(
pathRules?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.routeRules(
routeRules?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [URLMapPathMatcherArgs].
*/
@PulumiTagMarker
public class URLMapPathMatcherArgsBuilder internal constructor() {
private var defaultRouteAction: Output? = null
private var defaultService: Output? = null
private var defaultUrlRedirect: Output? = null
private var description: Output? = null
private var headerAction: Output? = null
private var name: Output? = null
private var pathRules: Output>? = null
private var routeRules: Output>? = null
/**
* @param value 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.
*/
@JvmName("powdbiitidnxvekk")
public suspend fun defaultRouteAction(`value`: Output) {
this.defaultRouteAction = value
}
/**
* @param value The backend service or backend bucket to use when none of the given paths match.
*/
@JvmName("jogrwnayqorqtqyh")
public suspend fun defaultService(`value`: Output) {
this.defaultService = value
}
/**
* @param value 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.
*/
@JvmName("nhmpcvbadtqhuiyp")
public suspend fun defaultUrlRedirect(`value`: Output) {
this.defaultUrlRedirect = value
}
/**
* @param value An optional description of this resource. Provide this property when you create
* the resource.
*/
@JvmName("aglsrgjyqwkxaqkf")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value 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.
*/
@JvmName("oldelpacdlkcsxrn")
public suspend fun headerAction(`value`: Output) {
this.headerAction = value
}
/**
* @param value The name to which this PathMatcher is referred by the HostRule.
*/
@JvmName("rmwthaiejmuotujj")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value 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.
* */*/
*/
@JvmName("ibinlbgyfvfkyhtu")
public suspend fun pathRules(`value`: Output>) {
this.pathRules = value
}
@JvmName("kvpsgboswfnkiobg")
public suspend fun pathRules(vararg values: Output) {
this.pathRules = Output.all(values.asList())
}
/**
* @param values 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.
* */*/
*/
@JvmName("xhbbxbibgoiedctq")
public suspend fun pathRules(values: List