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

com.pulumi.gcp.networkservices.kotlin.outputs.EdgeCacheServiceRoutingPathMatcherRouteRule.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.networkservices.kotlin.outputs

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

/**
 *
 * @property description A human-readable description of the routeRule.
 * @property headerAction The header actions, including adding & removing headers, for requests that match this route.
 * Structure is documented below.
 * @property matchRules The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates
 * within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.
 * Structure is documented below.
 * @property origin The Origin resource that requests to this route should fetch from when a matching response is not in cache. Origins can be defined as short names ("my-origin") or fully-qualified resource URLs - e.g. "networkservices.googleapis.com/projects/my-project/global/edgecacheorigins/my-origin"
 * Only one of origin or urlRedirect can be set.
 * @property priority The priority of this route rule, where 1 is the highest priority.
 * You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number between 1 and 999 inclusive.
 * Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers
 * to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.
 * @property routeAction In response to a matching path, the routeAction performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected origin.
 * Structure is documented below.
 * @property urlRedirect The URL redirect configuration for requests that match this route.
 * Structure is documented below.
 */
public data class EdgeCacheServiceRoutingPathMatcherRouteRule(
    public val description: String? = null,
    public val headerAction: EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction? = null,
    public val matchRules: List,
    public val origin: String? = null,
    public val priority: String,
    public val routeAction: EdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction? = null,
    public val urlRedirect: EdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.networkservices.outputs.EdgeCacheServiceRoutingPathMatcherRouteRule): EdgeCacheServiceRoutingPathMatcherRouteRule = EdgeCacheServiceRoutingPathMatcherRouteRule(
            description = javaType.description().map({ args0 -> args0 }).orElse(null),
            headerAction = javaType.headerAction().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.networkservices.kotlin.outputs.EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderAction.Companion.toKotlin(args0)
                })
            }).orElse(null),
            matchRules = javaType.matchRules().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.networkservices.kotlin.outputs.EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRule.Companion.toKotlin(args0)
                })
            }),
            origin = javaType.origin().map({ args0 -> args0 }).orElse(null),
            priority = javaType.priority(),
            routeAction = javaType.routeAction().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.networkservices.kotlin.outputs.EdgeCacheServiceRoutingPathMatcherRouteRuleRouteAction.Companion.toKotlin(args0)
                })
            }).orElse(null),
            urlRedirect = javaType.urlRedirect().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.networkservices.kotlin.outputs.EdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirect.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy