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

com.pulumi.gcp.compute.kotlin.inputs.RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgs.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.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.compute.inputs.RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property numRetries Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.
 * @property perTryTimeout Specifies a non-zero timeout per retry attempt.
 * If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set,
 * will use the largest timeout among all backend services associated with the route.
 * Structure is documented below.
 * @property retryConditions Specifies one or more conditions when this retry policy applies.
 * Valid values are listed below. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable.
 * - 5xx : retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams.
 * - gateway-error : Similar to 5xx, but only applies to response codes 502, 503 or 504.
 * - connect-failure : a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts.
 * - retriable-4xx : a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409.
 * - refused-stream : a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
 * - cancelled : a retry is attempted if the gRPC status code in the response header is set to cancelled.
 * - deadline-exceeded : a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded.
 * - internal :  a retry is attempted if the gRPC status code in the response header is set to internal.
 * - resource-exhausted : a retry is attempted if the gRPC status code in the response header is set to resource-exhausted.
 * - unavailable : a retry is attempted if the gRPC status code in the response header is set to unavailable.
 */
public data class RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgs(
    public val numRetries: Output? = null,
    public val perTryTimeout: Output? = null,
    public val retryConditions: Output>? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.compute.inputs.RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgs =
        com.pulumi.gcp.compute.inputs.RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgs.builder()
            .numRetries(numRetries?.applyValue({ args0 -> args0 }))
            .perTryTimeout(perTryTimeout?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .retryConditions(retryConditions?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

/**
 * Builder for [RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgs].
 */
@PulumiTagMarker
public class RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgsBuilder internal constructor() {
    private var numRetries: Output? = null

    private var perTryTimeout:
        Output? = null

    private var retryConditions: Output>? = null

    /**
     * @param value Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.
     */
    @JvmName("wjsxivdtwgodiitx")
    public suspend fun numRetries(`value`: Output) {
        this.numRetries = value
    }

    /**
     * @param value Specifies a non-zero timeout per retry attempt.
     * If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set,
     * will use the largest timeout among all backend services associated with the route.
     * Structure is documented below.
     */
    @JvmName("vwkirbpkbawhdsbx")
    public suspend fun perTryTimeout(`value`: Output) {
        this.perTryTimeout = value
    }

    /**
     * @param value Specifies one or more conditions when this retry policy applies.
     * Valid values are listed below. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable.
     * - 5xx : retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams.
     * - gateway-error : Similar to 5xx, but only applies to response codes 502, 503 or 504.
     * - connect-failure : a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts.
     * - retriable-4xx : a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409.
     * - refused-stream : a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
     * - cancelled : a retry is attempted if the gRPC status code in the response header is set to cancelled.
     * - deadline-exceeded : a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded.
     * - internal :  a retry is attempted if the gRPC status code in the response header is set to internal.
     * - resource-exhausted : a retry is attempted if the gRPC status code in the response header is set to resource-exhausted.
     * - unavailable : a retry is attempted if the gRPC status code in the response header is set to unavailable.
     */
    @JvmName("dgvpnsuilskfyxaq")
    public suspend fun retryConditions(`value`: Output>) {
        this.retryConditions = value
    }

    @JvmName("oihymbuquemrqvhj")
    public suspend fun retryConditions(vararg values: Output) {
        this.retryConditions = Output.all(values.asList())
    }

    /**
     * @param values Specifies one or more conditions when this retry policy applies.
     * Valid values are listed below. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable.
     * - 5xx : retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams.
     * - gateway-error : Similar to 5xx, but only applies to response codes 502, 503 or 504.
     * - connect-failure : a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts.
     * - retriable-4xx : a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409.
     * - refused-stream : a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
     * - cancelled : a retry is attempted if the gRPC status code in the response header is set to cancelled.
     * - deadline-exceeded : a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded.
     * - internal :  a retry is attempted if the gRPC status code in the response header is set to internal.
     * - resource-exhausted : a retry is attempted if the gRPC status code in the response header is set to resource-exhausted.
     * - unavailable : a retry is attempted if the gRPC status code in the response header is set to unavailable.
     */
    @JvmName("uasdmbjxtqrshbxg")
    public suspend fun retryConditions(values: List>) {
        this.retryConditions = Output.all(values)
    }

    /**
     * @param value Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.
     */
    @JvmName("ygxtnunlwklmcxot")
    public suspend fun numRetries(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.numRetries = mapped
    }

    /**
     * @param value Specifies a non-zero timeout per retry attempt.
     * If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set,
     * will use the largest timeout among all backend services associated with the route.
     * Structure is documented below.
     */
    @JvmName("cdkqvrmgsvltfvba")
    public suspend fun perTryTimeout(`value`: RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeoutArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.perTryTimeout = mapped
    }

    /**
     * @param argument Specifies a non-zero timeout per retry attempt.
     * If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set,
     * will use the largest timeout among all backend services associated with the route.
     * Structure is documented below.
     */
    @JvmName("xpwkovojoafmddrp")
    public suspend fun perTryTimeout(argument: suspend RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeoutArgsBuilder.() -> Unit) {
        val toBeMapped =
            RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeoutArgsBuilder().applySuspend {
                argument()
            }.build()
        val mapped = of(toBeMapped)
        this.perTryTimeout = mapped
    }

    /**
     * @param value Specifies one or more conditions when this retry policy applies.
     * Valid values are listed below. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable.
     * - 5xx : retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams.
     * - gateway-error : Similar to 5xx, but only applies to response codes 502, 503 or 504.
     * - connect-failure : a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts.
     * - retriable-4xx : a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409.
     * - refused-stream : a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
     * - cancelled : a retry is attempted if the gRPC status code in the response header is set to cancelled.
     * - deadline-exceeded : a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded.
     * - internal :  a retry is attempted if the gRPC status code in the response header is set to internal.
     * - resource-exhausted : a retry is attempted if the gRPC status code in the response header is set to resource-exhausted.
     * - unavailable : a retry is attempted if the gRPC status code in the response header is set to unavailable.
     */
    @JvmName("wccfcvafmiqorkig")
    public suspend fun retryConditions(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.retryConditions = mapped
    }

    /**
     * @param values Specifies one or more conditions when this retry policy applies.
     * Valid values are listed below. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable.
     * - 5xx : retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams.
     * - gateway-error : Similar to 5xx, but only applies to response codes 502, 503 or 504.
     * - connect-failure : a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts.
     * - retriable-4xx : a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409.
     * - refused-stream : a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
     * - cancelled : a retry is attempted if the gRPC status code in the response header is set to cancelled.
     * - deadline-exceeded : a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded.
     * - internal :  a retry is attempted if the gRPC status code in the response header is set to internal.
     * - resource-exhausted : a retry is attempted if the gRPC status code in the response header is set to resource-exhausted.
     * - unavailable : a retry is attempted if the gRPC status code in the response header is set to unavailable.
     */
    @JvmName("ridkvaoggjenrqdr")
    public suspend fun retryConditions(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.retryConditions = mapped
    }

    internal fun build(): RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgs =
        RegionUrlMapPathMatcherPathRuleRouteActionRetryPolicyArgs(
            numRetries = numRetries,
            perTryTimeout = perTryTimeout,
            retryConditions = retryConditions,
        )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy