...
1syntax = "proto3";
2
3package envoy.extensions.common.matching.v4alpha;
4
5import "envoy/config/common/matcher/v4alpha/matcher.proto";
6import "envoy/config/core/v4alpha/extension.proto";
7
8import "udpa/annotations/status.proto";
9import "udpa/annotations/versioning.proto";
10import "validate/validate.proto";
11
12option java_package = "io.envoyproxy.envoy.extensions.common.matching.v4alpha";
13option java_outer_classname = "ExtensionMatcherProto";
14option java_multiple_files = true;
15option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSION_CANDIDATE;
16
17// [#protodoc-title: Extension Matcher]
18
19// Wrapper around an existing extension that provides an associated matcher. This allows
20// decorating an existing extension with a matcher, which can be used to match against
21// relevant protocol data.
22message ExtensionWithMatcher {
23 option (udpa.annotations.versioning).previous_message_type =
24 "envoy.extensions.common.matching.v3.ExtensionWithMatcher";
25
26 // The associated matcher.
27 config.common.matcher.v4alpha.Matcher matcher = 1 [(validate.rules).message = {required: true}];
28
29 // The underlying extension config.
30 config.core.v4alpha.TypedExtensionConfig extension_config = 2
31 [(validate.rules).message = {required: true}];
32}
View as plain text