1
2
3
4
5
6
7 package discoveryv2
8
9 import (
10 context "context"
11 _ "github.com/cncf/xds/go/udpa/annotations"
12 core "github.com/emissary-ingress/emissary/v3/pkg/api/envoy/api/v2/core"
13 endpoint "github.com/emissary-ingress/emissary/v3/pkg/api/envoy/api/v2/endpoint"
14 duration "github.com/golang/protobuf/ptypes/duration"
15 _ "google.golang.org/genproto/googleapis/api/annotations"
16 grpc "google.golang.org/grpc"
17 codes "google.golang.org/grpc/codes"
18 status "google.golang.org/grpc/status"
19 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
20 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
21 reflect "reflect"
22 sync "sync"
23 )
24
25 const (
26
27 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
28
29 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
30 )
31
32
33
34 type Capability_Protocol int32
35
36 const (
37 Capability_HTTP Capability_Protocol = 0
38 Capability_TCP Capability_Protocol = 1
39 Capability_REDIS Capability_Protocol = 2
40 )
41
42
43 var (
44 Capability_Protocol_name = map[int32]string{
45 0: "HTTP",
46 1: "TCP",
47 2: "REDIS",
48 }
49 Capability_Protocol_value = map[string]int32{
50 "HTTP": 0,
51 "TCP": 1,
52 "REDIS": 2,
53 }
54 )
55
56 func (x Capability_Protocol) Enum() *Capability_Protocol {
57 p := new(Capability_Protocol)
58 *p = x
59 return p
60 }
61
62 func (x Capability_Protocol) String() string {
63 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
64 }
65
66 func (Capability_Protocol) Descriptor() protoreflect.EnumDescriptor {
67 return file_envoy_service_discovery_v2_hds_proto_enumTypes[0].Descriptor()
68 }
69
70 func (Capability_Protocol) Type() protoreflect.EnumType {
71 return &file_envoy_service_discovery_v2_hds_proto_enumTypes[0]
72 }
73
74 func (x Capability_Protocol) Number() protoreflect.EnumNumber {
75 return protoreflect.EnumNumber(x)
76 }
77
78
79 func (Capability_Protocol) EnumDescriptor() ([]byte, []int) {
80 return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{0, 0}
81 }
82
83
84
85 type Capability struct {
86 state protoimpl.MessageState
87 sizeCache protoimpl.SizeCache
88 unknownFields protoimpl.UnknownFields
89
90 HealthCheckProtocols []Capability_Protocol `protobuf:"varint,1,rep,packed,name=health_check_protocols,json=healthCheckProtocols,proto3,enum=envoy.service.discovery.v2.Capability_Protocol" json:"health_check_protocols,omitempty"`
91 }
92
93 func (x *Capability) Reset() {
94 *x = Capability{}
95 if protoimpl.UnsafeEnabled {
96 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[0]
97 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
98 ms.StoreMessageInfo(mi)
99 }
100 }
101
102 func (x *Capability) String() string {
103 return protoimpl.X.MessageStringOf(x)
104 }
105
106 func (*Capability) ProtoMessage() {}
107
108 func (x *Capability) ProtoReflect() protoreflect.Message {
109 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[0]
110 if protoimpl.UnsafeEnabled && x != nil {
111 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
112 if ms.LoadMessageInfo() == nil {
113 ms.StoreMessageInfo(mi)
114 }
115 return ms
116 }
117 return mi.MessageOf(x)
118 }
119
120
121 func (*Capability) Descriptor() ([]byte, []int) {
122 return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{0}
123 }
124
125 func (x *Capability) GetHealthCheckProtocols() []Capability_Protocol {
126 if x != nil {
127 return x.HealthCheckProtocols
128 }
129 return nil
130 }
131
132 type HealthCheckRequest struct {
133 state protoimpl.MessageState
134 sizeCache protoimpl.SizeCache
135 unknownFields protoimpl.UnknownFields
136
137 Node *core.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
138 Capability *Capability `protobuf:"bytes,2,opt,name=capability,proto3" json:"capability,omitempty"`
139 }
140
141 func (x *HealthCheckRequest) Reset() {
142 *x = HealthCheckRequest{}
143 if protoimpl.UnsafeEnabled {
144 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[1]
145 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
146 ms.StoreMessageInfo(mi)
147 }
148 }
149
150 func (x *HealthCheckRequest) String() string {
151 return protoimpl.X.MessageStringOf(x)
152 }
153
154 func (*HealthCheckRequest) ProtoMessage() {}
155
156 func (x *HealthCheckRequest) ProtoReflect() protoreflect.Message {
157 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[1]
158 if protoimpl.UnsafeEnabled && x != nil {
159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
160 if ms.LoadMessageInfo() == nil {
161 ms.StoreMessageInfo(mi)
162 }
163 return ms
164 }
165 return mi.MessageOf(x)
166 }
167
168
169 func (*HealthCheckRequest) Descriptor() ([]byte, []int) {
170 return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{1}
171 }
172
173 func (x *HealthCheckRequest) GetNode() *core.Node {
174 if x != nil {
175 return x.Node
176 }
177 return nil
178 }
179
180 func (x *HealthCheckRequest) GetCapability() *Capability {
181 if x != nil {
182 return x.Capability
183 }
184 return nil
185 }
186
187 type EndpointHealth struct {
188 state protoimpl.MessageState
189 sizeCache protoimpl.SizeCache
190 unknownFields protoimpl.UnknownFields
191
192 Endpoint *endpoint.Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
193 HealthStatus core.HealthStatus `protobuf:"varint,2,opt,name=health_status,json=healthStatus,proto3,enum=envoy.api.v2.core.HealthStatus" json:"health_status,omitempty"`
194 }
195
196 func (x *EndpointHealth) Reset() {
197 *x = EndpointHealth{}
198 if protoimpl.UnsafeEnabled {
199 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[2]
200 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
201 ms.StoreMessageInfo(mi)
202 }
203 }
204
205 func (x *EndpointHealth) String() string {
206 return protoimpl.X.MessageStringOf(x)
207 }
208
209 func (*EndpointHealth) ProtoMessage() {}
210
211 func (x *EndpointHealth) ProtoReflect() protoreflect.Message {
212 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[2]
213 if protoimpl.UnsafeEnabled && x != nil {
214 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
215 if ms.LoadMessageInfo() == nil {
216 ms.StoreMessageInfo(mi)
217 }
218 return ms
219 }
220 return mi.MessageOf(x)
221 }
222
223
224 func (*EndpointHealth) Descriptor() ([]byte, []int) {
225 return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{2}
226 }
227
228 func (x *EndpointHealth) GetEndpoint() *endpoint.Endpoint {
229 if x != nil {
230 return x.Endpoint
231 }
232 return nil
233 }
234
235 func (x *EndpointHealth) GetHealthStatus() core.HealthStatus {
236 if x != nil {
237 return x.HealthStatus
238 }
239 return core.HealthStatus(0)
240 }
241
242 type EndpointHealthResponse struct {
243 state protoimpl.MessageState
244 sizeCache protoimpl.SizeCache
245 unknownFields protoimpl.UnknownFields
246
247 EndpointsHealth []*EndpointHealth `protobuf:"bytes,1,rep,name=endpoints_health,json=endpointsHealth,proto3" json:"endpoints_health,omitempty"`
248 }
249
250 func (x *EndpointHealthResponse) Reset() {
251 *x = EndpointHealthResponse{}
252 if protoimpl.UnsafeEnabled {
253 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[3]
254 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
255 ms.StoreMessageInfo(mi)
256 }
257 }
258
259 func (x *EndpointHealthResponse) String() string {
260 return protoimpl.X.MessageStringOf(x)
261 }
262
263 func (*EndpointHealthResponse) ProtoMessage() {}
264
265 func (x *EndpointHealthResponse) ProtoReflect() protoreflect.Message {
266 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[3]
267 if protoimpl.UnsafeEnabled && x != nil {
268 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
269 if ms.LoadMessageInfo() == nil {
270 ms.StoreMessageInfo(mi)
271 }
272 return ms
273 }
274 return mi.MessageOf(x)
275 }
276
277
278 func (*EndpointHealthResponse) Descriptor() ([]byte, []int) {
279 return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{3}
280 }
281
282 func (x *EndpointHealthResponse) GetEndpointsHealth() []*EndpointHealth {
283 if x != nil {
284 return x.EndpointsHealth
285 }
286 return nil
287 }
288
289 type HealthCheckRequestOrEndpointHealthResponse struct {
290 state protoimpl.MessageState
291 sizeCache protoimpl.SizeCache
292 unknownFields protoimpl.UnknownFields
293
294
295
296
297 RequestType isHealthCheckRequestOrEndpointHealthResponse_RequestType `protobuf_oneof:"request_type"`
298 }
299
300 func (x *HealthCheckRequestOrEndpointHealthResponse) Reset() {
301 *x = HealthCheckRequestOrEndpointHealthResponse{}
302 if protoimpl.UnsafeEnabled {
303 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[4]
304 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
305 ms.StoreMessageInfo(mi)
306 }
307 }
308
309 func (x *HealthCheckRequestOrEndpointHealthResponse) String() string {
310 return protoimpl.X.MessageStringOf(x)
311 }
312
313 func (*HealthCheckRequestOrEndpointHealthResponse) ProtoMessage() {}
314
315 func (x *HealthCheckRequestOrEndpointHealthResponse) ProtoReflect() protoreflect.Message {
316 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[4]
317 if protoimpl.UnsafeEnabled && x != nil {
318 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
319 if ms.LoadMessageInfo() == nil {
320 ms.StoreMessageInfo(mi)
321 }
322 return ms
323 }
324 return mi.MessageOf(x)
325 }
326
327
328 func (*HealthCheckRequestOrEndpointHealthResponse) Descriptor() ([]byte, []int) {
329 return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{4}
330 }
331
332 func (m *HealthCheckRequestOrEndpointHealthResponse) GetRequestType() isHealthCheckRequestOrEndpointHealthResponse_RequestType {
333 if m != nil {
334 return m.RequestType
335 }
336 return nil
337 }
338
339 func (x *HealthCheckRequestOrEndpointHealthResponse) GetHealthCheckRequest() *HealthCheckRequest {
340 if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest); ok {
341 return x.HealthCheckRequest
342 }
343 return nil
344 }
345
346 func (x *HealthCheckRequestOrEndpointHealthResponse) GetEndpointHealthResponse() *EndpointHealthResponse {
347 if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse); ok {
348 return x.EndpointHealthResponse
349 }
350 return nil
351 }
352
353 type isHealthCheckRequestOrEndpointHealthResponse_RequestType interface {
354 isHealthCheckRequestOrEndpointHealthResponse_RequestType()
355 }
356
357 type HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest struct {
358 HealthCheckRequest *HealthCheckRequest `protobuf:"bytes,1,opt,name=health_check_request,json=healthCheckRequest,proto3,oneof"`
359 }
360
361 type HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse struct {
362 EndpointHealthResponse *EndpointHealthResponse `protobuf:"bytes,2,opt,name=endpoint_health_response,json=endpointHealthResponse,proto3,oneof"`
363 }
364
365 func (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest) isHealthCheckRequestOrEndpointHealthResponse_RequestType() {
366 }
367
368 func (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse) isHealthCheckRequestOrEndpointHealthResponse_RequestType() {
369 }
370
371 type LocalityEndpoints struct {
372 state protoimpl.MessageState
373 sizeCache protoimpl.SizeCache
374 unknownFields protoimpl.UnknownFields
375
376 Locality *core.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
377 Endpoints []*endpoint.Endpoint `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
378 }
379
380 func (x *LocalityEndpoints) Reset() {
381 *x = LocalityEndpoints{}
382 if protoimpl.UnsafeEnabled {
383 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[5]
384 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
385 ms.StoreMessageInfo(mi)
386 }
387 }
388
389 func (x *LocalityEndpoints) String() string {
390 return protoimpl.X.MessageStringOf(x)
391 }
392
393 func (*LocalityEndpoints) ProtoMessage() {}
394
395 func (x *LocalityEndpoints) ProtoReflect() protoreflect.Message {
396 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[5]
397 if protoimpl.UnsafeEnabled && x != nil {
398 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
399 if ms.LoadMessageInfo() == nil {
400 ms.StoreMessageInfo(mi)
401 }
402 return ms
403 }
404 return mi.MessageOf(x)
405 }
406
407
408 func (*LocalityEndpoints) Descriptor() ([]byte, []int) {
409 return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{5}
410 }
411
412 func (x *LocalityEndpoints) GetLocality() *core.Locality {
413 if x != nil {
414 return x.Locality
415 }
416 return nil
417 }
418
419 func (x *LocalityEndpoints) GetEndpoints() []*endpoint.Endpoint {
420 if x != nil {
421 return x.Endpoints
422 }
423 return nil
424 }
425
426
427
428
429
430 type ClusterHealthCheck struct {
431 state protoimpl.MessageState
432 sizeCache protoimpl.SizeCache
433 unknownFields protoimpl.UnknownFields
434
435 ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
436 HealthChecks []*core.HealthCheck `protobuf:"bytes,2,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"`
437 LocalityEndpoints []*LocalityEndpoints `protobuf:"bytes,3,rep,name=locality_endpoints,json=localityEndpoints,proto3" json:"locality_endpoints,omitempty"`
438 }
439
440 func (x *ClusterHealthCheck) Reset() {
441 *x = ClusterHealthCheck{}
442 if protoimpl.UnsafeEnabled {
443 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[6]
444 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
445 ms.StoreMessageInfo(mi)
446 }
447 }
448
449 func (x *ClusterHealthCheck) String() string {
450 return protoimpl.X.MessageStringOf(x)
451 }
452
453 func (*ClusterHealthCheck) ProtoMessage() {}
454
455 func (x *ClusterHealthCheck) ProtoReflect() protoreflect.Message {
456 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[6]
457 if protoimpl.UnsafeEnabled && x != nil {
458 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
459 if ms.LoadMessageInfo() == nil {
460 ms.StoreMessageInfo(mi)
461 }
462 return ms
463 }
464 return mi.MessageOf(x)
465 }
466
467
468 func (*ClusterHealthCheck) Descriptor() ([]byte, []int) {
469 return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{6}
470 }
471
472 func (x *ClusterHealthCheck) GetClusterName() string {
473 if x != nil {
474 return x.ClusterName
475 }
476 return ""
477 }
478
479 func (x *ClusterHealthCheck) GetHealthChecks() []*core.HealthCheck {
480 if x != nil {
481 return x.HealthChecks
482 }
483 return nil
484 }
485
486 func (x *ClusterHealthCheck) GetLocalityEndpoints() []*LocalityEndpoints {
487 if x != nil {
488 return x.LocalityEndpoints
489 }
490 return nil
491 }
492
493 type HealthCheckSpecifier struct {
494 state protoimpl.MessageState
495 sizeCache protoimpl.SizeCache
496 unknownFields protoimpl.UnknownFields
497
498 ClusterHealthChecks []*ClusterHealthCheck `protobuf:"bytes,1,rep,name=cluster_health_checks,json=clusterHealthChecks,proto3" json:"cluster_health_checks,omitempty"`
499
500 Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
501 }
502
503 func (x *HealthCheckSpecifier) Reset() {
504 *x = HealthCheckSpecifier{}
505 if protoimpl.UnsafeEnabled {
506 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[7]
507 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
508 ms.StoreMessageInfo(mi)
509 }
510 }
511
512 func (x *HealthCheckSpecifier) String() string {
513 return protoimpl.X.MessageStringOf(x)
514 }
515
516 func (*HealthCheckSpecifier) ProtoMessage() {}
517
518 func (x *HealthCheckSpecifier) ProtoReflect() protoreflect.Message {
519 mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[7]
520 if protoimpl.UnsafeEnabled && x != nil {
521 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
522 if ms.LoadMessageInfo() == nil {
523 ms.StoreMessageInfo(mi)
524 }
525 return ms
526 }
527 return mi.MessageOf(x)
528 }
529
530
531 func (*HealthCheckSpecifier) Descriptor() ([]byte, []int) {
532 return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{7}
533 }
534
535 func (x *HealthCheckSpecifier) GetClusterHealthChecks() []*ClusterHealthCheck {
536 if x != nil {
537 return x.ClusterHealthChecks
538 }
539 return nil
540 }
541
542 func (x *HealthCheckSpecifier) GetInterval() *duration.Duration {
543 if x != nil {
544 return x.Interval
545 }
546 return nil
547 }
548
549 var File_envoy_service_discovery_v2_hds_proto protoreflect.FileDescriptor
550
551 var file_envoy_service_discovery_v2_hds_proto_rawDesc = []byte{
552 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f,
553 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x64, 0x73,
554 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65,
555 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e,
556 0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32,
557 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
558 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
559 0x6f, 0x72, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b,
560 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70,
561 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x65, 0x6e,
562 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
563 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
564 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
565 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
566 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
567 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
568 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e,
569 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
570 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
571 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c,
572 0x69, 0x74, 0x79, 0x12, 0x65, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68,
573 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20,
574 0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76,
575 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
576 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x74,
577 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
578 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x28, 0x0a, 0x08, 0x50, 0x72,
579 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00,
580 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x44,
581 0x49, 0x53, 0x10, 0x02, 0x22, 0x89, 0x01, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
582 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6e,
583 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
584 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f,
585 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x61, 0x70, 0x61,
586 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65,
587 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73,
588 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69,
589 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
590 0x22, 0x93, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61,
591 0x6c, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18,
592 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
593 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e,
594 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
595 0x12, 0x44, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
596 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
597 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c,
598 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
599 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6f, 0x0a, 0x16, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
600 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
601 0x12, 0x55, 0x0a, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65,
602 0x61, 0x6c, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76,
603 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f,
604 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
605 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
606 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0x90, 0x02, 0x0a, 0x2a, 0x48, 0x65, 0x61, 0x6c,
607 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72,
608 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65,
609 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
610 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01,
611 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72,
612 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76,
613 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71,
614 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
615 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x18, 0x65, 0x6e,
616 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65,
617 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65,
618 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73,
619 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
620 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
621 0x48, 0x00, 0x52, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c,
622 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x72, 0x65,
623 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x4c,
624 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73,
625 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
626 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
627 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52,
628 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x09, 0x65, 0x6e, 0x64,
629 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65,
630 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70,
631 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x65,
632 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x12, 0x43, 0x6c, 0x75,
633 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12,
634 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
635 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61,
636 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65,
637 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
638 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65,
639 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74,
640 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
641 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20,
642 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76,
643 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
644 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
645 0x74, 0x73, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70,
646 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
647 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x62,
648 0x0a, 0x15, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
649 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
650 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69,
651 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
652 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x13, 0x63,
653 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
654 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02,
655 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
656 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
657 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x32, 0xea, 0x02, 0x0a, 0x16, 0x48, 0x65,
658 0x61, 0x6c, 0x74, 0x68, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72,
659 0x76, 0x69, 0x63, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48,
660 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x46, 0x2e, 0x65, 0x6e, 0x76,
661 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f,
662 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
663 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70,
664 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
665 0x73, 0x65, 0x1a, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
666 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
667 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69,
668 0x66, 0x69, 0x65, 0x72, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xb9, 0x01, 0x0a, 0x10, 0x46,
669 0x65, 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12,
670 0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
671 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61,
672 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f,
673 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52,
674 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
675 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
676 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
677 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02,
678 0x1c, 0x22, 0x1a, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
679 0x3a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x82, 0xd3, 0xe4,
680 0x93, 0x02, 0x03, 0x3a, 0x01, 0x2a, 0x42, 0xaf, 0x01, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e,
681 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73,
682 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
683 0x2e, 0x76, 0x32, 0x42, 0x08, 0x48, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
684 0x4d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6e, 0x76, 0x6f,
685 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x67, 0x6f, 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
686 0x6c, 0x2d, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65,
687 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f,
688 0x76, 0x32, 0x3b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x76, 0x32, 0x88, 0x01,
689 0x01, 0xf2, 0x98, 0xfe, 0x8f, 0x05, 0x19, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73,
690 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33,
691 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
692 }
693
694 var (
695 file_envoy_service_discovery_v2_hds_proto_rawDescOnce sync.Once
696 file_envoy_service_discovery_v2_hds_proto_rawDescData = file_envoy_service_discovery_v2_hds_proto_rawDesc
697 )
698
699 func file_envoy_service_discovery_v2_hds_proto_rawDescGZIP() []byte {
700 file_envoy_service_discovery_v2_hds_proto_rawDescOnce.Do(func() {
701 file_envoy_service_discovery_v2_hds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_discovery_v2_hds_proto_rawDescData)
702 })
703 return file_envoy_service_discovery_v2_hds_proto_rawDescData
704 }
705
706 var file_envoy_service_discovery_v2_hds_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
707 var file_envoy_service_discovery_v2_hds_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
708 var file_envoy_service_discovery_v2_hds_proto_goTypes = []interface{}{
709 (Capability_Protocol)(0),
710 (*Capability)(nil),
711 (*HealthCheckRequest)(nil),
712 (*EndpointHealth)(nil),
713 (*EndpointHealthResponse)(nil),
714 (*HealthCheckRequestOrEndpointHealthResponse)(nil),
715 (*LocalityEndpoints)(nil),
716 (*ClusterHealthCheck)(nil),
717 (*HealthCheckSpecifier)(nil),
718 (*core.Node)(nil),
719 (*endpoint.Endpoint)(nil),
720 (core.HealthStatus)(0),
721 (*core.Locality)(nil),
722 (*core.HealthCheck)(nil),
723 (*duration.Duration)(nil),
724 }
725 var file_envoy_service_discovery_v2_hds_proto_depIdxs = []int32{
726 0,
727 9,
728 1,
729 10,
730 11,
731 3,
732 2,
733 4,
734 12,
735 10,
736 13,
737 6,
738 7,
739 14,
740 5,
741 5,
742 8,
743 8,
744 16,
745 14,
746 14,
747 14,
748 0,
749 }
750
751 func init() { file_envoy_service_discovery_v2_hds_proto_init() }
752 func file_envoy_service_discovery_v2_hds_proto_init() {
753 if File_envoy_service_discovery_v2_hds_proto != nil {
754 return
755 }
756 if !protoimpl.UnsafeEnabled {
757 file_envoy_service_discovery_v2_hds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
758 switch v := v.(*Capability); i {
759 case 0:
760 return &v.state
761 case 1:
762 return &v.sizeCache
763 case 2:
764 return &v.unknownFields
765 default:
766 return nil
767 }
768 }
769 file_envoy_service_discovery_v2_hds_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
770 switch v := v.(*HealthCheckRequest); i {
771 case 0:
772 return &v.state
773 case 1:
774 return &v.sizeCache
775 case 2:
776 return &v.unknownFields
777 default:
778 return nil
779 }
780 }
781 file_envoy_service_discovery_v2_hds_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
782 switch v := v.(*EndpointHealth); i {
783 case 0:
784 return &v.state
785 case 1:
786 return &v.sizeCache
787 case 2:
788 return &v.unknownFields
789 default:
790 return nil
791 }
792 }
793 file_envoy_service_discovery_v2_hds_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
794 switch v := v.(*EndpointHealthResponse); i {
795 case 0:
796 return &v.state
797 case 1:
798 return &v.sizeCache
799 case 2:
800 return &v.unknownFields
801 default:
802 return nil
803 }
804 }
805 file_envoy_service_discovery_v2_hds_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
806 switch v := v.(*HealthCheckRequestOrEndpointHealthResponse); i {
807 case 0:
808 return &v.state
809 case 1:
810 return &v.sizeCache
811 case 2:
812 return &v.unknownFields
813 default:
814 return nil
815 }
816 }
817 file_envoy_service_discovery_v2_hds_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
818 switch v := v.(*LocalityEndpoints); i {
819 case 0:
820 return &v.state
821 case 1:
822 return &v.sizeCache
823 case 2:
824 return &v.unknownFields
825 default:
826 return nil
827 }
828 }
829 file_envoy_service_discovery_v2_hds_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
830 switch v := v.(*ClusterHealthCheck); i {
831 case 0:
832 return &v.state
833 case 1:
834 return &v.sizeCache
835 case 2:
836 return &v.unknownFields
837 default:
838 return nil
839 }
840 }
841 file_envoy_service_discovery_v2_hds_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
842 switch v := v.(*HealthCheckSpecifier); i {
843 case 0:
844 return &v.state
845 case 1:
846 return &v.sizeCache
847 case 2:
848 return &v.unknownFields
849 default:
850 return nil
851 }
852 }
853 }
854 file_envoy_service_discovery_v2_hds_proto_msgTypes[4].OneofWrappers = []interface{}{
855 (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest)(nil),
856 (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse)(nil),
857 }
858 type x struct{}
859 out := protoimpl.TypeBuilder{
860 File: protoimpl.DescBuilder{
861 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
862 RawDescriptor: file_envoy_service_discovery_v2_hds_proto_rawDesc,
863 NumEnums: 1,
864 NumMessages: 8,
865 NumExtensions: 0,
866 NumServices: 1,
867 },
868 GoTypes: file_envoy_service_discovery_v2_hds_proto_goTypes,
869 DependencyIndexes: file_envoy_service_discovery_v2_hds_proto_depIdxs,
870 EnumInfos: file_envoy_service_discovery_v2_hds_proto_enumTypes,
871 MessageInfos: file_envoy_service_discovery_v2_hds_proto_msgTypes,
872 }.Build()
873 File_envoy_service_discovery_v2_hds_proto = out.File
874 file_envoy_service_discovery_v2_hds_proto_rawDesc = nil
875 file_envoy_service_discovery_v2_hds_proto_goTypes = nil
876 file_envoy_service_discovery_v2_hds_proto_depIdxs = nil
877 }
878
879
880 var _ context.Context
881 var _ grpc.ClientConnInterface
882
883
884
885 const _ = grpc.SupportPackageIsVersion6
886
887
888
889
890 type HealthDiscoveryServiceClient interface {
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925 StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error)
926
927
928
929 FetchHealthCheck(ctx context.Context, in *HealthCheckRequestOrEndpointHealthResponse, opts ...grpc.CallOption) (*HealthCheckSpecifier, error)
930 }
931
932 type healthDiscoveryServiceClient struct {
933 cc grpc.ClientConnInterface
934 }
935
936 func NewHealthDiscoveryServiceClient(cc grpc.ClientConnInterface) HealthDiscoveryServiceClient {
937 return &healthDiscoveryServiceClient{cc}
938 }
939
940 func (c *healthDiscoveryServiceClient) StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error) {
941 stream, err := c.cc.NewStream(ctx, &_HealthDiscoveryService_serviceDesc.Streams[0], "/envoy.service.discovery.v2.HealthDiscoveryService/StreamHealthCheck", opts...)
942 if err != nil {
943 return nil, err
944 }
945 x := &healthDiscoveryServiceStreamHealthCheckClient{stream}
946 return x, nil
947 }
948
949 type HealthDiscoveryService_StreamHealthCheckClient interface {
950 Send(*HealthCheckRequestOrEndpointHealthResponse) error
951 Recv() (*HealthCheckSpecifier, error)
952 grpc.ClientStream
953 }
954
955 type healthDiscoveryServiceStreamHealthCheckClient struct {
956 grpc.ClientStream
957 }
958
959 func (x *healthDiscoveryServiceStreamHealthCheckClient) Send(m *HealthCheckRequestOrEndpointHealthResponse) error {
960 return x.ClientStream.SendMsg(m)
961 }
962
963 func (x *healthDiscoveryServiceStreamHealthCheckClient) Recv() (*HealthCheckSpecifier, error) {
964 m := new(HealthCheckSpecifier)
965 if err := x.ClientStream.RecvMsg(m); err != nil {
966 return nil, err
967 }
968 return m, nil
969 }
970
971 func (c *healthDiscoveryServiceClient) FetchHealthCheck(ctx context.Context, in *HealthCheckRequestOrEndpointHealthResponse, opts ...grpc.CallOption) (*HealthCheckSpecifier, error) {
972 out := new(HealthCheckSpecifier)
973 err := c.cc.Invoke(ctx, "/envoy.service.discovery.v2.HealthDiscoveryService/FetchHealthCheck", in, out, opts...)
974 if err != nil {
975 return nil, err
976 }
977 return out, nil
978 }
979
980
981 type HealthDiscoveryServiceServer interface {
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016 StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error
1017
1018
1019
1020 FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error)
1021 }
1022
1023
1024 type UnimplementedHealthDiscoveryServiceServer struct {
1025 }
1026
1027 func (*UnimplementedHealthDiscoveryServiceServer) StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error {
1028 return status.Errorf(codes.Unimplemented, "method StreamHealthCheck not implemented")
1029 }
1030 func (*UnimplementedHealthDiscoveryServiceServer) FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error) {
1031 return nil, status.Errorf(codes.Unimplemented, "method FetchHealthCheck not implemented")
1032 }
1033
1034 func RegisterHealthDiscoveryServiceServer(s *grpc.Server, srv HealthDiscoveryServiceServer) {
1035 s.RegisterService(&_HealthDiscoveryService_serviceDesc, srv)
1036 }
1037
1038 func _HealthDiscoveryService_StreamHealthCheck_Handler(srv interface{}, stream grpc.ServerStream) error {
1039 return srv.(HealthDiscoveryServiceServer).StreamHealthCheck(&healthDiscoveryServiceStreamHealthCheckServer{stream})
1040 }
1041
1042 type HealthDiscoveryService_StreamHealthCheckServer interface {
1043 Send(*HealthCheckSpecifier) error
1044 Recv() (*HealthCheckRequestOrEndpointHealthResponse, error)
1045 grpc.ServerStream
1046 }
1047
1048 type healthDiscoveryServiceStreamHealthCheckServer struct {
1049 grpc.ServerStream
1050 }
1051
1052 func (x *healthDiscoveryServiceStreamHealthCheckServer) Send(m *HealthCheckSpecifier) error {
1053 return x.ServerStream.SendMsg(m)
1054 }
1055
1056 func (x *healthDiscoveryServiceStreamHealthCheckServer) Recv() (*HealthCheckRequestOrEndpointHealthResponse, error) {
1057 m := new(HealthCheckRequestOrEndpointHealthResponse)
1058 if err := x.ServerStream.RecvMsg(m); err != nil {
1059 return nil, err
1060 }
1061 return m, nil
1062 }
1063
1064 func _HealthDiscoveryService_FetchHealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1065 in := new(HealthCheckRequestOrEndpointHealthResponse)
1066 if err := dec(in); err != nil {
1067 return nil, err
1068 }
1069 if interceptor == nil {
1070 return srv.(HealthDiscoveryServiceServer).FetchHealthCheck(ctx, in)
1071 }
1072 info := &grpc.UnaryServerInfo{
1073 Server: srv,
1074 FullMethod: "/envoy.service.discovery.v2.HealthDiscoveryService/FetchHealthCheck",
1075 }
1076 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1077 return srv.(HealthDiscoveryServiceServer).FetchHealthCheck(ctx, req.(*HealthCheckRequestOrEndpointHealthResponse))
1078 }
1079 return interceptor(ctx, in, info, handler)
1080 }
1081
1082 var _HealthDiscoveryService_serviceDesc = grpc.ServiceDesc{
1083 ServiceName: "envoy.service.discovery.v2.HealthDiscoveryService",
1084 HandlerType: (*HealthDiscoveryServiceServer)(nil),
1085 Methods: []grpc.MethodDesc{
1086 {
1087 MethodName: "FetchHealthCheck",
1088 Handler: _HealthDiscoveryService_FetchHealthCheck_Handler,
1089 },
1090 },
1091 Streams: []grpc.StreamDesc{
1092 {
1093 StreamName: "StreamHealthCheck",
1094 Handler: _HealthDiscoveryService_StreamHealthCheck_Handler,
1095 ServerStreams: true,
1096 ClientStreams: true,
1097 },
1098 },
1099 Metadata: "envoy/service/discovery/v2/hds.proto",
1100 }
1101
View as plain text