public sealed class LbTrafficExtension : IMessage<LbTrafficExtension>, IEquatable<LbTrafficExtension>, IDeepCloneable<LbTrafficExtension>, IBufferMessage, IMessage
Reference documentation and code samples for the Network Services v1 API class LbTrafficExtension.
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.
Implements
IMessageLbTrafficExtension, IEquatableLbTrafficExtension, IDeepCloneableLbTrafficExtension, IBufferMessage, IMessageNamespace
Google.Cloud.NetworkServices.V1Assembly
Google.Cloud.NetworkServices.V1.dll
Constructors
LbTrafficExtension()
public LbTrafficExtension()
LbTrafficExtension(LbTrafficExtension)
public LbTrafficExtension(LbTrafficExtension other)
Parameter | |
---|---|
Name | Description |
other |
LbTrafficExtension |
Properties
CreateTime
public Timestamp CreateTime { get; set; }
Output only. The timestamp when the resource was created.
Property Value | |
---|---|
Type | Description |
Timestamp |
Description
public string Description { get; set; }
Optional. A human-readable description of the resource.
Property Value | |
---|---|
Type | Description |
string |
ExtensionChains
public RepeatedField<ExtensionChain> ExtensionChains { get; }
Required. 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.
Property Value | |
---|---|
Type | Description |
RepeatedFieldExtensionChain |
ForwardingRules
public RepeatedField<string> ForwardingRules { get; }
Optional. A list of references to the forwarding rules to which this
service extension is attached. At least one forwarding rule is required.
Only one LbTrafficExtension
resource can be associated with a forwarding
rule.
Property Value | |
---|---|
Type | Description |
RepeatedFieldstring |
Labels
public MapField<string, string> Labels { get; }
Optional. Set of labels associated with the LbTrafficExtension
resource.
The format must comply with the requirements for labels for Google Cloud resources.
Property Value | |
---|---|
Type | Description |
MapFieldstringstring |
LbTrafficExtensionName
public LbTrafficExtensionName LbTrafficExtensionName { get; set; }
LbTrafficExtensionName-typed view over the Name resource name property.
Property Value | |
---|---|
Type | Description |
LbTrafficExtensionName |
LoadBalancingScheme
public LoadBalancingScheme LoadBalancingScheme { get; set; }
Required. All backend services and forwarding rules referenced by this
extension must share the same load balancing scheme. Supported values:
INTERNAL_MANAGED
and EXTERNAL_MANAGED
. For more information, refer to
Backend services
overview.
Property Value | |
---|---|
Type | Description |
LoadBalancingScheme |
Metadata
public Struct Metadata { get; set; }
Optional. The metadata provided here is included as part of the
metadata_context
(of type google.protobuf.Struct
) in the
ProcessingRequest
message sent to the extension server.
The metadata applies to all extensions in all extensions chains in this resource.
The metadata is available under the key
com.google.lb_traffic_extension.<resource_name>
.
The following variables are supported in the metadata:
{forwarding_rule_id}
- substituted with the forwarding rule's fully
qualified resource name.
This field must not be set if at least one of the extension chains contains plugin extensions. Setting it results in a validation error.
You can set metadata at either the resource level or the extension level. The extension level metadata is recommended because you can pass a different set of metadata through each extension to the backend.
Property Value | |
---|---|
Type | Description |
Struct |
Name
public string Name { get; set; }
Required. Identifier. Name of the LbTrafficExtension
resource in the
following format:
projects/{project}/locations/{location}/lbTrafficExtensions/{lb_traffic_extension}
.
Property Value | |
---|---|
Type | Description |
string |
UpdateTime
public Timestamp UpdateTime { get; set; }
Output only. The timestamp when the resource was updated.
Property Value | |
---|---|
Type | Description |
Timestamp |