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  | 
| service | 
 Required. The reference to the service that runs the extension. Currently only callout extensions are supported here. To configure a callout extension,  | 
| supportedEvents[] | 
 Optional. A set of events during request or response processing for which this extension is called. This field is required for the  | 
| timeout | 
 Optional. Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds. Required for Callout extensions. A duration in seconds with up to nine fractional digits, ending with ' | 
| 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. | 
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. |