com.pulumi.gcp.compute.kotlin.outputs.URLMapDefaultRouteAction.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](https://www.w3.org/TR/cors/)
* 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 retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy.
* 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 has been
* fully processed (i.e. end-of-stream) up until the response has been completely processed. Timeout includes all retries.
* If not specified, will use the largest timeout among all backend services associated with the route.
* 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 URLMapDefaultRouteAction(
public val corsPolicy: URLMapDefaultRouteActionCorsPolicy? = null,
public val faultInjectionPolicy: URLMapDefaultRouteActionFaultInjectionPolicy? = null,
public val requestMirrorPolicy: URLMapDefaultRouteActionRequestMirrorPolicy? = null,
public val retryPolicy: URLMapDefaultRouteActionRetryPolicy? = null,
public val timeout: URLMapDefaultRouteActionTimeout? = null,
public val urlRewrite: URLMapDefaultRouteActionUrlRewrite? = null,
public val weightedBackendServices: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.URLMapDefaultRouteAction): URLMapDefaultRouteAction = URLMapDefaultRouteAction(
corsPolicy = javaType.corsPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapDefaultRouteActionCorsPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
faultInjectionPolicy = javaType.faultInjectionPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapDefaultRouteActionFaultInjectionPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
requestMirrorPolicy = javaType.requestMirrorPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapDefaultRouteActionRequestMirrorPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
retryPolicy = javaType.retryPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapDefaultRouteActionRetryPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
timeout = javaType.timeout().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapDefaultRouteActionTimeout.Companion.toKotlin(args0)
})
}).orElse(null),
urlRewrite = javaType.urlRewrite().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapDefaultRouteActionUrlRewrite.Companion.toKotlin(args0)
})
}).orElse(null),
weightedBackendServices = javaType.weightedBackendServices().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.URLMapDefaultRouteActionWeightedBackendService.Companion.toKotlin(args0)
})
}),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy