Set Metadata
This filter should be configured with the type URL
type.googleapis.com/envoy.extensions.filters.http.set_metadata.v3.Config.
This filters adds or updates dynamic metadata with static data.
Dynamic metadata values are updated with the following rules. If a key does not exist, it is copied into the current metadata. If the key exists, then following rules will be used:
if typed metadata value is used, it will overwrite existing values iff allow_overwrite is set to true, otherwise nothing is done.
if untyped metadata value is used and
allow_overwriteis set to true, or if deprecated value field is used, the values are updated with the following scheme: - existing value with different type: the existing value is replaced. - scalar values (null, string, number, boolean): the existing value is replaced. - lists: new values are appended to the current list. - structures: recursively apply this scheme.
For instance, if the namespace already contains this structure:
myint: 1
mylist: ["a"]
mykey: ["val"]
mytags:
  tag0: 1
and the value to set is:
myint: 2
mylist: ["b","c"]
mykey: 1
mytags:
  tag1: 1
After applying this filter, the namespace will contain:
myint: 2
mylist: ["a","b","c"]
mykey: 1
mytags:
  tag0: 1
  tag1: 1
Statistics
The set_metadata filter outputs statistics in the http.<stat_prefix>.set_metadata. namespace. The stat prefix comes from the
owning HTTP connection manager.
Name  | 
Type  | 
Description  | 
|---|---|---|
overwrite_denied  | 
Counter  | 
Total number of denied attempts to overwrite an existing metadata value  |