1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. networkservices
  5. LbTrafficExtension
Google Cloud v8.27.1 published on Friday, Apr 25, 2025 by Pulumi

gcp.networkservices.LbTrafficExtension

Explore with Pulumi AI

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:

Example Usage

Create LbTrafficExtension Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new LbTrafficExtension(name: string, args: LbTrafficExtensionArgs, opts?: CustomResourceOptions);
@overload
def LbTrafficExtension(resource_name: str,
                       args: LbTrafficExtensionArgs,
                       opts: Optional[ResourceOptions] = None)

@overload
def LbTrafficExtension(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       extension_chains: Optional[Sequence[LbTrafficExtensionExtensionChainArgs]] = None,
                       forwarding_rules: Optional[Sequence[str]] = None,
                       location: Optional[str] = None,
                       description: Optional[str] = None,
                       labels: Optional[Mapping[str, str]] = None,
                       load_balancing_scheme: Optional[str] = None,
                       name: Optional[str] = None,
                       project: Optional[str] = None)
func NewLbTrafficExtension(ctx *Context, name string, args LbTrafficExtensionArgs, opts ...ResourceOption) (*LbTrafficExtension, error)
public LbTrafficExtension(string name, LbTrafficExtensionArgs args, CustomResourceOptions? opts = null)
public LbTrafficExtension(String name, LbTrafficExtensionArgs args)
public LbTrafficExtension(String name, LbTrafficExtensionArgs args, CustomResourceOptions options)
type: gcp:networkservices:LbTrafficExtension
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. LbTrafficExtensionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. LbTrafficExtensionArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. LbTrafficExtensionArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. LbTrafficExtensionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. LbTrafficExtensionArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var lbTrafficExtensionResource = new Gcp.NetworkServices.LbTrafficExtension("lbTrafficExtensionResource", new()
{
    ExtensionChains = new[]
    {
        new Gcp.NetworkServices.Inputs.LbTrafficExtensionExtensionChainArgs
        {
            Extensions = new[]
            {
                new Gcp.NetworkServices.Inputs.LbTrafficExtensionExtensionChainExtensionArgs
                {
                    Name = "string",
                    Service = "string",
                    Authority = "string",
                    FailOpen = false,
                    ForwardHeaders = new[]
                    {
                        "string",
                    },
                    SupportedEvents = new[]
                    {
                        "string",
                    },
                    Timeout = "string",
                },
            },
            MatchCondition = new Gcp.NetworkServices.Inputs.LbTrafficExtensionExtensionChainMatchConditionArgs
            {
                CelExpression = "string",
            },
            Name = "string",
        },
    },
    ForwardingRules = new[]
    {
        "string",
    },
    Location = "string",
    Description = "string",
    Labels = 
    {
        { "string", "string" },
    },
    LoadBalancingScheme = "string",
    Name = "string",
    Project = "string",
});
Copy
example, err := networkservices.NewLbTrafficExtension(ctx, "lbTrafficExtensionResource", &networkservices.LbTrafficExtensionArgs{
	ExtensionChains: networkservices.LbTrafficExtensionExtensionChainArray{
		&networkservices.LbTrafficExtensionExtensionChainArgs{
			Extensions: networkservices.LbTrafficExtensionExtensionChainExtensionArray{
				&networkservices.LbTrafficExtensionExtensionChainExtensionArgs{
					Name:      pulumi.String("string"),
					Service:   pulumi.String("string"),
					Authority: pulumi.String("string"),
					FailOpen:  pulumi.Bool(false),
					ForwardHeaders: pulumi.StringArray{
						pulumi.String("string"),
					},
					SupportedEvents: pulumi.StringArray{
						pulumi.String("string"),
					},
					Timeout: pulumi.String("string"),
				},
			},
			MatchCondition: &networkservices.LbTrafficExtensionExtensionChainMatchConditionArgs{
				CelExpression: pulumi.String("string"),
			},
			Name: pulumi.String("string"),
		},
	},
	ForwardingRules: pulumi.StringArray{
		pulumi.String("string"),
	},
	Location:    pulumi.String("string"),
	Description: pulumi.String("string"),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	LoadBalancingScheme: pulumi.String("string"),
	Name:                pulumi.String("string"),
	Project:             pulumi.String("string"),
})
Copy
var lbTrafficExtensionResource = new LbTrafficExtension("lbTrafficExtensionResource", LbTrafficExtensionArgs.builder()
    .extensionChains(LbTrafficExtensionExtensionChainArgs.builder()
        .extensions(LbTrafficExtensionExtensionChainExtensionArgs.builder()
            .name("string")
            .service("string")
            .authority("string")
            .failOpen(false)
            .forwardHeaders("string")
            .supportedEvents("string")
            .timeout("string")
            .build())
        .matchCondition(LbTrafficExtensionExtensionChainMatchConditionArgs.builder()
            .celExpression("string")
            .build())
        .name("string")
        .build())
    .forwardingRules("string")
    .location("string")
    .description("string")
    .labels(Map.of("string", "string"))
    .loadBalancingScheme("string")
    .name("string")
    .project("string")
    .build());
Copy
lb_traffic_extension_resource = gcp.networkservices.LbTrafficExtension("lbTrafficExtensionResource",
    extension_chains=[{
        "extensions": [{
            "name": "string",
            "service": "string",
            "authority": "string",
            "fail_open": False,
            "forward_headers": ["string"],
            "supported_events": ["string"],
            "timeout": "string",
        }],
        "match_condition": {
            "cel_expression": "string",
        },
        "name": "string",
    }],
    forwarding_rules=["string"],
    location="string",
    description="string",
    labels={
        "string": "string",
    },
    load_balancing_scheme="string",
    name="string",
    project="string")
Copy
const lbTrafficExtensionResource = new gcp.networkservices.LbTrafficExtension("lbTrafficExtensionResource", {
    extensionChains: [{
        extensions: [{
            name: "string",
            service: "string",
            authority: "string",
            failOpen: false,
            forwardHeaders: ["string"],
            supportedEvents: ["string"],
            timeout: "string",
        }],
        matchCondition: {
            celExpression: "string",
        },
        name: "string",
    }],
    forwardingRules: ["string"],
    location: "string",
    description: "string",
    labels: {
        string: "string",
    },
    loadBalancingScheme: "string",
    name: "string",
    project: "string",
});
Copy
type: gcp:networkservices:LbTrafficExtension
properties:
    description: string
    extensionChains:
        - extensions:
            - authority: string
              failOpen: false
              forwardHeaders:
                - string
              name: string
              service: string
              supportedEvents:
                - string
              timeout: string
          matchCondition:
            celExpression: string
          name: string
    forwardingRules:
        - string
    labels:
        string: string
    loadBalancingScheme: string
    location: string
    name: string
    project: string
Copy

LbTrafficExtension Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The LbTrafficExtension resource accepts the following input properties:

ExtensionChains This property is required. List<LbTrafficExtensionExtensionChain>
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.
ForwardingRules This property is required. List<string>
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.
Location
This property is required.
Changes to this property will trigger replacement.
string
The location of the traffic extension
Description string
A human-readable description of the resource.
Labels Dictionary<string, string>
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.
LoadBalancingScheme Changes to this property will trigger replacement. string
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
Name Changes to this property will trigger replacement. string
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
Project Changes to this property will trigger replacement. string
ExtensionChains This property is required. []LbTrafficExtensionExtensionChainArgs
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.
ForwardingRules This property is required. []string
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.
Location
This property is required.
Changes to this property will trigger replacement.
string
The location of the traffic extension
Description string
A human-readable description of the resource.
Labels map[string]string
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.
LoadBalancingScheme Changes to this property will trigger replacement. string
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
Name Changes to this property will trigger replacement. string
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
Project Changes to this property will trigger replacement. string
extensionChains This property is required. List<LbTrafficExtensionExtensionChain>
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.
forwardingRules This property is required. List<String>
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.
location
This property is required.
Changes to this property will trigger replacement.
String
The location of the traffic extension
description String
A human-readable description of the resource.
labels Map<String,String>
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.
loadBalancingScheme Changes to this property will trigger replacement. String
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
name Changes to this property will trigger replacement. String
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
project Changes to this property will trigger replacement. String
extensionChains This property is required. LbTrafficExtensionExtensionChain[]
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.
forwardingRules This property is required. string[]
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.
location
This property is required.
Changes to this property will trigger replacement.
string
The location of the traffic extension
description string
A human-readable description of the resource.
labels {[key: string]: string}
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.
loadBalancingScheme Changes to this property will trigger replacement. string
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
name Changes to this property will trigger replacement. string
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
project Changes to this property will trigger replacement. string
extension_chains This property is required. Sequence[LbTrafficExtensionExtensionChainArgs]
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.
forwarding_rules This property is required. Sequence[str]
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.
location
This property is required.
Changes to this property will trigger replacement.
str
The location of the traffic extension
description str
A human-readable description of the resource.
labels Mapping[str, str]
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.
load_balancing_scheme Changes to this property will trigger replacement. str
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
name Changes to this property will trigger replacement. str
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
project Changes to this property will trigger replacement. str
extensionChains This property is required. List<Property Map>
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.
forwardingRules This property is required. List<String>
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.
location
This property is required.
Changes to this property will trigger replacement.
String
The location of the traffic extension
description String
A human-readable description of the resource.
labels Map<String>
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.
loadBalancingScheme Changes to this property will trigger replacement. String
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
name Changes to this property will trigger replacement. String
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
project Changes to this property will trigger replacement. String

Outputs

All input properties are implicitly available as output properties. Additionally, the LbTrafficExtension resource produces the following output properties:

EffectiveLabels Dictionary<string, string>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Id string
The provider-assigned unique ID for this managed resource.
PulumiLabels Dictionary<string, string>
The combination of labels configured directly on the resource and default labels configured on the provider.
EffectiveLabels map[string]string
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Id string
The provider-assigned unique ID for this managed resource.
PulumiLabels map[string]string
The combination of labels configured directly on the resource and default labels configured on the provider.
effectiveLabels Map<String,String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
id String
The provider-assigned unique ID for this managed resource.
pulumiLabels Map<String,String>
The combination of labels configured directly on the resource and default labels configured on the provider.
effectiveLabels {[key: string]: string}
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
id string
The provider-assigned unique ID for this managed resource.
pulumiLabels {[key: string]: string}
The combination of labels configured directly on the resource and default labels configured on the provider.
effective_labels Mapping[str, str]
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
id str
The provider-assigned unique ID for this managed resource.
pulumi_labels Mapping[str, str]
The combination of labels configured directly on the resource and default labels configured on the provider.
effectiveLabels Map<String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
id String
The provider-assigned unique ID for this managed resource.
pulumiLabels Map<String>
The combination of labels configured directly on the resource and default labels configured on the provider.

Look up Existing LbTrafficExtension Resource

Get an existing LbTrafficExtension resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: LbTrafficExtensionState, opts?: CustomResourceOptions): LbTrafficExtension
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        description: Optional[str] = None,
        effective_labels: Optional[Mapping[str, str]] = None,
        extension_chains: Optional[Sequence[LbTrafficExtensionExtensionChainArgs]] = None,
        forwarding_rules: Optional[Sequence[str]] = None,
        labels: Optional[Mapping[str, str]] = None,
        load_balancing_scheme: Optional[str] = None,
        location: Optional[str] = None,
        name: Optional[str] = None,
        project: Optional[str] = None,
        pulumi_labels: Optional[Mapping[str, str]] = None) -> LbTrafficExtension
func GetLbTrafficExtension(ctx *Context, name string, id IDInput, state *LbTrafficExtensionState, opts ...ResourceOption) (*LbTrafficExtension, error)
public static LbTrafficExtension Get(string name, Input<string> id, LbTrafficExtensionState? state, CustomResourceOptions? opts = null)
public static LbTrafficExtension get(String name, Output<String> id, LbTrafficExtensionState state, CustomResourceOptions options)
resources:  _:    type: gcp:networkservices:LbTrafficExtension    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Description string
A human-readable description of the resource.
EffectiveLabels Dictionary<string, string>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
ExtensionChains List<LbTrafficExtensionExtensionChain>
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.
ForwardingRules List<string>
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.
Labels Dictionary<string, string>
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.
LoadBalancingScheme Changes to this property will trigger replacement. string
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
Location Changes to this property will trigger replacement. string
The location of the traffic extension
Name Changes to this property will trigger replacement. string
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
Project Changes to this property will trigger replacement. string
PulumiLabels Dictionary<string, string>
The combination of labels configured directly on the resource and default labels configured on the provider.
Description string
A human-readable description of the resource.
EffectiveLabels map[string]string
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
ExtensionChains []LbTrafficExtensionExtensionChainArgs
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.
ForwardingRules []string
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.
Labels map[string]string
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.
LoadBalancingScheme Changes to this property will trigger replacement. string
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
Location Changes to this property will trigger replacement. string
The location of the traffic extension
Name Changes to this property will trigger replacement. string
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
Project Changes to this property will trigger replacement. string
PulumiLabels map[string]string
The combination of labels configured directly on the resource and default labels configured on the provider.
description String
A human-readable description of the resource.
effectiveLabels Map<String,String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
extensionChains List<LbTrafficExtensionExtensionChain>
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.
forwardingRules List<String>
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.
labels Map<String,String>
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.
loadBalancingScheme Changes to this property will trigger replacement. String
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
location Changes to this property will trigger replacement. String
The location of the traffic extension
name Changes to this property will trigger replacement. String
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
project Changes to this property will trigger replacement. String
pulumiLabels Map<String,String>
The combination of labels configured directly on the resource and default labels configured on the provider.
description string
A human-readable description of the resource.
effectiveLabels {[key: string]: string}
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
extensionChains LbTrafficExtensionExtensionChain[]
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.
forwardingRules string[]
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.
labels {[key: string]: string}
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.
loadBalancingScheme Changes to this property will trigger replacement. string
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
location Changes to this property will trigger replacement. string
The location of the traffic extension
name Changes to this property will trigger replacement. string
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
project Changes to this property will trigger replacement. string
pulumiLabels {[key: string]: string}
The combination of labels configured directly on the resource and default labels configured on the provider.
description str
A human-readable description of the resource.
effective_labels Mapping[str, str]
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
extension_chains Sequence[LbTrafficExtensionExtensionChainArgs]
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.
forwarding_rules Sequence[str]
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.
labels Mapping[str, str]
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.
load_balancing_scheme Changes to this property will trigger replacement. str
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
location Changes to this property will trigger replacement. str
The location of the traffic extension
name Changes to this property will trigger replacement. str
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
project Changes to this property will trigger replacement. str
pulumi_labels Mapping[str, str]
The combination of labels configured directly on the resource and default labels configured on the provider.
description String
A human-readable description of the resource.
effectiveLabels Map<String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
extensionChains List<Property Map>
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.
forwardingRules List<String>
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.
labels Map<String>
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.
loadBalancingScheme Changes to this property will trigger replacement. String
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 and Supported application load balancers. Possible values: ["INTERNAL_MANAGED", "EXTERNAL_MANAGED"]
location Changes to this property will trigger replacement. String
The location of the traffic extension
name Changes to this property will trigger replacement. String
Name of the LbTrafficExtension resource in the following format: projects/{project}/locations/{location}/lbTrafficExtensions/{lbTrafficExtension}.
project Changes to this property will trigger replacement. String
pulumiLabels Map<String>
The combination of labels configured directly on the resource and default labels configured on the provider.

Supporting Types

LbTrafficExtensionExtensionChain
, LbTrafficExtensionExtensionChainArgs

Extensions This property is required. List<LbTrafficExtensionExtensionChainExtension>
A set of extensions to execute for the matching request. At least one extension is required. Up to 3 extensions can be defined for each extension chain for LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain. Structure is documented below.
MatchCondition This property is required. LbTrafficExtensionExtensionChainMatchCondition
Conditions under which this chain is invoked for a request. Structure is documented below.
Name This property is required. string
The name for this extension chain. 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.
Extensions This property is required. []LbTrafficExtensionExtensionChainExtension
A set of extensions to execute for the matching request. At least one extension is required. Up to 3 extensions can be defined for each extension chain for LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain. Structure is documented below.
MatchCondition This property is required. LbTrafficExtensionExtensionChainMatchCondition
Conditions under which this chain is invoked for a request. Structure is documented below.
Name This property is required. string
The name for this extension chain. 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.
extensions This property is required. List<LbTrafficExtensionExtensionChainExtension>
A set of extensions to execute for the matching request. At least one extension is required. Up to 3 extensions can be defined for each extension chain for LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain. Structure is documented below.
matchCondition This property is required. LbTrafficExtensionExtensionChainMatchCondition
Conditions under which this chain is invoked for a request. Structure is documented below.
name This property is required. String
The name for this extension chain. 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.
extensions This property is required. LbTrafficExtensionExtensionChainExtension[]
A set of extensions to execute for the matching request. At least one extension is required. Up to 3 extensions can be defined for each extension chain for LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain. Structure is documented below.
matchCondition This property is required. LbTrafficExtensionExtensionChainMatchCondition
Conditions under which this chain is invoked for a request. Structure is documented below.
name This property is required. string
The name for this extension chain. 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.
extensions This property is required. Sequence[LbTrafficExtensionExtensionChainExtension]
A set of extensions to execute for the matching request. At least one extension is required. Up to 3 extensions can be defined for each extension chain for LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain. Structure is documented below.
match_condition This property is required. LbTrafficExtensionExtensionChainMatchCondition
Conditions under which this chain is invoked for a request. Structure is documented below.
name This property is required. str
The name for this extension chain. 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.
extensions This property is required. List<Property Map>
A set of extensions to execute for the matching request. At least one extension is required. Up to 3 extensions can be defined for each extension chain for LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain. Structure is documented below.
matchCondition This property is required. Property Map
Conditions under which this chain is invoked for a request. Structure is documented below.
name This property is required. String
The name for this extension chain. 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.

LbTrafficExtensionExtensionChainExtension
, LbTrafficExtensionExtensionChainExtensionArgs

Name This property is required. string
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.
Service This property is required. string
The reference to the service that runs the extension. Must be a reference to a backend service
Authority string
The :authority header in the gRPC request sent from Envoy to the extension service.
FailOpen bool
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.
ForwardHeaders List<string>
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.
SupportedEvents List<string>
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.


Timeout string
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".
Name This property is required. string
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.
Service This property is required. string
The reference to the service that runs the extension. Must be a reference to a backend service
Authority string
The :authority header in the gRPC request sent from Envoy to the extension service.
FailOpen bool
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.
ForwardHeaders []string
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.
SupportedEvents []string
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.


Timeout string
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".
name This property is required. String
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.
service This property is required. String
The reference to the service that runs the extension. Must be a reference to a backend service
authority String
The :authority header in the gRPC request sent from Envoy to the extension service.
failOpen Boolean
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.
forwardHeaders List<String>
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.
supportedEvents List<String>
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.


timeout String
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".
name This property is required. string
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.
service This property is required. string
The reference to the service that runs the extension. Must be a reference to a backend service
authority string
The :authority header in the gRPC request sent from Envoy to the extension service.
failOpen boolean
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.
forwardHeaders string[]
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.
supportedEvents string[]
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.


timeout string
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".
name This property is required. str
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.
service This property is required. str
The reference to the service that runs the extension. Must be a reference to a backend service
authority str
The :authority header in the gRPC request sent from Envoy to the extension service.
fail_open bool
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.
forward_headers Sequence[str]
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.
supported_events Sequence[str]
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.


timeout str
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".
name This property is required. String
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.
service This property is required. String
The reference to the service that runs the extension. Must be a reference to a backend service
authority String
The :authority header in the gRPC request sent from Envoy to the extension service.
failOpen Boolean
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.
forwardHeaders List<String>
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.
supportedEvents List<String>
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.


timeout String
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".

LbTrafficExtensionExtensionChainMatchCondition
, LbTrafficExtensionExtensionChainMatchConditionArgs

CelExpression This property is required. string
A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
CelExpression This property is required. string
A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
celExpression This property is required. String
A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
celExpression This property is required. string
A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
cel_expression This property is required. str
A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
celExpression This property is required. String
A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.

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:

$ pulumi import gcp:networkservices/lbTrafficExtension:LbTrafficExtension default projects/{{project}}/locations/{{location}}/lbTrafficExtensions/{{name}}
Copy
$ pulumi import gcp:networkservices/lbTrafficExtension:LbTrafficExtension default {{project}}/{{location}}/{{name}}
Copy
$ pulumi import gcp:networkservices/lbTrafficExtension:LbTrafficExtension default {{location}}/{{name}}
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.