...

Source file src/github.com/datawire/ambassador/v2/pkg/api/envoy/service/health/v3/hds.pb.go

Documentation: github.com/datawire/ambassador/v2/pkg/api/envoy/service/health/v3

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.14.0
     5  // source: envoy/service/health/v3/hds.proto
     6  
     7  package envoy_service_health_v3
     8  
     9  import (
    10  	context "context"
    11  	_ "github.com/cncf/udpa/go/udpa/annotations"
    12  	v32 "github.com/datawire/ambassador/v2/pkg/api/envoy/config/cluster/v3"
    13  	v3 "github.com/datawire/ambassador/v2/pkg/api/envoy/config/core/v3"
    14  	v31 "github.com/datawire/ambassador/v2/pkg/api/envoy/config/endpoint/v3"
    15  	proto "github.com/golang/protobuf/proto"
    16  	duration "github.com/golang/protobuf/ptypes/duration"
    17  	_ "google.golang.org/genproto/googleapis/api/annotations"
    18  	grpc "google.golang.org/grpc"
    19  	codes "google.golang.org/grpc/codes"
    20  	status "google.golang.org/grpc/status"
    21  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    22  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    23  	reflect "reflect"
    24  	sync "sync"
    25  )
    26  
    27  const (
    28  	// Verify that this generated code is sufficiently up-to-date.
    29  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    30  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    31  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    32  )
    33  
    34  // This is a compile-time assertion that a sufficiently up-to-date version
    35  // of the legacy proto package is being used.
    36  const _ = proto.ProtoPackageIsVersion4
    37  
    38  // Different Envoy instances may have different capabilities (e.g. Redis)
    39  // and/or have ports enabled for different protocols.
    40  type Capability_Protocol int32
    41  
    42  const (
    43  	Capability_HTTP  Capability_Protocol = 0
    44  	Capability_TCP   Capability_Protocol = 1
    45  	Capability_REDIS Capability_Protocol = 2
    46  )
    47  
    48  // Enum value maps for Capability_Protocol.
    49  var (
    50  	Capability_Protocol_name = map[int32]string{
    51  		0: "HTTP",
    52  		1: "TCP",
    53  		2: "REDIS",
    54  	}
    55  	Capability_Protocol_value = map[string]int32{
    56  		"HTTP":  0,
    57  		"TCP":   1,
    58  		"REDIS": 2,
    59  	}
    60  )
    61  
    62  func (x Capability_Protocol) Enum() *Capability_Protocol {
    63  	p := new(Capability_Protocol)
    64  	*p = x
    65  	return p
    66  }
    67  
    68  func (x Capability_Protocol) String() string {
    69  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    70  }
    71  
    72  func (Capability_Protocol) Descriptor() protoreflect.EnumDescriptor {
    73  	return file_envoy_service_health_v3_hds_proto_enumTypes[0].Descriptor()
    74  }
    75  
    76  func (Capability_Protocol) Type() protoreflect.EnumType {
    77  	return &file_envoy_service_health_v3_hds_proto_enumTypes[0]
    78  }
    79  
    80  func (x Capability_Protocol) Number() protoreflect.EnumNumber {
    81  	return protoreflect.EnumNumber(x)
    82  }
    83  
    84  // Deprecated: Use Capability_Protocol.Descriptor instead.
    85  func (Capability_Protocol) EnumDescriptor() ([]byte, []int) {
    86  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{0, 0}
    87  }
    88  
    89  // Defines supported protocols etc, so the management server can assign proper
    90  // endpoints to healthcheck.
    91  type Capability struct {
    92  	state         protoimpl.MessageState
    93  	sizeCache     protoimpl.SizeCache
    94  	unknownFields protoimpl.UnknownFields
    95  
    96  	HealthCheckProtocols []Capability_Protocol `protobuf:"varint,1,rep,packed,name=health_check_protocols,json=healthCheckProtocols,proto3,enum=envoy.service.health.v3.Capability_Protocol" json:"health_check_protocols,omitempty"`
    97  }
    98  
    99  func (x *Capability) Reset() {
   100  	*x = Capability{}
   101  	if protoimpl.UnsafeEnabled {
   102  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[0]
   103  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   104  		ms.StoreMessageInfo(mi)
   105  	}
   106  }
   107  
   108  func (x *Capability) String() string {
   109  	return protoimpl.X.MessageStringOf(x)
   110  }
   111  
   112  func (*Capability) ProtoMessage() {}
   113  
   114  func (x *Capability) ProtoReflect() protoreflect.Message {
   115  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[0]
   116  	if protoimpl.UnsafeEnabled && x != nil {
   117  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   118  		if ms.LoadMessageInfo() == nil {
   119  			ms.StoreMessageInfo(mi)
   120  		}
   121  		return ms
   122  	}
   123  	return mi.MessageOf(x)
   124  }
   125  
   126  // Deprecated: Use Capability.ProtoReflect.Descriptor instead.
   127  func (*Capability) Descriptor() ([]byte, []int) {
   128  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{0}
   129  }
   130  
   131  func (x *Capability) GetHealthCheckProtocols() []Capability_Protocol {
   132  	if x != nil {
   133  		return x.HealthCheckProtocols
   134  	}
   135  	return nil
   136  }
   137  
   138  type HealthCheckRequest struct {
   139  	state         protoimpl.MessageState
   140  	sizeCache     protoimpl.SizeCache
   141  	unknownFields protoimpl.UnknownFields
   142  
   143  	Node       *v3.Node    `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
   144  	Capability *Capability `protobuf:"bytes,2,opt,name=capability,proto3" json:"capability,omitempty"`
   145  }
   146  
   147  func (x *HealthCheckRequest) Reset() {
   148  	*x = HealthCheckRequest{}
   149  	if protoimpl.UnsafeEnabled {
   150  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[1]
   151  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   152  		ms.StoreMessageInfo(mi)
   153  	}
   154  }
   155  
   156  func (x *HealthCheckRequest) String() string {
   157  	return protoimpl.X.MessageStringOf(x)
   158  }
   159  
   160  func (*HealthCheckRequest) ProtoMessage() {}
   161  
   162  func (x *HealthCheckRequest) ProtoReflect() protoreflect.Message {
   163  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[1]
   164  	if protoimpl.UnsafeEnabled && x != nil {
   165  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   166  		if ms.LoadMessageInfo() == nil {
   167  			ms.StoreMessageInfo(mi)
   168  		}
   169  		return ms
   170  	}
   171  	return mi.MessageOf(x)
   172  }
   173  
   174  // Deprecated: Use HealthCheckRequest.ProtoReflect.Descriptor instead.
   175  func (*HealthCheckRequest) Descriptor() ([]byte, []int) {
   176  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{1}
   177  }
   178  
   179  func (x *HealthCheckRequest) GetNode() *v3.Node {
   180  	if x != nil {
   181  		return x.Node
   182  	}
   183  	return nil
   184  }
   185  
   186  func (x *HealthCheckRequest) GetCapability() *Capability {
   187  	if x != nil {
   188  		return x.Capability
   189  	}
   190  	return nil
   191  }
   192  
   193  type EndpointHealth struct {
   194  	state         protoimpl.MessageState
   195  	sizeCache     protoimpl.SizeCache
   196  	unknownFields protoimpl.UnknownFields
   197  
   198  	Endpoint     *v31.Endpoint   `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   199  	HealthStatus v3.HealthStatus `protobuf:"varint,2,opt,name=health_status,json=healthStatus,proto3,enum=envoy.config.core.v3.HealthStatus" json:"health_status,omitempty"`
   200  }
   201  
   202  func (x *EndpointHealth) Reset() {
   203  	*x = EndpointHealth{}
   204  	if protoimpl.UnsafeEnabled {
   205  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[2]
   206  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   207  		ms.StoreMessageInfo(mi)
   208  	}
   209  }
   210  
   211  func (x *EndpointHealth) String() string {
   212  	return protoimpl.X.MessageStringOf(x)
   213  }
   214  
   215  func (*EndpointHealth) ProtoMessage() {}
   216  
   217  func (x *EndpointHealth) ProtoReflect() protoreflect.Message {
   218  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[2]
   219  	if protoimpl.UnsafeEnabled && x != nil {
   220  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   221  		if ms.LoadMessageInfo() == nil {
   222  			ms.StoreMessageInfo(mi)
   223  		}
   224  		return ms
   225  	}
   226  	return mi.MessageOf(x)
   227  }
   228  
   229  // Deprecated: Use EndpointHealth.ProtoReflect.Descriptor instead.
   230  func (*EndpointHealth) Descriptor() ([]byte, []int) {
   231  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{2}
   232  }
   233  
   234  func (x *EndpointHealth) GetEndpoint() *v31.Endpoint {
   235  	if x != nil {
   236  		return x.Endpoint
   237  	}
   238  	return nil
   239  }
   240  
   241  func (x *EndpointHealth) GetHealthStatus() v3.HealthStatus {
   242  	if x != nil {
   243  		return x.HealthStatus
   244  	}
   245  	return v3.HealthStatus_UNKNOWN
   246  }
   247  
   248  // Group endpoint health by locality under each cluster.
   249  type LocalityEndpointsHealth struct {
   250  	state         protoimpl.MessageState
   251  	sizeCache     protoimpl.SizeCache
   252  	unknownFields protoimpl.UnknownFields
   253  
   254  	Locality        *v3.Locality      `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
   255  	EndpointsHealth []*EndpointHealth `protobuf:"bytes,2,rep,name=endpoints_health,json=endpointsHealth,proto3" json:"endpoints_health,omitempty"`
   256  }
   257  
   258  func (x *LocalityEndpointsHealth) Reset() {
   259  	*x = LocalityEndpointsHealth{}
   260  	if protoimpl.UnsafeEnabled {
   261  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[3]
   262  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   263  		ms.StoreMessageInfo(mi)
   264  	}
   265  }
   266  
   267  func (x *LocalityEndpointsHealth) String() string {
   268  	return protoimpl.X.MessageStringOf(x)
   269  }
   270  
   271  func (*LocalityEndpointsHealth) ProtoMessage() {}
   272  
   273  func (x *LocalityEndpointsHealth) ProtoReflect() protoreflect.Message {
   274  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[3]
   275  	if protoimpl.UnsafeEnabled && x != nil {
   276  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   277  		if ms.LoadMessageInfo() == nil {
   278  			ms.StoreMessageInfo(mi)
   279  		}
   280  		return ms
   281  	}
   282  	return mi.MessageOf(x)
   283  }
   284  
   285  // Deprecated: Use LocalityEndpointsHealth.ProtoReflect.Descriptor instead.
   286  func (*LocalityEndpointsHealth) Descriptor() ([]byte, []int) {
   287  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{3}
   288  }
   289  
   290  func (x *LocalityEndpointsHealth) GetLocality() *v3.Locality {
   291  	if x != nil {
   292  		return x.Locality
   293  	}
   294  	return nil
   295  }
   296  
   297  func (x *LocalityEndpointsHealth) GetEndpointsHealth() []*EndpointHealth {
   298  	if x != nil {
   299  		return x.EndpointsHealth
   300  	}
   301  	return nil
   302  }
   303  
   304  // The health status of endpoints in a cluster. The cluster name and locality
   305  // should match the corresponding fields in ClusterHealthCheck message.
   306  type ClusterEndpointsHealth struct {
   307  	state         protoimpl.MessageState
   308  	sizeCache     protoimpl.SizeCache
   309  	unknownFields protoimpl.UnknownFields
   310  
   311  	ClusterName             string                     `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
   312  	LocalityEndpointsHealth []*LocalityEndpointsHealth `protobuf:"bytes,2,rep,name=locality_endpoints_health,json=localityEndpointsHealth,proto3" json:"locality_endpoints_health,omitempty"`
   313  }
   314  
   315  func (x *ClusterEndpointsHealth) Reset() {
   316  	*x = ClusterEndpointsHealth{}
   317  	if protoimpl.UnsafeEnabled {
   318  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[4]
   319  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   320  		ms.StoreMessageInfo(mi)
   321  	}
   322  }
   323  
   324  func (x *ClusterEndpointsHealth) String() string {
   325  	return protoimpl.X.MessageStringOf(x)
   326  }
   327  
   328  func (*ClusterEndpointsHealth) ProtoMessage() {}
   329  
   330  func (x *ClusterEndpointsHealth) ProtoReflect() protoreflect.Message {
   331  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[4]
   332  	if protoimpl.UnsafeEnabled && x != nil {
   333  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   334  		if ms.LoadMessageInfo() == nil {
   335  			ms.StoreMessageInfo(mi)
   336  		}
   337  		return ms
   338  	}
   339  	return mi.MessageOf(x)
   340  }
   341  
   342  // Deprecated: Use ClusterEndpointsHealth.ProtoReflect.Descriptor instead.
   343  func (*ClusterEndpointsHealth) Descriptor() ([]byte, []int) {
   344  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{4}
   345  }
   346  
   347  func (x *ClusterEndpointsHealth) GetClusterName() string {
   348  	if x != nil {
   349  		return x.ClusterName
   350  	}
   351  	return ""
   352  }
   353  
   354  func (x *ClusterEndpointsHealth) GetLocalityEndpointsHealth() []*LocalityEndpointsHealth {
   355  	if x != nil {
   356  		return x.LocalityEndpointsHealth
   357  	}
   358  	return nil
   359  }
   360  
   361  type EndpointHealthResponse struct {
   362  	state         protoimpl.MessageState
   363  	sizeCache     protoimpl.SizeCache
   364  	unknownFields protoimpl.UnknownFields
   365  
   366  	// Deprecated - Flat list of endpoint health information.
   367  	//
   368  	// Deprecated: Do not use.
   369  	EndpointsHealth []*EndpointHealth `protobuf:"bytes,1,rep,name=endpoints_health,json=endpointsHealth,proto3" json:"endpoints_health,omitempty"`
   370  	// Organize Endpoint health information by cluster.
   371  	ClusterEndpointsHealth []*ClusterEndpointsHealth `protobuf:"bytes,2,rep,name=cluster_endpoints_health,json=clusterEndpointsHealth,proto3" json:"cluster_endpoints_health,omitempty"`
   372  }
   373  
   374  func (x *EndpointHealthResponse) Reset() {
   375  	*x = EndpointHealthResponse{}
   376  	if protoimpl.UnsafeEnabled {
   377  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[5]
   378  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   379  		ms.StoreMessageInfo(mi)
   380  	}
   381  }
   382  
   383  func (x *EndpointHealthResponse) String() string {
   384  	return protoimpl.X.MessageStringOf(x)
   385  }
   386  
   387  func (*EndpointHealthResponse) ProtoMessage() {}
   388  
   389  func (x *EndpointHealthResponse) ProtoReflect() protoreflect.Message {
   390  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[5]
   391  	if protoimpl.UnsafeEnabled && x != nil {
   392  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   393  		if ms.LoadMessageInfo() == nil {
   394  			ms.StoreMessageInfo(mi)
   395  		}
   396  		return ms
   397  	}
   398  	return mi.MessageOf(x)
   399  }
   400  
   401  // Deprecated: Use EndpointHealthResponse.ProtoReflect.Descriptor instead.
   402  func (*EndpointHealthResponse) Descriptor() ([]byte, []int) {
   403  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{5}
   404  }
   405  
   406  // Deprecated: Do not use.
   407  func (x *EndpointHealthResponse) GetEndpointsHealth() []*EndpointHealth {
   408  	if x != nil {
   409  		return x.EndpointsHealth
   410  	}
   411  	return nil
   412  }
   413  
   414  func (x *EndpointHealthResponse) GetClusterEndpointsHealth() []*ClusterEndpointsHealth {
   415  	if x != nil {
   416  		return x.ClusterEndpointsHealth
   417  	}
   418  	return nil
   419  }
   420  
   421  type HealthCheckRequestOrEndpointHealthResponse struct {
   422  	state         protoimpl.MessageState
   423  	sizeCache     protoimpl.SizeCache
   424  	unknownFields protoimpl.UnknownFields
   425  
   426  	// Types that are assignable to RequestType:
   427  	//	*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest
   428  	//	*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse
   429  	RequestType isHealthCheckRequestOrEndpointHealthResponse_RequestType `protobuf_oneof:"request_type"`
   430  }
   431  
   432  func (x *HealthCheckRequestOrEndpointHealthResponse) Reset() {
   433  	*x = HealthCheckRequestOrEndpointHealthResponse{}
   434  	if protoimpl.UnsafeEnabled {
   435  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[6]
   436  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   437  		ms.StoreMessageInfo(mi)
   438  	}
   439  }
   440  
   441  func (x *HealthCheckRequestOrEndpointHealthResponse) String() string {
   442  	return protoimpl.X.MessageStringOf(x)
   443  }
   444  
   445  func (*HealthCheckRequestOrEndpointHealthResponse) ProtoMessage() {}
   446  
   447  func (x *HealthCheckRequestOrEndpointHealthResponse) ProtoReflect() protoreflect.Message {
   448  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[6]
   449  	if protoimpl.UnsafeEnabled && x != nil {
   450  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   451  		if ms.LoadMessageInfo() == nil {
   452  			ms.StoreMessageInfo(mi)
   453  		}
   454  		return ms
   455  	}
   456  	return mi.MessageOf(x)
   457  }
   458  
   459  // Deprecated: Use HealthCheckRequestOrEndpointHealthResponse.ProtoReflect.Descriptor instead.
   460  func (*HealthCheckRequestOrEndpointHealthResponse) Descriptor() ([]byte, []int) {
   461  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{6}
   462  }
   463  
   464  func (m *HealthCheckRequestOrEndpointHealthResponse) GetRequestType() isHealthCheckRequestOrEndpointHealthResponse_RequestType {
   465  	if m != nil {
   466  		return m.RequestType
   467  	}
   468  	return nil
   469  }
   470  
   471  func (x *HealthCheckRequestOrEndpointHealthResponse) GetHealthCheckRequest() *HealthCheckRequest {
   472  	if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest); ok {
   473  		return x.HealthCheckRequest
   474  	}
   475  	return nil
   476  }
   477  
   478  func (x *HealthCheckRequestOrEndpointHealthResponse) GetEndpointHealthResponse() *EndpointHealthResponse {
   479  	if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse); ok {
   480  		return x.EndpointHealthResponse
   481  	}
   482  	return nil
   483  }
   484  
   485  type isHealthCheckRequestOrEndpointHealthResponse_RequestType interface {
   486  	isHealthCheckRequestOrEndpointHealthResponse_RequestType()
   487  }
   488  
   489  type HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest struct {
   490  	HealthCheckRequest *HealthCheckRequest `protobuf:"bytes,1,opt,name=health_check_request,json=healthCheckRequest,proto3,oneof"`
   491  }
   492  
   493  type HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse struct {
   494  	EndpointHealthResponse *EndpointHealthResponse `protobuf:"bytes,2,opt,name=endpoint_health_response,json=endpointHealthResponse,proto3,oneof"`
   495  }
   496  
   497  func (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest) isHealthCheckRequestOrEndpointHealthResponse_RequestType() {
   498  }
   499  
   500  func (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse) isHealthCheckRequestOrEndpointHealthResponse_RequestType() {
   501  }
   502  
   503  type LocalityEndpoints struct {
   504  	state         protoimpl.MessageState
   505  	sizeCache     protoimpl.SizeCache
   506  	unknownFields protoimpl.UnknownFields
   507  
   508  	Locality  *v3.Locality    `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
   509  	Endpoints []*v31.Endpoint `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
   510  }
   511  
   512  func (x *LocalityEndpoints) Reset() {
   513  	*x = LocalityEndpoints{}
   514  	if protoimpl.UnsafeEnabled {
   515  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[7]
   516  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   517  		ms.StoreMessageInfo(mi)
   518  	}
   519  }
   520  
   521  func (x *LocalityEndpoints) String() string {
   522  	return protoimpl.X.MessageStringOf(x)
   523  }
   524  
   525  func (*LocalityEndpoints) ProtoMessage() {}
   526  
   527  func (x *LocalityEndpoints) ProtoReflect() protoreflect.Message {
   528  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[7]
   529  	if protoimpl.UnsafeEnabled && x != nil {
   530  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   531  		if ms.LoadMessageInfo() == nil {
   532  			ms.StoreMessageInfo(mi)
   533  		}
   534  		return ms
   535  	}
   536  	return mi.MessageOf(x)
   537  }
   538  
   539  // Deprecated: Use LocalityEndpoints.ProtoReflect.Descriptor instead.
   540  func (*LocalityEndpoints) Descriptor() ([]byte, []int) {
   541  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{7}
   542  }
   543  
   544  func (x *LocalityEndpoints) GetLocality() *v3.Locality {
   545  	if x != nil {
   546  		return x.Locality
   547  	}
   548  	return nil
   549  }
   550  
   551  func (x *LocalityEndpoints) GetEndpoints() []*v31.Endpoint {
   552  	if x != nil {
   553  		return x.Endpoints
   554  	}
   555  	return nil
   556  }
   557  
   558  // The cluster name and locality is provided to Envoy for the endpoints that it
   559  // health checks to support statistics reporting, logging and debugging by the
   560  // Envoy instance (outside of HDS). For maximum usefulness, it should match the
   561  // same cluster structure as that provided by EDS.
   562  type ClusterHealthCheck struct {
   563  	state         protoimpl.MessageState
   564  	sizeCache     protoimpl.SizeCache
   565  	unknownFields protoimpl.UnknownFields
   566  
   567  	ClusterName       string               `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
   568  	HealthChecks      []*v3.HealthCheck    `protobuf:"bytes,2,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"`
   569  	LocalityEndpoints []*LocalityEndpoints `protobuf:"bytes,3,rep,name=locality_endpoints,json=localityEndpoints,proto3" json:"locality_endpoints,omitempty"`
   570  	// Optional map that gets filtered by :ref:`health_checks.transport_socket_match_criteria <envoy_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>`
   571  	// on connection when health checking. For more details, see
   572  	// :ref:`config.cluster.v3.Cluster.transport_socket_matches <envoy_api_field_config.cluster.v3.Cluster.transport_socket_matches>`.
   573  	TransportSocketMatches []*v32.Cluster_TransportSocketMatch `protobuf:"bytes,4,rep,name=transport_socket_matches,json=transportSocketMatches,proto3" json:"transport_socket_matches,omitempty"`
   574  }
   575  
   576  func (x *ClusterHealthCheck) Reset() {
   577  	*x = ClusterHealthCheck{}
   578  	if protoimpl.UnsafeEnabled {
   579  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[8]
   580  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   581  		ms.StoreMessageInfo(mi)
   582  	}
   583  }
   584  
   585  func (x *ClusterHealthCheck) String() string {
   586  	return protoimpl.X.MessageStringOf(x)
   587  }
   588  
   589  func (*ClusterHealthCheck) ProtoMessage() {}
   590  
   591  func (x *ClusterHealthCheck) ProtoReflect() protoreflect.Message {
   592  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[8]
   593  	if protoimpl.UnsafeEnabled && x != nil {
   594  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   595  		if ms.LoadMessageInfo() == nil {
   596  			ms.StoreMessageInfo(mi)
   597  		}
   598  		return ms
   599  	}
   600  	return mi.MessageOf(x)
   601  }
   602  
   603  // Deprecated: Use ClusterHealthCheck.ProtoReflect.Descriptor instead.
   604  func (*ClusterHealthCheck) Descriptor() ([]byte, []int) {
   605  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{8}
   606  }
   607  
   608  func (x *ClusterHealthCheck) GetClusterName() string {
   609  	if x != nil {
   610  		return x.ClusterName
   611  	}
   612  	return ""
   613  }
   614  
   615  func (x *ClusterHealthCheck) GetHealthChecks() []*v3.HealthCheck {
   616  	if x != nil {
   617  		return x.HealthChecks
   618  	}
   619  	return nil
   620  }
   621  
   622  func (x *ClusterHealthCheck) GetLocalityEndpoints() []*LocalityEndpoints {
   623  	if x != nil {
   624  		return x.LocalityEndpoints
   625  	}
   626  	return nil
   627  }
   628  
   629  func (x *ClusterHealthCheck) GetTransportSocketMatches() []*v32.Cluster_TransportSocketMatch {
   630  	if x != nil {
   631  		return x.TransportSocketMatches
   632  	}
   633  	return nil
   634  }
   635  
   636  type HealthCheckSpecifier struct {
   637  	state         protoimpl.MessageState
   638  	sizeCache     protoimpl.SizeCache
   639  	unknownFields protoimpl.UnknownFields
   640  
   641  	ClusterHealthChecks []*ClusterHealthCheck `protobuf:"bytes,1,rep,name=cluster_health_checks,json=clusterHealthChecks,proto3" json:"cluster_health_checks,omitempty"`
   642  	// The default is 1 second.
   643  	Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
   644  }
   645  
   646  func (x *HealthCheckSpecifier) Reset() {
   647  	*x = HealthCheckSpecifier{}
   648  	if protoimpl.UnsafeEnabled {
   649  		mi := &file_envoy_service_health_v3_hds_proto_msgTypes[9]
   650  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   651  		ms.StoreMessageInfo(mi)
   652  	}
   653  }
   654  
   655  func (x *HealthCheckSpecifier) String() string {
   656  	return protoimpl.X.MessageStringOf(x)
   657  }
   658  
   659  func (*HealthCheckSpecifier) ProtoMessage() {}
   660  
   661  func (x *HealthCheckSpecifier) ProtoReflect() protoreflect.Message {
   662  	mi := &file_envoy_service_health_v3_hds_proto_msgTypes[9]
   663  	if protoimpl.UnsafeEnabled && x != nil {
   664  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   665  		if ms.LoadMessageInfo() == nil {
   666  			ms.StoreMessageInfo(mi)
   667  		}
   668  		return ms
   669  	}
   670  	return mi.MessageOf(x)
   671  }
   672  
   673  // Deprecated: Use HealthCheckSpecifier.ProtoReflect.Descriptor instead.
   674  func (*HealthCheckSpecifier) Descriptor() ([]byte, []int) {
   675  	return file_envoy_service_health_v3_hds_proto_rawDescGZIP(), []int{9}
   676  }
   677  
   678  func (x *HealthCheckSpecifier) GetClusterHealthChecks() []*ClusterHealthCheck {
   679  	if x != nil {
   680  		return x.ClusterHealthChecks
   681  	}
   682  	return nil
   683  }
   684  
   685  func (x *HealthCheckSpecifier) GetInterval() *duration.Duration {
   686  	if x != nil {
   687  		return x.Interval
   688  	}
   689  	return nil
   690  }
   691  
   692  var File_envoy_service_health_v3_hds_proto protoreflect.FileDescriptor
   693  
   694  var file_envoy_service_health_v3_hds_proto_rawDesc = []byte{
   695  	0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f,
   696  	0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x64, 0x73, 0x2e, 0x70, 0x72,
   697  	0x6f, 0x74, 0x6f, 0x12, 0x17, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
   698  	0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x1a, 0x25, 0x65, 0x6e,
   699  	0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74,
   700  	0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72,
   701  	0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
   702  	0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70,
   703  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66,
   704  	0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74,
   705  	0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x65,
   706  	0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x65, 0x6e, 0x64, 0x70,
   707  	0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
   708  	0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   709  	0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e,
   710  	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   711  	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   712  	0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   713  	0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   714  	0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   715  	0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   716  	0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21,
   717  	0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
   718  	0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   719  	0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
   720  	0x12, 0x62, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b,
   721  	0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e,
   722  	0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
   723  	0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62,
   724  	0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x14,
   725  	0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f,
   726  	0x63, 0x6f, 0x6c, 0x73, 0x22, 0x28, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
   727  	0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43,
   728  	0x50, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x44, 0x49, 0x53, 0x10, 0x02, 0x3a, 0x2c,
   729  	0x9a, 0xc5, 0x88, 0x1e, 0x27, 0x0a, 0x25, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72,
   730  	0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76,
   731  	0x32, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xbf, 0x01, 0x0a,
   732  	0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
   733  	0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
   734  	0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
   735  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e,
   736  	0x6f, 0x64, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
   737  	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
   738  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76,
   739  	0x33, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x63, 0x61,
   740  	0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x3a, 0x34, 0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a,
   741  	0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64,
   742  	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c,
   743  	0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xcb,
   744  	0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74,
   745  	0x68, 0x12, 0x3e, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20,
   746  	0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
   747  	0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45,
   748  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
   749  	0x74, 0x12, 0x47, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74,
   750  	0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   751  	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
   752  	0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65,
   753  	0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x30, 0x9a, 0xc5, 0x88, 0x1e,
   754  	0x2b, 0x0a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
   755  	0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e,
   756  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xa9, 0x01, 0x0a,
   757  	0x17, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
   758  	0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61,
   759  	0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76,
   760  	0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
   761  	0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
   762  	0x6c, 0x69, 0x74, 0x79, 0x12, 0x52, 0x0a, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
   763  	0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27,
   764  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68,
   765  	0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
   766  	0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
   767  	0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xa9, 0x01, 0x0a, 0x16, 0x43, 0x6c, 0x75,
   768  	0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61,
   769  	0x6c, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e,
   770  	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74,
   771  	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x6c, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
   772  	0x74, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61,
   773  	0x6c, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   774  	0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
   775  	0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70,
   776  	0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x17, 0x6c, 0x6f, 0x63,
   777  	0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65,
   778  	0x61, 0x6c, 0x74, 0x68, 0x22, 0x95, 0x02, 0x0a, 0x16, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
   779  	0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
   780  	0x56, 0x0a, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61,
   781  	0x6c, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   782  	0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
   783  	0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c,
   784  	0x74, 0x68, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
   785  	0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x69, 0x0a, 0x18, 0x63, 0x6c, 0x75, 0x73, 0x74,
   786  	0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65, 0x61,
   787  	0x6c, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   788  	0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
   789  	0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f,
   790  	0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x16, 0x63, 0x6c, 0x75, 0x73,
   791  	0x74, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c,
   792  	0x74, 0x68, 0x3a, 0x38, 0x9a, 0xc5, 0x88, 0x1e, 0x33, 0x0a, 0x31, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   793  	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
   794  	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65,
   795  	0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd8, 0x02, 0x0a,
   796  	0x2a, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
   797  	0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61,
   798  	0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x14, 0x68,
   799  	0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75,
   800  	0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   801  	0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
   802  	0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
   803  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
   804  	0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x18,
   805  	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f,
   806  	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
   807  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68,
   808  	0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
   809  	0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48,
   810  	0x00, 0x52, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74,
   811  	0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a, 0x4c, 0x9a, 0xc5, 0x88, 0x1e, 0x47,
   812  	0x0a, 0x45, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
   813  	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61,
   814  	0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f,
   815  	0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52,
   816  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65,
   817  	0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc6, 0x01, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x61,
   818  	0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x0a,
   819  	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
   820  	0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
   821  	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52,
   822  	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x09, 0x65, 0x6e, 0x64,
   823  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65,
   824  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x65, 0x6e, 0x64, 0x70,
   825  	0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
   826  	0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x3a, 0x33, 0x9a, 0xc5, 0x88,
   827  	0x1e, 0x2e, 0x0a, 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
   828  	0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4c,
   829  	0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73,
   830  	0x22, 0x81, 0x03, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c,
   831  	0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74,
   832  	0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63,
   833  	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x68, 0x65,
   834  	0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
   835  	0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
   836  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
   837  	0x68, 0x65, 0x63, 0x6b, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
   838  	0x6b, 0x73, 0x12, 0x59, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65,
   839  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a,
   840  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68,
   841  	0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74,
   842  	0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61,
   843  	0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a,
   844  	0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65,
   845  	0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
   846  	0x35, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
   847  	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
   848  	0x72, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65,
   849  	0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x16, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72,
   850  	0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x3a, 0x34,
   851  	0x9a, 0xc5, 0x88, 0x1e, 0x2f, 0x0a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72,
   852  	0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76,
   853  	0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
   854  	0x68, 0x65, 0x63, 0x6b, 0x22, 0xe6, 0x01, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
   855  	0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x5f, 0x0a,
   856  	0x15, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f,
   857  	0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x65,
   858  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61,
   859  	0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65,
   860  	0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74,
   861  	0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x35,
   862  	0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
   863  	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   864  	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74,
   865  	0x65, 0x72, 0x76, 0x61, 0x6c, 0x3a, 0x36, 0x9a, 0xc5, 0x88, 0x1e, 0x31, 0x0a, 0x2f, 0x65, 0x6e,
   866  	0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63,
   867  	0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
   868  	0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x32, 0xde, 0x02,
   869  	0x0a, 0x16, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
   870  	0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72,
   871  	0x65, 0x61, 0x6d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x43,
   872  	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68,
   873  	0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
   874  	0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64,
   875  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f,
   876  	0x6e, 0x73, 0x65, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76,
   877  	0x69, 0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65,
   878  	0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69,
   879  	0x65, 0x72, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xb3, 0x01, 0x0a, 0x10, 0x46, 0x65, 0x74,
   880  	0x63, 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x43, 0x2e,
   881  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65,
   882  	0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
   883  	0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70,
   884  	0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
   885  	0x73, 0x65, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
   886  	0x63, 0x65, 0x2e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61,
   887  	0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
   888  	0x72, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x1a, 0x2f, 0x76, 0x33, 0x2f, 0x64,
   889  	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x3a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f,
   890  	0x63, 0x68, 0x65, 0x63, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x03, 0x3a, 0x01, 0x2a, 0x42, 0x3e,
   891  	0x0a, 0x25, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e,
   892  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x68, 0x65,
   893  	0x61, 0x6c, 0x74, 0x68, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x48, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74,
   894  	0x6f, 0x50, 0x01, 0x88, 0x01, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06,
   895  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   896  }
   897  
   898  var (
   899  	file_envoy_service_health_v3_hds_proto_rawDescOnce sync.Once
   900  	file_envoy_service_health_v3_hds_proto_rawDescData = file_envoy_service_health_v3_hds_proto_rawDesc
   901  )
   902  
   903  func file_envoy_service_health_v3_hds_proto_rawDescGZIP() []byte {
   904  	file_envoy_service_health_v3_hds_proto_rawDescOnce.Do(func() {
   905  		file_envoy_service_health_v3_hds_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_health_v3_hds_proto_rawDescData)
   906  	})
   907  	return file_envoy_service_health_v3_hds_proto_rawDescData
   908  }
   909  
   910  var file_envoy_service_health_v3_hds_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   911  var file_envoy_service_health_v3_hds_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
   912  var file_envoy_service_health_v3_hds_proto_goTypes = []interface{}{
   913  	(Capability_Protocol)(0),                           // 0: envoy.service.health.v3.Capability.Protocol
   914  	(*Capability)(nil),                                 // 1: envoy.service.health.v3.Capability
   915  	(*HealthCheckRequest)(nil),                         // 2: envoy.service.health.v3.HealthCheckRequest
   916  	(*EndpointHealth)(nil),                             // 3: envoy.service.health.v3.EndpointHealth
   917  	(*LocalityEndpointsHealth)(nil),                    // 4: envoy.service.health.v3.LocalityEndpointsHealth
   918  	(*ClusterEndpointsHealth)(nil),                     // 5: envoy.service.health.v3.ClusterEndpointsHealth
   919  	(*EndpointHealthResponse)(nil),                     // 6: envoy.service.health.v3.EndpointHealthResponse
   920  	(*HealthCheckRequestOrEndpointHealthResponse)(nil), // 7: envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse
   921  	(*LocalityEndpoints)(nil),                          // 8: envoy.service.health.v3.LocalityEndpoints
   922  	(*ClusterHealthCheck)(nil),                         // 9: envoy.service.health.v3.ClusterHealthCheck
   923  	(*HealthCheckSpecifier)(nil),                       // 10: envoy.service.health.v3.HealthCheckSpecifier
   924  	(*v3.Node)(nil),                                    // 11: envoy.config.core.v3.Node
   925  	(*v31.Endpoint)(nil),                               // 12: envoy.config.endpoint.v3.Endpoint
   926  	(v3.HealthStatus)(0),                               // 13: envoy.config.core.v3.HealthStatus
   927  	(*v3.Locality)(nil),                                // 14: envoy.config.core.v3.Locality
   928  	(*v3.HealthCheck)(nil),                             // 15: envoy.config.core.v3.HealthCheck
   929  	(*v32.Cluster_TransportSocketMatch)(nil),           // 16: envoy.config.cluster.v3.Cluster.TransportSocketMatch
   930  	(*duration.Duration)(nil),                          // 17: google.protobuf.Duration
   931  }
   932  var file_envoy_service_health_v3_hds_proto_depIdxs = []int32{
   933  	0,  // 0: envoy.service.health.v3.Capability.health_check_protocols:type_name -> envoy.service.health.v3.Capability.Protocol
   934  	11, // 1: envoy.service.health.v3.HealthCheckRequest.node:type_name -> envoy.config.core.v3.Node
   935  	1,  // 2: envoy.service.health.v3.HealthCheckRequest.capability:type_name -> envoy.service.health.v3.Capability
   936  	12, // 3: envoy.service.health.v3.EndpointHealth.endpoint:type_name -> envoy.config.endpoint.v3.Endpoint
   937  	13, // 4: envoy.service.health.v3.EndpointHealth.health_status:type_name -> envoy.config.core.v3.HealthStatus
   938  	14, // 5: envoy.service.health.v3.LocalityEndpointsHealth.locality:type_name -> envoy.config.core.v3.Locality
   939  	3,  // 6: envoy.service.health.v3.LocalityEndpointsHealth.endpoints_health:type_name -> envoy.service.health.v3.EndpointHealth
   940  	4,  // 7: envoy.service.health.v3.ClusterEndpointsHealth.locality_endpoints_health:type_name -> envoy.service.health.v3.LocalityEndpointsHealth
   941  	3,  // 8: envoy.service.health.v3.EndpointHealthResponse.endpoints_health:type_name -> envoy.service.health.v3.EndpointHealth
   942  	5,  // 9: envoy.service.health.v3.EndpointHealthResponse.cluster_endpoints_health:type_name -> envoy.service.health.v3.ClusterEndpointsHealth
   943  	2,  // 10: envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse.health_check_request:type_name -> envoy.service.health.v3.HealthCheckRequest
   944  	6,  // 11: envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse.endpoint_health_response:type_name -> envoy.service.health.v3.EndpointHealthResponse
   945  	14, // 12: envoy.service.health.v3.LocalityEndpoints.locality:type_name -> envoy.config.core.v3.Locality
   946  	12, // 13: envoy.service.health.v3.LocalityEndpoints.endpoints:type_name -> envoy.config.endpoint.v3.Endpoint
   947  	15, // 14: envoy.service.health.v3.ClusterHealthCheck.health_checks:type_name -> envoy.config.core.v3.HealthCheck
   948  	8,  // 15: envoy.service.health.v3.ClusterHealthCheck.locality_endpoints:type_name -> envoy.service.health.v3.LocalityEndpoints
   949  	16, // 16: envoy.service.health.v3.ClusterHealthCheck.transport_socket_matches:type_name -> envoy.config.cluster.v3.Cluster.TransportSocketMatch
   950  	9,  // 17: envoy.service.health.v3.HealthCheckSpecifier.cluster_health_checks:type_name -> envoy.service.health.v3.ClusterHealthCheck
   951  	17, // 18: envoy.service.health.v3.HealthCheckSpecifier.interval:type_name -> google.protobuf.Duration
   952  	7,  // 19: envoy.service.health.v3.HealthDiscoveryService.StreamHealthCheck:input_type -> envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse
   953  	7,  // 20: envoy.service.health.v3.HealthDiscoveryService.FetchHealthCheck:input_type -> envoy.service.health.v3.HealthCheckRequestOrEndpointHealthResponse
   954  	10, // 21: envoy.service.health.v3.HealthDiscoveryService.StreamHealthCheck:output_type -> envoy.service.health.v3.HealthCheckSpecifier
   955  	10, // 22: envoy.service.health.v3.HealthDiscoveryService.FetchHealthCheck:output_type -> envoy.service.health.v3.HealthCheckSpecifier
   956  	21, // [21:23] is the sub-list for method output_type
   957  	19, // [19:21] is the sub-list for method input_type
   958  	19, // [19:19] is the sub-list for extension type_name
   959  	19, // [19:19] is the sub-list for extension extendee
   960  	0,  // [0:19] is the sub-list for field type_name
   961  }
   962  
   963  func init() { file_envoy_service_health_v3_hds_proto_init() }
   964  func file_envoy_service_health_v3_hds_proto_init() {
   965  	if File_envoy_service_health_v3_hds_proto != nil {
   966  		return
   967  	}
   968  	if !protoimpl.UnsafeEnabled {
   969  		file_envoy_service_health_v3_hds_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   970  			switch v := v.(*Capability); i {
   971  			case 0:
   972  				return &v.state
   973  			case 1:
   974  				return &v.sizeCache
   975  			case 2:
   976  				return &v.unknownFields
   977  			default:
   978  				return nil
   979  			}
   980  		}
   981  		file_envoy_service_health_v3_hds_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   982  			switch v := v.(*HealthCheckRequest); i {
   983  			case 0:
   984  				return &v.state
   985  			case 1:
   986  				return &v.sizeCache
   987  			case 2:
   988  				return &v.unknownFields
   989  			default:
   990  				return nil
   991  			}
   992  		}
   993  		file_envoy_service_health_v3_hds_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   994  			switch v := v.(*EndpointHealth); i {
   995  			case 0:
   996  				return &v.state
   997  			case 1:
   998  				return &v.sizeCache
   999  			case 2:
  1000  				return &v.unknownFields
  1001  			default:
  1002  				return nil
  1003  			}
  1004  		}
  1005  		file_envoy_service_health_v3_hds_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1006  			switch v := v.(*LocalityEndpointsHealth); i {
  1007  			case 0:
  1008  				return &v.state
  1009  			case 1:
  1010  				return &v.sizeCache
  1011  			case 2:
  1012  				return &v.unknownFields
  1013  			default:
  1014  				return nil
  1015  			}
  1016  		}
  1017  		file_envoy_service_health_v3_hds_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1018  			switch v := v.(*ClusterEndpointsHealth); i {
  1019  			case 0:
  1020  				return &v.state
  1021  			case 1:
  1022  				return &v.sizeCache
  1023  			case 2:
  1024  				return &v.unknownFields
  1025  			default:
  1026  				return nil
  1027  			}
  1028  		}
  1029  		file_envoy_service_health_v3_hds_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1030  			switch v := v.(*EndpointHealthResponse); i {
  1031  			case 0:
  1032  				return &v.state
  1033  			case 1:
  1034  				return &v.sizeCache
  1035  			case 2:
  1036  				return &v.unknownFields
  1037  			default:
  1038  				return nil
  1039  			}
  1040  		}
  1041  		file_envoy_service_health_v3_hds_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1042  			switch v := v.(*HealthCheckRequestOrEndpointHealthResponse); i {
  1043  			case 0:
  1044  				return &v.state
  1045  			case 1:
  1046  				return &v.sizeCache
  1047  			case 2:
  1048  				return &v.unknownFields
  1049  			default:
  1050  				return nil
  1051  			}
  1052  		}
  1053  		file_envoy_service_health_v3_hds_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1054  			switch v := v.(*LocalityEndpoints); i {
  1055  			case 0:
  1056  				return &v.state
  1057  			case 1:
  1058  				return &v.sizeCache
  1059  			case 2:
  1060  				return &v.unknownFields
  1061  			default:
  1062  				return nil
  1063  			}
  1064  		}
  1065  		file_envoy_service_health_v3_hds_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1066  			switch v := v.(*ClusterHealthCheck); i {
  1067  			case 0:
  1068  				return &v.state
  1069  			case 1:
  1070  				return &v.sizeCache
  1071  			case 2:
  1072  				return &v.unknownFields
  1073  			default:
  1074  				return nil
  1075  			}
  1076  		}
  1077  		file_envoy_service_health_v3_hds_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1078  			switch v := v.(*HealthCheckSpecifier); i {
  1079  			case 0:
  1080  				return &v.state
  1081  			case 1:
  1082  				return &v.sizeCache
  1083  			case 2:
  1084  				return &v.unknownFields
  1085  			default:
  1086  				return nil
  1087  			}
  1088  		}
  1089  	}
  1090  	file_envoy_service_health_v3_hds_proto_msgTypes[6].OneofWrappers = []interface{}{
  1091  		(*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest)(nil),
  1092  		(*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse)(nil),
  1093  	}
  1094  	type x struct{}
  1095  	out := protoimpl.TypeBuilder{
  1096  		File: protoimpl.DescBuilder{
  1097  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1098  			RawDescriptor: file_envoy_service_health_v3_hds_proto_rawDesc,
  1099  			NumEnums:      1,
  1100  			NumMessages:   10,
  1101  			NumExtensions: 0,
  1102  			NumServices:   1,
  1103  		},
  1104  		GoTypes:           file_envoy_service_health_v3_hds_proto_goTypes,
  1105  		DependencyIndexes: file_envoy_service_health_v3_hds_proto_depIdxs,
  1106  		EnumInfos:         file_envoy_service_health_v3_hds_proto_enumTypes,
  1107  		MessageInfos:      file_envoy_service_health_v3_hds_proto_msgTypes,
  1108  	}.Build()
  1109  	File_envoy_service_health_v3_hds_proto = out.File
  1110  	file_envoy_service_health_v3_hds_proto_rawDesc = nil
  1111  	file_envoy_service_health_v3_hds_proto_goTypes = nil
  1112  	file_envoy_service_health_v3_hds_proto_depIdxs = nil
  1113  }
  1114  
  1115  // Reference imports to suppress errors if they are not otherwise used.
  1116  var _ context.Context
  1117  var _ grpc.ClientConnInterface
  1118  
  1119  // This is a compile-time assertion to ensure that this generated file
  1120  // is compatible with the grpc package it is being compiled against.
  1121  const _ = grpc.SupportPackageIsVersion6
  1122  
  1123  // HealthDiscoveryServiceClient is the client API for HealthDiscoveryService service.
  1124  //
  1125  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1126  type HealthDiscoveryServiceClient interface {
  1127  	// 1. Envoy starts up and if its can_healthcheck option in the static
  1128  	//    bootstrap config is enabled, sends HealthCheckRequest to the management
  1129  	//    server. It supplies its capabilities (which protocol it can health check
  1130  	//    with, what zone it resides in, etc.).
  1131  	// 2. In response to (1), the management server designates this Envoy as a
  1132  	//    healthchecker to health check a subset of all upstream hosts for a given
  1133  	//    cluster (for example upstream Host 1 and Host 2). It streams
  1134  	//    HealthCheckSpecifier messages with cluster related configuration for all
  1135  	//    clusters this Envoy is designated to health check. Subsequent
  1136  	//    HealthCheckSpecifier message will be sent on changes to:
  1137  	//    a. Endpoints to health checks
  1138  	//    b. Per cluster configuration change
  1139  	// 3. Envoy creates a health probe based on the HealthCheck config and sends
  1140  	//    it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck
  1141  	//    configuration Envoy waits upon the arrival of the probe response and
  1142  	//    looks at the content of the response to decide whether the endpoint is
  1143  	//    healthy or not. If a response hasn't been received within the timeout
  1144  	//    interval, the endpoint health status is considered TIMEOUT.
  1145  	// 4. Envoy reports results back in an EndpointHealthResponse message.
  1146  	//    Envoy streams responses as often as the interval configured by the
  1147  	//    management server in HealthCheckSpecifier.
  1148  	// 5. The management Server collects health statuses for all endpoints in the
  1149  	//    cluster (for all clusters) and uses this information to construct
  1150  	//    EndpointDiscoveryResponse messages.
  1151  	// 6. Once Envoy has a list of upstream endpoints to send traffic to, it load
  1152  	//    balances traffic to them without additional health checking. It may
  1153  	//    use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection
  1154  	//    failed to a particular endpoint to account for health status propagation
  1155  	//    delay between HDS and EDS).
  1156  	// By default, can_healthcheck is true. If can_healthcheck is false, Cluster
  1157  	// configuration may not contain HealthCheck message.
  1158  	// TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above
  1159  	// invariant?
  1160  	// TODO(htuch): Add @amb67's diagram.
  1161  	StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error)
  1162  	// TODO(htuch): Unlike the gRPC version, there is no stream-based binding of
  1163  	// request/response. Should we add an identifier to the HealthCheckSpecifier
  1164  	// to bind with the response?
  1165  	FetchHealthCheck(ctx context.Context, in *HealthCheckRequestOrEndpointHealthResponse, opts ...grpc.CallOption) (*HealthCheckSpecifier, error)
  1166  }
  1167  
  1168  type healthDiscoveryServiceClient struct {
  1169  	cc grpc.ClientConnInterface
  1170  }
  1171  
  1172  func NewHealthDiscoveryServiceClient(cc grpc.ClientConnInterface) HealthDiscoveryServiceClient {
  1173  	return &healthDiscoveryServiceClient{cc}
  1174  }
  1175  
  1176  func (c *healthDiscoveryServiceClient) StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error) {
  1177  	stream, err := c.cc.NewStream(ctx, &_HealthDiscoveryService_serviceDesc.Streams[0], "/envoy.service.health.v3.HealthDiscoveryService/StreamHealthCheck", opts...)
  1178  	if err != nil {
  1179  		return nil, err
  1180  	}
  1181  	x := &healthDiscoveryServiceStreamHealthCheckClient{stream}
  1182  	return x, nil
  1183  }
  1184  
  1185  type HealthDiscoveryService_StreamHealthCheckClient interface {
  1186  	Send(*HealthCheckRequestOrEndpointHealthResponse) error
  1187  	Recv() (*HealthCheckSpecifier, error)
  1188  	grpc.ClientStream
  1189  }
  1190  
  1191  type healthDiscoveryServiceStreamHealthCheckClient struct {
  1192  	grpc.ClientStream
  1193  }
  1194  
  1195  func (x *healthDiscoveryServiceStreamHealthCheckClient) Send(m *HealthCheckRequestOrEndpointHealthResponse) error {
  1196  	return x.ClientStream.SendMsg(m)
  1197  }
  1198  
  1199  func (x *healthDiscoveryServiceStreamHealthCheckClient) Recv() (*HealthCheckSpecifier, error) {
  1200  	m := new(HealthCheckSpecifier)
  1201  	if err := x.ClientStream.RecvMsg(m); err != nil {
  1202  		return nil, err
  1203  	}
  1204  	return m, nil
  1205  }
  1206  
  1207  func (c *healthDiscoveryServiceClient) FetchHealthCheck(ctx context.Context, in *HealthCheckRequestOrEndpointHealthResponse, opts ...grpc.CallOption) (*HealthCheckSpecifier, error) {
  1208  	out := new(HealthCheckSpecifier)
  1209  	err := c.cc.Invoke(ctx, "/envoy.service.health.v3.HealthDiscoveryService/FetchHealthCheck", in, out, opts...)
  1210  	if err != nil {
  1211  		return nil, err
  1212  	}
  1213  	return out, nil
  1214  }
  1215  
  1216  // HealthDiscoveryServiceServer is the server API for HealthDiscoveryService service.
  1217  type HealthDiscoveryServiceServer interface {
  1218  	// 1. Envoy starts up and if its can_healthcheck option in the static
  1219  	//    bootstrap config is enabled, sends HealthCheckRequest to the management
  1220  	//    server. It supplies its capabilities (which protocol it can health check
  1221  	//    with, what zone it resides in, etc.).
  1222  	// 2. In response to (1), the management server designates this Envoy as a
  1223  	//    healthchecker to health check a subset of all upstream hosts for a given
  1224  	//    cluster (for example upstream Host 1 and Host 2). It streams
  1225  	//    HealthCheckSpecifier messages with cluster related configuration for all
  1226  	//    clusters this Envoy is designated to health check. Subsequent
  1227  	//    HealthCheckSpecifier message will be sent on changes to:
  1228  	//    a. Endpoints to health checks
  1229  	//    b. Per cluster configuration change
  1230  	// 3. Envoy creates a health probe based on the HealthCheck config and sends
  1231  	//    it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck
  1232  	//    configuration Envoy waits upon the arrival of the probe response and
  1233  	//    looks at the content of the response to decide whether the endpoint is
  1234  	//    healthy or not. If a response hasn't been received within the timeout
  1235  	//    interval, the endpoint health status is considered TIMEOUT.
  1236  	// 4. Envoy reports results back in an EndpointHealthResponse message.
  1237  	//    Envoy streams responses as often as the interval configured by the
  1238  	//    management server in HealthCheckSpecifier.
  1239  	// 5. The management Server collects health statuses for all endpoints in the
  1240  	//    cluster (for all clusters) and uses this information to construct
  1241  	//    EndpointDiscoveryResponse messages.
  1242  	// 6. Once Envoy has a list of upstream endpoints to send traffic to, it load
  1243  	//    balances traffic to them without additional health checking. It may
  1244  	//    use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection
  1245  	//    failed to a particular endpoint to account for health status propagation
  1246  	//    delay between HDS and EDS).
  1247  	// By default, can_healthcheck is true. If can_healthcheck is false, Cluster
  1248  	// configuration may not contain HealthCheck message.
  1249  	// TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above
  1250  	// invariant?
  1251  	// TODO(htuch): Add @amb67's diagram.
  1252  	StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error
  1253  	// TODO(htuch): Unlike the gRPC version, there is no stream-based binding of
  1254  	// request/response. Should we add an identifier to the HealthCheckSpecifier
  1255  	// to bind with the response?
  1256  	FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error)
  1257  }
  1258  
  1259  // UnimplementedHealthDiscoveryServiceServer can be embedded to have forward compatible implementations.
  1260  type UnimplementedHealthDiscoveryServiceServer struct {
  1261  }
  1262  
  1263  func (*UnimplementedHealthDiscoveryServiceServer) StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error {
  1264  	return status.Errorf(codes.Unimplemented, "method StreamHealthCheck not implemented")
  1265  }
  1266  func (*UnimplementedHealthDiscoveryServiceServer) FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error) {
  1267  	return nil, status.Errorf(codes.Unimplemented, "method FetchHealthCheck not implemented")
  1268  }
  1269  
  1270  func RegisterHealthDiscoveryServiceServer(s *grpc.Server, srv HealthDiscoveryServiceServer) {
  1271  	s.RegisterService(&_HealthDiscoveryService_serviceDesc, srv)
  1272  }
  1273  
  1274  func _HealthDiscoveryService_StreamHealthCheck_Handler(srv interface{}, stream grpc.ServerStream) error {
  1275  	return srv.(HealthDiscoveryServiceServer).StreamHealthCheck(&healthDiscoveryServiceStreamHealthCheckServer{stream})
  1276  }
  1277  
  1278  type HealthDiscoveryService_StreamHealthCheckServer interface {
  1279  	Send(*HealthCheckSpecifier) error
  1280  	Recv() (*HealthCheckRequestOrEndpointHealthResponse, error)
  1281  	grpc.ServerStream
  1282  }
  1283  
  1284  type healthDiscoveryServiceStreamHealthCheckServer struct {
  1285  	grpc.ServerStream
  1286  }
  1287  
  1288  func (x *healthDiscoveryServiceStreamHealthCheckServer) Send(m *HealthCheckSpecifier) error {
  1289  	return x.ServerStream.SendMsg(m)
  1290  }
  1291  
  1292  func (x *healthDiscoveryServiceStreamHealthCheckServer) Recv() (*HealthCheckRequestOrEndpointHealthResponse, error) {
  1293  	m := new(HealthCheckRequestOrEndpointHealthResponse)
  1294  	if err := x.ServerStream.RecvMsg(m); err != nil {
  1295  		return nil, err
  1296  	}
  1297  	return m, nil
  1298  }
  1299  
  1300  func _HealthDiscoveryService_FetchHealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1301  	in := new(HealthCheckRequestOrEndpointHealthResponse)
  1302  	if err := dec(in); err != nil {
  1303  		return nil, err
  1304  	}
  1305  	if interceptor == nil {
  1306  		return srv.(HealthDiscoveryServiceServer).FetchHealthCheck(ctx, in)
  1307  	}
  1308  	info := &grpc.UnaryServerInfo{
  1309  		Server:     srv,
  1310  		FullMethod: "/envoy.service.health.v3.HealthDiscoveryService/FetchHealthCheck",
  1311  	}
  1312  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1313  		return srv.(HealthDiscoveryServiceServer).FetchHealthCheck(ctx, req.(*HealthCheckRequestOrEndpointHealthResponse))
  1314  	}
  1315  	return interceptor(ctx, in, info, handler)
  1316  }
  1317  
  1318  var _HealthDiscoveryService_serviceDesc = grpc.ServiceDesc{
  1319  	ServiceName: "envoy.service.health.v3.HealthDiscoveryService",
  1320  	HandlerType: (*HealthDiscoveryServiceServer)(nil),
  1321  	Methods: []grpc.MethodDesc{
  1322  		{
  1323  			MethodName: "FetchHealthCheck",
  1324  			Handler:    _HealthDiscoveryService_FetchHealthCheck_Handler,
  1325  		},
  1326  	},
  1327  	Streams: []grpc.StreamDesc{
  1328  		{
  1329  			StreamName:    "StreamHealthCheck",
  1330  			Handler:       _HealthDiscoveryService_StreamHealthCheck_Handler,
  1331  			ServerStreams: true,
  1332  			ClientStreams: true,
  1333  		},
  1334  	},
  1335  	Metadata: "envoy/service/health/v3/hds.proto",
  1336  }
  1337  

View as plain text