
com.pulumi.gcp.networkservices.kotlin.LbTrafficExtensionArgs.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.networkservices.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.networkservices.LbTrafficExtensionArgs.builder
import com.pulumi.gcp.networkservices.kotlin.inputs.LbTrafficExtensionExtensionChainArgs
import com.pulumi.gcp.networkservices.kotlin.inputs.LbTrafficExtensionExtensionChainArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* LbTrafficExtension is a resource that lets the extension service modify the headers and payloads of both requests and responses without impacting the choice of backend services or any other security policies associated with the backend service.
* To get more information about LbTrafficExtension, see:
* * [API documentation](https://cloud.google.com/service-extensions/docs/reference/rest/v1beta1/projects.locations.lbTrafficExtensions)
* * How-to Guides
* * [Configure a traffic extension](https://cloud.google.com/service-extensions/docs/configure-callout#configure_a_traffic_extension)
* ## Example Usage
* ## Import
* LbTrafficExtension can be imported using any of these accepted formats:
* * `projects/{{project}}/locations/{{location}}/lbTrafficExtensions/{{name}}`
* * `{{project}}/{{location}}/{{name}}`
* * `{{location}}/{{name}}`
* When using the `pulumi import` command, LbTrafficExtension can be imported using one of the formats above. For example:
* ```sh
* $ pulumi import gcp:networkservices/lbTrafficExtension:LbTrafficExtension default projects/{{project}}/locations/{{location}}/lbTrafficExtensions/{{name}}
* ```
* ```sh
* $ pulumi import gcp:networkservices/lbTrafficExtension:LbTrafficExtension default {{project}}/{{location}}/{{name}}
* ```
* ```sh
* $ pulumi import gcp:networkservices/lbTrafficExtension:LbTrafficExtension default {{location}}/{{name}}
* ```
* @property description A human-readable description of the resource.
* @property extensionChains A set of ordered extension chains that contain the match conditions and extensions to execute.
* Match conditions for each extension chain are evaluated in sequence for a given request.
* The first extension chain that has a condition that matches the request is executed.
* Any subsequent extension chains do not execute. Limited to 5 extension chains per resource.
* Structure is documented below.
* @property forwardingRules A list of references to the forwarding rules to which this service extension is attached to.
* At least one forwarding rule is required. There can be only one LBTrafficExtension resource per forwarding rule.
* @property labels Set of labels associated with the LbTrafficExtension resource. **Note**: This field is non-authoritative, and will only
* manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels
* present on the resource.
* @property loadBalancingScheme All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. For
* more information, refer to [Choosing a load balancer](https://cloud.google.com/load-balancing/docs/backend-service) and
* [Supported application load
* balancers](https://cloud.google.com/service-extensions/docs/callouts-overview#supported-lbs). Possible values:
* ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
* @property location The location of the traffic extension
* @property name Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
* @property project
*/
public data class LbTrafficExtensionArgs(
public val description: Output? = null,
public val extensionChains: Output>? = null,
public val forwardingRules: Output>? = null,
public val labels: Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy