com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherRouteRuleRouteAction.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
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.outputs
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property corsPolicy The specification for allowing client side cross-origin requests. Please see W3C
* Recommendation for Cross Origin Resource Sharing
* Structure is documented below.
* @property faultInjectionPolicy The specification for fault injection introduced into traffic to test the
* resiliency of clients to backend service failure. As part of fault injection,
* when clients send requests to a backend service, delays can be introduced by
* Loadbalancer on a percentage of requests before sending those request to the
* backend service. Similarly requests from clients can be aborted by the
* Loadbalancer for a percentage of requests. timeout and retry_policy will be
* ignored by clients that are configured with a fault_injection_policy.
* Structure is documented below.
* @property requestMirrorPolicy Specifies the policy on how requests intended for the route's backends are
* shadowed to a separate mirrored backend service. Loadbalancer does not wait for
* responses from the shadow service. Prior to sending traffic to the shadow
* service, the host / authority header is suffixed with -shadow.
* Structure is documented below.
* @property retryPolicy Specifies the retry policy associated with this route.
* Structure is documented below.
* @property timeout Specifies the timeout for the selected route. Timeout is computed from the time
* the request is has been fully processed (i.e. end-of-stream) up until the
* response has been completely processed. Timeout includes all retries. If not
* specified, the default value is 15 seconds.
* Structure is documented below.
* @property urlRewrite The spec to modify the URL of the request, prior to forwarding the request to
* the matched service
* Structure is documented below.
* @property weightedBackendServices A list of weighted backend services to send traffic to when a route match
* occurs. The weights determine the fraction of traffic that flows to their
* corresponding backend service. If all traffic needs to go to a single backend
* service, there must be one weightedBackendService with weight set to a non 0
* number. Once a backendService is identified and before forwarding the request to
* the backend service, advanced routing actions like Url rewrites and header
* transformations are applied depending on additional settings specified in this
* HttpRouteAction.
* Structure is documented below.
*/
public data class URLMapPathMatcherRouteRuleRouteAction(
public val corsPolicy: URLMapPathMatcherRouteRuleRouteActionCorsPolicy? = null,
public val faultInjectionPolicy: URLMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy? =
null,
public val requestMirrorPolicy: URLMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy? = null,
public val retryPolicy: URLMapPathMatcherRouteRuleRouteActionRetryPolicy? = null,
public val timeout: URLMapPathMatcherRouteRuleRouteActionTimeout? = null,
public val urlRewrite: URLMapPathMatcherRouteRuleRouteActionUrlRewrite? = null,
public val weightedBackendServices: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.URLMapPathMatcherRouteRuleRouteAction): URLMapPathMatcherRouteRuleRouteAction = URLMapPathMatcherRouteRuleRouteAction(
corsPolicy = javaType.corsPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherRouteRuleRouteActionCorsPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
faultInjectionPolicy = javaType.faultInjectionPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherRouteRuleRouteActionFaultInjectionPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
requestMirrorPolicy = javaType.requestMirrorPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherRouteRuleRouteActionRequestMirrorPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
retryPolicy = javaType.retryPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherRouteRuleRouteActionRetryPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
timeout = javaType.timeout().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherRouteRuleRouteActionTimeout.Companion.toKotlin(args0)
})
}).orElse(null),
urlRewrite = javaType.urlRewrite().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherRouteRuleRouteActionUrlRewrite.Companion.toKotlin(args0)
})
}).orElse(null),
weightedBackendServices = javaType.weightedBackendServices().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapPathMatcherRouteRuleRouteActionWeightedBackendService.Companion.toKotlin(args0)
})
}),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy