Skip to content

Commit 232b4bd

Browse files
[protobuf] Update protobuf definitions to v1.36.2 (#476)
Signed-off-by: envoy-bot <[email protected]> Co-authored-by: envoy-bot <[email protected]>
1 parent 2d4cd9c commit 232b4bd

File tree

134 files changed

+3923
-1092
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+3923
-1092
lines changed

api/src/main/proto/cel/expr/conformance/proto3/test_all_types.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ message TestAllTypes {
6363
string single_string = 14;
6464
bytes single_bytes = 15;
6565
optional bool optional_bool = 16;
66-
optional bool optional_string = 17;
66+
optional string optional_string = 17;
6767

6868
// Collides with 'in' operator.
6969
bool in = 18;

api/src/main/proto/cel/expr/conformance/test/suite.proto

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -79,49 +79,44 @@ message TestCase {
7979
// environments.
8080
cel.expr.conformance.Environment env = 4;
8181

82-
// Input for the test case
83-
TestInput input = 5;
82+
// A map representing a variable binding where the key is the name of the
83+
// input variable.
84+
map<string, InputValue> input = 5;
85+
86+
// Input in the form of a context proto for the test case.
87+
// Note: Only one of `input_bindings` and `input_context` can be provided. Providing
88+
// both should result in an error.
89+
InputContext input_context = 6;
8490

8591
// Expected result of the test case.
86-
TestOutput output = 6;
92+
TestOutput output = 7;
8793

8894
// If specified validates that the deduced type at check time matches
8995
// If the result kind is not set and this field is set, the test is considered
9096
// "check-only".
91-
cel.expr.Type deduced_type = 7;
97+
cel.expr.Type deduced_type = 8;
9298

9399
// Bypass the type-checking and only attempt to evaluate the parsed
94100
// expression.
95-
bool disable_check = 8;
101+
bool disable_check = 9;
96102
}
97103

98-
// Input for the test case
99-
message TestInput {
100-
// The type of input for the test case
101-
oneof input_kind {
102-
// A set of variable bindings to be used for evaluating a checked
103-
// expression.
104-
Bindings bindings = 1;
105-
104+
// Input context proto for the test case
105+
message InputContext {
106+
// The type of input context for the test case
107+
oneof input_context_kind {
106108
// A context message represents an input kind in the form of a proto
107109
// message whose type is defined at runtime.
108-
google.protobuf.Any context_message = 2;
110+
google.protobuf.Any context_message = 1;
109111

110112
// A context expression representing a context proto variable. The
111113
// fields of the input proto.Messages are used as top-level variables within
112114
// an Activation. The expression is evaluated using the cel environment
113115
// configured for the test suite.
114-
string context_expr = 3;
116+
string context_expr = 2;
115117
}
116118
}
117119

118-
// The bindings of input variables for the test case.
119-
message Bindings {
120-
// A map representing a variable binding where the key is the name of the
121-
// input variable.
122-
map<string, InputValue> values = 1;
123-
}
124-
125120
// The input value for a variable binding
126121
message InputValue {
127122
// The type of input value that can be used for a variable binding

api/src/main/proto/cel/expr/eval.proto

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ syntax = "proto3";
1616

1717
package cel.expr;
1818

19+
import "google/protobuf/any.proto";
1920
import "cel/expr/value.proto";
20-
import "google/rpc/status.proto";
2121

2222
option cc_enable_arenas = true;
2323
option go_package = "cel.dev/expr";
@@ -104,9 +104,31 @@ message ExprValue {
104104
//
105105
// The errors included depend on the context. See `ExprValue.error`.
106106
message ErrorSet {
107-
repeated google.rpc.Status errors = 1;
107+
// Errors that could come up during evaluation phase.
108+
repeated Status errors = 1;
108109
}
109110

111+
// Each `Status` message contains three pieces of data: error code, error message,
112+
// and error details.
113+
//
114+
// You can find out more about this error model and how to work with it in the
115+
// [API Design Guide](https://cloud.google.com/apis/design/errors).
116+
//
117+
// Status value is intended to be wire and field compatible with `google.rpc.Status`.
118+
message Status {
119+
// The status code, which should be an enum value of [google.rpc.Code][].
120+
int32 code = 1;
121+
122+
// A developer-facing error message, which should be in English. Any
123+
// user-facing error message should be localized and sent in the
124+
// [Status.details][] field, or localized by the client.
125+
string message = 2;
126+
127+
// A list of messages that carry the error details. There is a common set of
128+
// message types for APIs to use.
129+
repeated google.protobuf.Any details = 3;
130+
}
131+
110132
// A set of expressions for which the value is unknown.
111133
//
112134
// The unknowns included depend on the context. See `ExprValue.unknown`.

api/src/main/proto/envoy/admin/v3/clusters.proto

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ message HostStatus {
143143
//
144144
// .. note::
145145
//
146-
// The message will be missing if the host didnt receive enough traffic to compute a success rate, or if the
147-
// cluster didnt have enough hosts to perform outlier ejection based on success rate.
146+
// The message will be missing if the host didn't receive enough traffic to compute a success rate, or if the
147+
// cluster didn't have enough hosts to perform outlier ejection based on success rate.
148148
//
149149
type.v3.Percent local_origin_success_rate = 8;
150150

@@ -171,18 +171,22 @@ message HostHealthStatus {
171171
// health checking.
172172
bool pending_dynamic_removal = 5;
173173

174-
// The host has not yet been health checked.
174+
// The host is awaiting first health check.
175175
bool pending_active_hc = 6;
176176

177177
// The host should be excluded from panic, spillover, etc. calculations because it was explicitly
178178
// taken out of rotation via protocol signal and is not meant to be routed to.
179179
bool excluded_via_immediate_hc_fail = 7;
180180

181-
// The host failed active HC due to timeout.
181+
// The host failed active health check due to timeout.
182182
bool active_hc_timeout = 8;
183183

184-
// Health status as reported by EDS. Note: only HEALTHY and UNHEALTHY are currently supported
185-
// here.
184+
// Health status as reported by EDS.
185+
//
186+
// .. note::
187+
//
188+
// Currently, only ``HEALTHY`` and ``UNHEALTHY`` are supported.
189+
//
186190
// [#comment:TODO(mrice32): pipe through remaining EDS health status possibilities.]
187191
config.core.v3.HealthStatus eds_health_status = 3;
188192
}

api/src/main/proto/envoy/config/bootstrap/v3/bootstrap.proto

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
4141
// <config_overview_bootstrap>` for more detail.
4242

4343
// Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
44-
// [#next-free-field: 42]
44+
// [#next-free-field: 43]
4545
message Bootstrap {
4646
option (udpa.annotations.versioning).previous_message_type =
4747
"envoy.config.bootstrap.v2.Bootstrap";
@@ -57,9 +57,7 @@ message Bootstrap {
5757
// If a network based configuration source is specified for :ref:`cds_config
5858
// <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.DynamicResources.cds_config>`, it's necessary
5959
// to have some initial cluster definitions available to allow Envoy to know
60-
// how to speak to the management server. These cluster definitions may not
61-
// use :ref:`EDS <arch_overview_dynamic_config_eds>` (i.e. they should be static
62-
// IP or DNS-based).
60+
// how to speak to the management server.
6361
repeated cluster.v3.Cluster clusters = 2;
6462

6563
// These static secrets can be used by :ref:`SdsSecretConfig
@@ -232,6 +230,14 @@ message Bootstrap {
232230
bool stats_flush_on_admin = 29 [(validate.rules).bool = {const: true}];
233231
}
234232

233+
oneof stats_eviction {
234+
// Optional duration to perform metric eviction. At every interval, during the stats flush
235+
// the unused metrics are removed from the worker caches and the used metrics
236+
// are marked as unused. Must be a multiple of the ``stats_flush_interval``.
237+
google.protobuf.Duration stats_eviction_interval = 42
238+
[(validate.rules).duration = {gte {nanos: 1000000}}];
239+
}
240+
235241
// Optional watchdog configuration.
236242
// This is for a single watchdog configuration for the entire system.
237243
// Deprecated in favor of ``watchdogs`` which has finer granularity.

api/src/main/proto/envoy/config/cluster/v3/cluster.proto

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -652,9 +652,10 @@ message Cluster {
652652
// If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
653653
// window to 0.
654654
//
655-
// Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
656-
// because merging those updates isn't currently safe. See
657-
// https://github.com/envoyproxy/envoy/pull/3941.
655+
// .. note::
656+
// Merging does not apply to cluster membership changes (e.g.: adds/removes); this is
657+
// because merging those updates isn't currently safe. See
658+
// https://github.com/envoyproxy/envoy/pull/3941.
658659
google.protobuf.Duration update_merge_window = 4;
659660

660661
// If set to true, Envoy will :ref:`exclude <arch_overview_load_balancing_excluded>` new hosts
@@ -816,12 +817,14 @@ message Cluster {
816817
string name = 1 [(validate.rules).string = {min_len: 1}];
817818

818819
// An optional alternative to the cluster name to be used for observability. This name is used
819-
// emitting stats for the cluster and access logging the cluster name. This will appear as
820+
// for emitting stats for the cluster and access logging the cluster name. This will appear as
820821
// additional information in configuration dumps of a cluster's current status as
821822
// :ref:`observability_name <envoy_v3_api_field_admin.v3.ClusterStatus.observability_name>`
822-
// and as an additional tag "upstream_cluster.name" while tracing. Note: Any ``:`` in the name
823-
// will be converted to ``_`` when emitting statistics. This should not be confused with
824-
// :ref:`Router Filter Header <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
823+
// and as an additional tag "upstream_cluster.name" while tracing.
824+
//
825+
// .. note::
826+
// Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be confused with
827+
// :ref:`Router Filter Header <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
825828
string alt_stat_name = 28 [(udpa.annotations.field_migrate).rename = "observability_name"];
826829

827830
oneof cluster_discovery_type {

api/src/main/proto/envoy/config/common/matcher/v3/matcher.proto

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,17 @@ message Matcher {
4141
// Protocol-specific action to take.
4242
core.v3.TypedExtensionConfig action = 2;
4343
}
44+
45+
// If true, the action will be taken but the caller will behave as if no
46+
// match was found. This applies both to actions directly encoded in the
47+
// action field and to actions returned from a nested matcher tree in the
48+
// matcher field. A subsequent matcher on_no_match action will be used
49+
// instead.
50+
//
51+
// This field is not supported in all contexts in which the matcher API is
52+
// used. If this field is set in a context in which it's not supported,
53+
// the resource will be rejected.
54+
bool keep_matching = 3;
4455
}
4556

4657
// A linear list of field matchers.
@@ -84,7 +95,7 @@ message Matcher {
8495
// A list of predicates to be AND-ed together.
8596
PredicateList and_matcher = 3;
8697

87-
// The invert of a predicate
98+
// The inverse of a predicate
8899
Predicate not_matcher = 4;
89100
}
90101
}
@@ -137,8 +148,8 @@ message Matcher {
137148
MatcherTree matcher_tree = 2;
138149
}
139150

140-
// Optional OnMatch to use if the matcher failed.
141-
// If specified, the OnMatch is used, and the matcher is considered
151+
// Optional ``OnMatch`` to use if the matcher failed.
152+
// If specified, the ``OnMatch`` is used, and the matcher is considered
142153
// to have matched.
143154
// If not specified, the matcher is considered not to have matched.
144155
OnMatch on_no_match = 3;
@@ -204,9 +215,9 @@ message HttpHeadersMatch {
204215
//
205216
// .. attention::
206217
//
207-
// Searching for patterns in HTTP body is potentially cpu intensive. For each specified pattern, http body is scanned byte by byte to find a match.
218+
// Searching for patterns in HTTP body is potentially CPU-intensive. For each specified pattern, HTTP body is scanned byte by byte to find a match.
208219
// If multiple patterns are specified, the process is repeated for each pattern. If location of a pattern is known, ``bytes_limit`` should be specified
209-
// to scan only part of the http body.
220+
// to scan only part of the HTTP body.
210221
message HttpGenericBodyMatch {
211222
message GenericTextMatch {
212223
oneof rule {

api/src/main/proto/envoy/config/common/mutation_rules/v3/mutation_rules.proto

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package envoy.config.common.mutation_rules.v3;
44

55
import "envoy/config/core/v3/base.proto";
66
import "envoy/type/matcher/v3/regex.proto";
7+
import "envoy/type/matcher/v3/string.proto";
78

89
import "google/protobuf/wrappers.proto";
910

@@ -90,6 +91,12 @@ message HeaderMutationRules {
9091
// The HeaderMutation structure specifies an action that may be taken on HTTP
9192
// headers.
9293
message HeaderMutation {
94+
message RemoveOnMatch {
95+
// A string matcher that will be applied to the header key. If the header key
96+
// matches, the header will be removed.
97+
type.matcher.v3.StringMatcher key_matcher = 1 [(validate.rules).message = {required: true}];
98+
}
99+
93100
oneof action {
94101
option (validate.required) = true;
95102

@@ -99,5 +106,8 @@ message HeaderMutation {
99106

100107
// Append new header by the specified HeaderValueOption.
101108
core.v3.HeaderValueOption append = 2;
109+
110+
// Remove the header if the key matches the specified string matcher.
111+
RemoveOnMatch remove_on_match = 3;
102112
}
103113
}

api/src/main/proto/envoy/config/core/v3/address.proto

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,15 @@ message SocketAddress {
9898
// IPv6 space as ``::FFFF:<IPv4-address>``.
9999
bool ipv4_compat = 6;
100100

101-
// The Linux network namespace to bind the socket to. If this is set, Envoy will
102-
// create the socket in the specified network namespace. Only supported on Linux.
103-
// [#not-implemented-hide:]
101+
// Filepath that specifies the Linux network namespace this socket will be created in (see ``man 7
102+
// network_namespaces``). If this field is set, Envoy will create the socket in the specified
103+
// network namespace.
104+
//
105+
// .. note::
106+
// Setting this parameter requires Envoy to run with the ``CAP_NET_ADMIN`` capability.
107+
//
108+
// .. attention::
109+
// Network namespaces are only configurable on Linux. Otherwise, this field has no effect.
104110
string network_namespace_filepath = 7;
105111
}
106112

api/src/main/proto/envoy/config/core/v3/base.proto

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ message RuntimeUInt32 {
266266
uint32 default_value = 2;
267267

268268
// Runtime key to get value for comparison. This value is used if defined.
269-
string runtime_key = 3 [(validate.rules).string = {min_len: 1}];
269+
string runtime_key = 3;
270270
}
271271

272272
// Runtime derived percentage with a default when not specified.
@@ -275,7 +275,7 @@ message RuntimePercent {
275275
type.v3.Percent default_value = 1;
276276

277277
// Runtime key to get value for comparison. This value is used if defined.
278-
string runtime_key = 2 [(validate.rules).string = {min_len: 1}];
278+
string runtime_key = 2;
279279
}
280280

281281
// Runtime derived double with a default when not specified.
@@ -286,7 +286,7 @@ message RuntimeDouble {
286286
double default_value = 1;
287287

288288
// Runtime key to get value for comparison. This value is used if defined.
289-
string runtime_key = 2 [(validate.rules).string = {min_len: 1}];
289+
string runtime_key = 2;
290290
}
291291

292292
// Runtime derived bool with a default when not specified.
@@ -300,7 +300,7 @@ message RuntimeFeatureFlag {
300300
// Runtime key to get value for comparison. This value is used if defined. The boolean value must
301301
// be represented via its
302302
// `canonical JSON encoding <https://developers.google.com/protocol-buffers/docs/proto3#json>`_.
303-
string runtime_key = 2 [(validate.rules).string = {min_len: 1}];
303+
string runtime_key = 2;
304304
}
305305

306306
// Please use :ref:`KeyValuePair <envoy_api_msg_config.core.v3.KeyValuePair>` instead.

0 commit comments

Comments
 (0)