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
:ref:Metadata <envoy_api_msg_config.core.v3.Metadata>
.
For example, for the following Metadata:
.. code-block:: yaml
filter_metadata: envoy.xxx: prop: foo: bar xyz: hello: envoy
The following MetadataKey will retrieve a string value “bar” from the Metadata.
.. code-block:: yaml
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 , or host can be set. |
route |
.solo.io.envoy.type.metadata.v3.MetadataKind.Route | Route kind of metadata. Only one of route , request , or host can be set. |
cluster |
.solo.io.envoy.type.metadata.v3.MetadataKind.Cluster | Cluster kind of metadata. Only one of cluster , request , or host can be set. |
host |
.solo.io.envoy.type.metadata.v3.MetadataKind.Host | Host kind of metadata. Only one of host , request , or cluster can be set. |
Request
Represents dynamic metadata associated with the request.
Field | Type | Description |
---|
Route
Represents metadata from :ref:the route<envoy_api_field_config.route.v3.Route.metadata>
.
Field | Type | Description |
---|
Cluster
Represents metadata from :ref:the upstream cluster<envoy_api_field_config.cluster.v3.Cluster.metadata>
.
Field | Type | Description |
---|
Host
Represents metadata from :ref:the upstream host<envoy_api_field_config.endpoint.v3.LbEndpoint.metadata>
.
Field | Type | Description |
---|