metadata.proto
Package: solo.io.envoy.type.metadata.v3
Types:
Source File: github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto
MetadataKey
MetadataKey provides a general interface using key
and path
to retrieve value from
Metadata.
For example, for the following Metadata:
filter_metadata:
envoy.xxx:
prop:
foo: bar
xyz:
hello: envoy
The following MetadataKey will retrieve a string value “bar” from the Metadata.
key: envoy.xxx
path:
- key: prop
- key: foo
"key": string
"path": []solo.io.envoy.type.metadata.v3.MetadataKey.PathSegment
Field | Type | Description |
---|---|---|
key |
string |
The key name of Metadata to retrieve the Struct from the metadata. Typically, it represents a builtin subsystem or custom extension. |
path |
[]solo.io.envoy.type.metadata.v3.MetadataKey.PathSegment | The path to retrieve the Value from the Struct. It can be a prefix or a full path, e.g. [prop, xyz] for a struct or [prop, foo] for a string in the example, which depends on the particular scenario. Note: Due to that only the key type segment is supported, the path can not specify a list unless the list is the last segment. |
PathSegment
Specifies the segment in a path to retrieve value from Metadata. Currently it is only supported to specify the key, i.e. field name, as one segment of a path.
"key": string
Field | Type | Description |
---|---|---|
key |
string |
If specified, use the key to retrieve the value in a Struct. |
MetadataKind
Describes what kind of metadata.
"request": .solo.io.envoy.type.metadata.v3.MetadataKind.Request
"route": .solo.io.envoy.type.metadata.v3.MetadataKind.Route
"cluster": .solo.io.envoy.type.metadata.v3.MetadataKind.Cluster
"host": .solo.io.envoy.type.metadata.v3.MetadataKind.Host
Field | Type | Description |
---|---|---|
request |
.solo.io.envoy.type.metadata.v3.MetadataKind.Request | Request kind of metadata. Only one of request , route , cluster , or host can be set. |
route |
.solo.io.envoy.type.metadata.v3.MetadataKind.Route | Route kind of metadata. Only one of route , request , cluster , or host can be set. |
cluster |
.solo.io.envoy.type.metadata.v3.MetadataKind.Cluster | Cluster kind of metadata. Only one of cluster , request , route , or host can be set. |
host |
.solo.io.envoy.type.metadata.v3.MetadataKind.Host | Host kind of metadata. Only one of host , request , route , or cluster can be set. |
Request
Represents dynamic metadata associated with the request.
Field | Type | Description |
---|
Route
Represents metadata from the route.
Field | Type | Description |
---|
Cluster
Represents metadata from the upstream cluster.
Field | Type | Description |
---|
Host
Represents metadata from the upstream host.
Field | Type | Description |
---|