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

com.pulumi.gcp.networkservices.kotlin.outputs.LbTrafficExtensionExtensionChainExtension.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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property authority The :authority header in the gRPC request sent from Envoy to the extension service.
 * @property failOpen Determines how the proxy behaves if the call to the extension fails or times out.
 * When set to TRUE, request or response processing continues without error.
 * Any subsequent extensions in the extension chain are also executed.
 * When set to FALSE: * If response headers have not been delivered to the downstream client,
 * a generic 500 error is returned to the client. The error response can be tailored by
 * configuring a custom error response in the load balancer.
 * @property forwardHeaders List of the HTTP headers to forward to the extension (from the client or backend).
 * If omitted, all headers are sent. Each element is a string indicating the header name.
 * @property name The name for this extension. The name is logged as part of the HTTP request logs.
 * The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
 * and can have a maximum length of 63 characters. Additionally, the first character must be a letter
 * and the last a letter or a number.
 * @property service The reference to the service that runs the extension. Must be a reference to a backend service
 * @property supportedEvents A set of events during request or response processing for which this extension is called.
 * This field is required for the LbTrafficExtension resource. It's not relevant for the LbRouteExtension
 * resource. Possible values:`EVENT_TYPE_UNSPECIFIED`, `REQUEST_HEADERS`, `REQUEST_BODY`, `RESPONSE_HEADERS`,
 * `RESPONSE_BODY`, `RESPONSE_BODY` and `RESPONSE_BODY`.
 * - - -
 * @property timeout Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
 * A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
 */
public data class LbTrafficExtensionExtensionChainExtension(
    public val authority: String,
    public val failOpen: Boolean? = null,
    public val forwardHeaders: List? = null,
    public val name: String,
    public val service: String,
    public val supportedEvents: List? = null,
    public val timeout: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.networkservices.outputs.LbTrafficExtensionExtensionChainExtension): LbTrafficExtensionExtensionChainExtension = LbTrafficExtensionExtensionChainExtension(
            authority = javaType.authority(),
            failOpen = javaType.failOpen().map({ args0 -> args0 }).orElse(null),
            forwardHeaders = javaType.forwardHeaders().map({ args0 -> args0 }),
            name = javaType.name(),
            service = javaType.service(),
            supportedEvents = javaType.supportedEvents().map({ args0 -> args0 }),
            timeout = javaType.timeout(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy