Filter dependency specification (proto)

extensions.filters.common.dependency.v3.Dependency

[extensions.filters.common.dependency.v3.Dependency proto]

Dependency specification and string identifier.

{
  "type": ...,
  "name": ...
}
type

(extensions.filters.common.dependency.v3.Dependency.DependencyType) The kind of dependency.

name

(string, REQUIRED) The string identifier for the dependency.

Enum extensions.filters.common.dependency.v3.Dependency.DependencyType

[extensions.filters.common.dependency.v3.Dependency.DependencyType proto]

HEADER

(DEFAULT)

FILTER_STATE_KEY

DYNAMIC_METADATA

extensions.filters.common.dependency.v3.FilterDependencies

[extensions.filters.common.dependency.v3.FilterDependencies proto]

Dependency specification for a filter. For a filter chain to be valid, any dependency that is required must be provided by an earlier filter.

{
  "decode_required": [],
  "decode_provided": [],
  "encode_required": [],
  "encode_provided": []
}
decode_required

(repeated extensions.filters.common.dependency.v3.Dependency) A list of dependencies required on the decode path.

decode_provided

(repeated extensions.filters.common.dependency.v3.Dependency) A list of dependencies provided on the encode path.

encode_required

(repeated extensions.filters.common.dependency.v3.Dependency) A list of dependencies required on the decode path.

encode_provided

(repeated extensions.filters.common.dependency.v3.Dependency) A list of dependencies provided on the encode path.

extensions.filters.common.dependency.v3.MatchingRequirements

[extensions.filters.common.dependency.v3.MatchingRequirements proto]

Matching requirements for a filter. For a match tree to be used with a filter, the match requirements must be satisfied.

This protobuf is provided by the filter implementation as a way to communicate the matching requirements to the filter factories, allowing for config rejection if the requirements are not satisfied.

{
  "data_input_allow_list": {...}
}
data_input_allow_list

(extensions.filters.common.dependency.v3.MatchingRequirements.DataInputAllowList)

extensions.filters.common.dependency.v3.MatchingRequirements.DataInputAllowList

[extensions.filters.common.dependency.v3.MatchingRequirements.DataInputAllowList proto]

{
  "type_url": []
}
type_url

(repeated string) An explicit list of data inputs that are allowed to be used with this filter.