A single extension chain wrapper that contains the match conditions and extensions to execute.
| JSON representation | 
|---|
{ "name": string, "matchCondition": { object (  | 
            
| Fields | |
|---|---|
name | 
              
                 
 Required. 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.  | 
            
matchCondition | 
              
                 
 Required. Conditions under which this chain is invoked for a request.  | 
            
extensions[] | 
              
                 
 Required. 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   | 
            
MatchCondition
Conditions under which this chain is invoked for a request.
| JSON representation | 
|---|
{ "celExpression": string }  | 
              
| Fields | |
|---|---|
celExpression | 
                
                   
 Required. A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed. For more information, see CEL matcher language reference.  | 
              
Extension
A single extension in the chain to execute for the matching request.
| JSON representation | 
|---|
{
  "name": string,
  "authority": string,
  "service": string,
  "supportedEvents": [
    enum ( | 
              
| Fields | |
|---|---|
name | 
                
                   
 Required. 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.  | 
              
authority | 
                
                   
 Optional. The  This field is not supported for plugin extensions. Setting it results in a validation error.  | 
              
service | 
                
                   
 Required. The reference to the service that runs the extension. To configure a callout extension,  To configure a plugin extension,  Plugin extensions are currently supported for the   | 
              
supportedEvents[] | 
                
                   
 Optional. A set of events during request or response processing for which this extension is called. For the  For the  For the   | 
              
timeout | 
                
                   
 Optional. Specifies the timeout for each individual message on the stream. The timeout must be between  This field is not supported for plugin extensions. Setting it results in a validation error.  | 
              
failOpen | 
                
                   
 Optional. Determines how the proxy behaves if the call to the extension fails or times out. When set to  
  | 
              
forwardHeaders[] | 
                
                   
 Optional. 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.  | 
              
metadata | 
                
                   
 Optional. The metadata provided here is included as part of the  The metadata is available under the namespace  The following variables are supported in the metadata: 
 This field must not be set for 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. This field is subject to following limitations: 
  | 
              
EventType
The part of the request or response for which the extension is called.
| Enums | |
|---|---|
EVENT_TYPE_UNSPECIFIED | 
                Unspecified value. Do not use. | 
REQUEST_HEADERS | 
                If included in supportedEvents, the extension is called when the HTTP request headers arrive. | 
              
REQUEST_BODY | 
                If included in supportedEvents, the extension is called when the HTTP request body arrives. | 
              
RESPONSE_HEADERS | 
                If included in supportedEvents, the extension is called when the HTTP response headers arrive. | 
              
RESPONSE_BODY | 
                If included in supportedEvents, the extension is called when the HTTP response body arrives. | 
              
REQUEST_TRAILERS | 
                If included in supportedEvents, the extension is called when the HTTP request trailers arrives. | 
              
RESPONSE_TRAILERS | 
                If included in supportedEvents, the extension is called when the HTTP response trailers arrives. |