gcp.networkservices.LbRouteExtension
Explore with Pulumi AI
LbRouteExtension is a resource that lets you control where traffic is routed to for a given request.
To get more information about LbRouteExtension, see:
- API documentation
- How-to Guides
Example Usage
Create LbRouteExtension Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new LbRouteExtension(name: string, args: LbRouteExtensionArgs, opts?: CustomResourceOptions);@overload
def LbRouteExtension(resource_name: str,
                     args: LbRouteExtensionArgs,
                     opts: Optional[ResourceOptions] = None)
@overload
def LbRouteExtension(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     extension_chains: Optional[Sequence[LbRouteExtensionExtensionChainArgs]] = None,
                     forwarding_rules: Optional[Sequence[str]] = None,
                     load_balancing_scheme: Optional[str] = None,
                     location: Optional[str] = None,
                     description: Optional[str] = None,
                     labels: Optional[Mapping[str, str]] = None,
                     name: Optional[str] = None,
                     project: Optional[str] = None)func NewLbRouteExtension(ctx *Context, name string, args LbRouteExtensionArgs, opts ...ResourceOption) (*LbRouteExtension, error)public LbRouteExtension(string name, LbRouteExtensionArgs args, CustomResourceOptions? opts = null)
public LbRouteExtension(String name, LbRouteExtensionArgs args)
public LbRouteExtension(String name, LbRouteExtensionArgs args, CustomResourceOptions options)
type: gcp:networkservices:LbRouteExtension
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args LbRouteExtensionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args LbRouteExtensionArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args LbRouteExtensionArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args LbRouteExtensionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args LbRouteExtensionArgs
- 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 lbRouteExtensionResource = new Gcp.NetworkServices.LbRouteExtension("lbRouteExtensionResource", new()
{
    ExtensionChains = new[]
    {
        new Gcp.NetworkServices.Inputs.LbRouteExtensionExtensionChainArgs
        {
            Extensions = new[]
            {
                new Gcp.NetworkServices.Inputs.LbRouteExtensionExtensionChainExtensionArgs
                {
                    Name = "string",
                    Service = "string",
                    Authority = "string",
                    FailOpen = false,
                    ForwardHeaders = new[]
                    {
                        "string",
                    },
                    Timeout = "string",
                },
            },
            MatchCondition = new Gcp.NetworkServices.Inputs.LbRouteExtensionExtensionChainMatchConditionArgs
            {
                CelExpression = "string",
            },
            Name = "string",
        },
    },
    ForwardingRules = new[]
    {
        "string",
    },
    LoadBalancingScheme = "string",
    Location = "string",
    Description = "string",
    Labels = 
    {
        { "string", "string" },
    },
    Name = "string",
    Project = "string",
});
example, err := networkservices.NewLbRouteExtension(ctx, "lbRouteExtensionResource", &networkservices.LbRouteExtensionArgs{
	ExtensionChains: networkservices.LbRouteExtensionExtensionChainArray{
		&networkservices.LbRouteExtensionExtensionChainArgs{
			Extensions: networkservices.LbRouteExtensionExtensionChainExtensionArray{
				&networkservices.LbRouteExtensionExtensionChainExtensionArgs{
					Name:      pulumi.String("string"),
					Service:   pulumi.String("string"),
					Authority: pulumi.String("string"),
					FailOpen:  pulumi.Bool(false),
					ForwardHeaders: pulumi.StringArray{
						pulumi.String("string"),
					},
					Timeout: pulumi.String("string"),
				},
			},
			MatchCondition: &networkservices.LbRouteExtensionExtensionChainMatchConditionArgs{
				CelExpression: pulumi.String("string"),
			},
			Name: pulumi.String("string"),
		},
	},
	ForwardingRules: pulumi.StringArray{
		pulumi.String("string"),
	},
	LoadBalancingScheme: pulumi.String("string"),
	Location:            pulumi.String("string"),
	Description:         pulumi.String("string"),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Name:    pulumi.String("string"),
	Project: pulumi.String("string"),
})
var lbRouteExtensionResource = new LbRouteExtension("lbRouteExtensionResource", LbRouteExtensionArgs.builder()
    .extensionChains(LbRouteExtensionExtensionChainArgs.builder()
        .extensions(LbRouteExtensionExtensionChainExtensionArgs.builder()
            .name("string")
            .service("string")
            .authority("string")
            .failOpen(false)
            .forwardHeaders("string")
            .timeout("string")
            .build())
        .matchCondition(LbRouteExtensionExtensionChainMatchConditionArgs.builder()
            .celExpression("string")
            .build())
        .name("string")
        .build())
    .forwardingRules("string")
    .loadBalancingScheme("string")
    .location("string")
    .description("string")
    .labels(Map.of("string", "string"))
    .name("string")
    .project("string")
    .build());
lb_route_extension_resource = gcp.networkservices.LbRouteExtension("lbRouteExtensionResource",
    extension_chains=[{
        "extensions": [{
            "name": "string",
            "service": "string",
            "authority": "string",
            "fail_open": False,
            "forward_headers": ["string"],
            "timeout": "string",
        }],
        "match_condition": {
            "cel_expression": "string",
        },
        "name": "string",
    }],
    forwarding_rules=["string"],
    load_balancing_scheme="string",
    location="string",
    description="string",
    labels={
        "string": "string",
    },
    name="string",
    project="string")
const lbRouteExtensionResource = new gcp.networkservices.LbRouteExtension("lbRouteExtensionResource", {
    extensionChains: [{
        extensions: [{
            name: "string",
            service: "string",
            authority: "string",
            failOpen: false,
            forwardHeaders: ["string"],
            timeout: "string",
        }],
        matchCondition: {
            celExpression: "string",
        },
        name: "string",
    }],
    forwardingRules: ["string"],
    loadBalancingScheme: "string",
    location: "string",
    description: "string",
    labels: {
        string: "string",
    },
    name: "string",
    project: "string",
});
type: gcp:networkservices:LbRouteExtension
properties:
    description: string
    extensionChains:
        - extensions:
            - authority: string
              failOpen: false
              forwardHeaders:
                - string
              name: string
              service: string
              timeout: string
          matchCondition:
            celExpression: string
          name: string
    forwardingRules:
        - string
    labels:
        string: string
    loadBalancingScheme: string
    location: string
    name: string
    project: string
LbRouteExtension 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 LbRouteExtension resource accepts the following input properties:
- ExtensionChains List<LbRoute Extension Extension Chain> 
- 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 LbRouteExtension resource per forwarding rule.
- LoadBalancing stringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- Location string
- The location of the route extension
- Description string
- A human-readable description of the resource.
- Labels Dictionary<string, string>
- Set of labels associated with the LbRouteExtension 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.
- Name string
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- Project string
- ExtensionChains []LbRoute Extension Extension Chain Args 
- 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 LbRouteExtension resource per forwarding rule.
- LoadBalancing stringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- Location string
- The location of the route extension
- Description string
- A human-readable description of the resource.
- Labels map[string]string
- Set of labels associated with the LbRouteExtension 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.
- Name string
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- Project string
- extensionChains List<LbRoute Extension Extension Chain> 
- 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 LbRouteExtension resource per forwarding rule.
- loadBalancing StringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- location String
- The location of the route extension
- description String
- A human-readable description of the resource.
- labels Map<String,String>
- Set of labels associated with the LbRouteExtension 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.
- name String
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- project String
- extensionChains LbRoute Extension Extension Chain[] 
- 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 LbRouteExtension resource per forwarding rule.
- loadBalancing stringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- location string
- The location of the route extension
- description string
- A human-readable description of the resource.
- labels {[key: string]: string}
- Set of labels associated with the LbRouteExtension 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.
- name string
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- project string
- extension_chains Sequence[LbRoute Extension Extension Chain Args] 
- 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 LbRouteExtension resource per forwarding rule.
- load_balancing_ strscheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- location str
- The location of the route extension
- description str
- A human-readable description of the resource.
- labels Mapping[str, str]
- Set of labels associated with the LbRouteExtension 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.
- name str
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- project str
- 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 LbRouteExtension resource per forwarding rule.
- loadBalancing StringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- location String
- The location of the route extension
- description String
- A human-readable description of the resource.
- labels Map<String>
- Set of labels associated with the LbRouteExtension 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.
- name String
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- project String
Outputs
All input properties are implicitly available as output properties. Additionally, the LbRouteExtension 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 LbRouteExtension Resource
Get an existing LbRouteExtension 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?: LbRouteExtensionState, opts?: CustomResourceOptions): LbRouteExtension@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[LbRouteExtensionExtensionChainArgs]] = 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) -> LbRouteExtensionfunc GetLbRouteExtension(ctx *Context, name string, id IDInput, state *LbRouteExtensionState, opts ...ResourceOption) (*LbRouteExtension, error)public static LbRouteExtension Get(string name, Input<string> id, LbRouteExtensionState? state, CustomResourceOptions? opts = null)public static LbRouteExtension get(String name, Output<String> id, LbRouteExtensionState state, CustomResourceOptions options)resources:  _:    type: gcp:networkservices:LbRouteExtension    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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
- The unique name of the resulting resource.
- id
- 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.
- 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<LbRoute Extension Extension Chain> 
- 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 LbRouteExtension resource per forwarding rule.
- Labels Dictionary<string, string>
- Set of labels associated with the LbRouteExtension 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.
- LoadBalancing stringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- Location string
- The location of the route extension
- Name string
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- Project 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 []LbRoute Extension Extension Chain Args 
- 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 LbRouteExtension resource per forwarding rule.
- Labels map[string]string
- Set of labels associated with the LbRouteExtension 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.
- LoadBalancing stringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- Location string
- The location of the route extension
- Name string
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- Project 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<LbRoute Extension Extension Chain> 
- 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 LbRouteExtension resource per forwarding rule.
- labels Map<String,String>
- Set of labels associated with the LbRouteExtension 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.
- loadBalancing StringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- location String
- The location of the route extension
- name String
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- project 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 LbRoute Extension Extension Chain[] 
- 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 LbRouteExtension resource per forwarding rule.
- labels {[key: string]: string}
- Set of labels associated with the LbRouteExtension 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.
- loadBalancing stringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- location string
- The location of the route extension
- name string
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- project 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[LbRoute Extension Extension Chain Args] 
- 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 LbRouteExtension resource per forwarding rule.
- labels Mapping[str, str]
- Set of labels associated with the LbRouteExtension 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_ strscheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- location str
- The location of the route extension
- name str
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- project 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 LbRouteExtension resource per forwarding rule.
- labels Map<String>
- Set of labels associated with the LbRouteExtension 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.
- loadBalancing StringScheme 
- 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 are: INTERNAL_MANAGED,EXTERNAL_MANAGED.
- location String
- The location of the route extension
- name String
- Name of the LbRouteExtension resource in the following format: projects/{project}/locations/{location}/lbRouteExtensions/{lbRouteExtension}
- project String
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
Supporting Types
LbRouteExtensionExtensionChain, LbRouteExtensionExtensionChainArgs          
- Extensions
List<LbRoute Extension Extension Chain Extension> 
- 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 LbRoute Extension Extension Chain Match Condition 
- Conditions under which this chain is invoked for a request. Structure is documented below.
- Name 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 character must be a letter or a number.
- Extensions
[]LbRoute Extension Extension Chain Extension 
- 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 LbRoute Extension Extension Chain Match Condition 
- Conditions under which this chain is invoked for a request. Structure is documented below.
- Name 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 character must be a letter or a number.
- extensions
List<LbRoute Extension Extension Chain Extension> 
- 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 LbRoute Extension Extension Chain Match Condition 
- Conditions under which this chain is invoked for a request. Structure is documented below.
- name 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 character must be a letter or a number.
- extensions
LbRoute Extension Extension Chain Extension[] 
- 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 LbRoute Extension Extension Chain Match Condition 
- Conditions under which this chain is invoked for a request. Structure is documented below.
- name 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 character must be a letter or a number.
- extensions
Sequence[LbRoute Extension Extension Chain Extension] 
- 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 LbRoute Extension Extension Chain Match Condition 
- Conditions under which this chain is invoked for a request. Structure is documented below.
- name 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 character must be a letter or a number.
- extensions 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 Property Map
- Conditions under which this chain is invoked for a request. Structure is documented below.
- name 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 character must be a letter or a number.
LbRouteExtensionExtensionChainExtension, LbRouteExtensionExtensionChainExtensionArgs            
- Name 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 string
- The reference to the service that runs the extension. Must be a reference to a backend service
- 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.
- 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 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 string
- The reference to the service that runs the extension. Must be a reference to a backend service
- 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.
- 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 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 String
- The reference to the service that runs the extension. Must be a reference to a backend service
- 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.
- 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 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 string
- The reference to the service that runs the extension. Must be a reference to a backend service
- 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.
- 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 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 str
- The reference to the service that runs the extension. Must be a reference to a backend service
- 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.
- 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 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 String
- The reference to the service that runs the extension. Must be a reference to a backend service
- 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.
- 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".
LbRouteExtensionExtensionChainMatchCondition, LbRouteExtensionExtensionChainMatchConditionArgs              
- CelExpression string
- A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
- CelExpression string
- A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
- celExpression String
- A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
- celExpression string
- A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
- cel_expression str
- A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
- celExpression String
- A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
Import
LbRouteExtension can be imported using any of these accepted formats:
- projects/{{project}}/locations/{{location}}/lbRouteExtensions/{{name}}
- {{project}}/{{location}}/{{name}}
- {{location}}/{{name}}
When using the pulumi import command, LbRouteExtension can be imported using one of the formats above. For example:
$ pulumi import gcp:networkservices/lbRouteExtension:LbRouteExtension default projects/{{project}}/locations/{{location}}/lbRouteExtensions/{{name}}
$ pulumi import gcp:networkservices/lbRouteExtension:LbRouteExtension default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:networkservices/lbRouteExtension:LbRouteExtension default {{location}}/{{name}}
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-betaTerraform Provider.