github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/go-control-plane/envoy/service/discovery/v2/hds.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.16.0
     5  // source: envoy/service/discovery/v2/hds.proto
     6  
     7  package envoy_service_discovery_v2
     8  
     9  import (
    10  	context "context"
    11  	_ "github.com/cncf/xds/go/udpa/annotations"
    12  	core "github.com/hxx258456/ccgo/go-control-plane/envoy/api/v2/core"
    13  	endpoint "github.com/hxx258456/ccgo/go-control-plane/envoy/api/v2/endpoint"
    14  	proto "github.com/golang/protobuf/proto"
    15  	duration "github.com/golang/protobuf/ptypes/duration"
    16  	_ "google.golang.org/genproto/googleapis/api/annotations"
    17  	grpc "github.com/hxx258456/ccgo/grpc"
    18  	codes "github.com/hxx258456/ccgo/grpc/codes"
    19  	status "github.com/hxx258456/ccgo/grpc/status"
    20  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    21  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    22  	reflect "reflect"
    23  	sync "sync"
    24  )
    25  
    26  const (
    27  	// Verify that this generated code is sufficiently up-to-date.
    28  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    29  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    30  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    31  )
    32  
    33  // This is a compile-time assertion that a sufficiently up-to-date version
    34  // of the legacy proto package is being used.
    35  const _ = proto.ProtoPackageIsVersion4
    36  
    37  // Different Envoy instances may have different capabilities (e.g. Redis)
    38  // and/or have ports enabled for different protocols.
    39  type Capability_Protocol int32
    40  
    41  const (
    42  	Capability_HTTP  Capability_Protocol = 0
    43  	Capability_TCP   Capability_Protocol = 1
    44  	Capability_REDIS Capability_Protocol = 2
    45  )
    46  
    47  // Enum value maps for Capability_Protocol.
    48  var (
    49  	Capability_Protocol_name = map[int32]string{
    50  		0: "HTTP",
    51  		1: "TCP",
    52  		2: "REDIS",
    53  	}
    54  	Capability_Protocol_value = map[string]int32{
    55  		"HTTP":  0,
    56  		"TCP":   1,
    57  		"REDIS": 2,
    58  	}
    59  )
    60  
    61  func (x Capability_Protocol) Enum() *Capability_Protocol {
    62  	p := new(Capability_Protocol)
    63  	*p = x
    64  	return p
    65  }
    66  
    67  func (x Capability_Protocol) String() string {
    68  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    69  }
    70  
    71  func (Capability_Protocol) Descriptor() protoreflect.EnumDescriptor {
    72  	return file_envoy_service_discovery_v2_hds_proto_enumTypes[0].Descriptor()
    73  }
    74  
    75  func (Capability_Protocol) Type() protoreflect.EnumType {
    76  	return &file_envoy_service_discovery_v2_hds_proto_enumTypes[0]
    77  }
    78  
    79  func (x Capability_Protocol) Number() protoreflect.EnumNumber {
    80  	return protoreflect.EnumNumber(x)
    81  }
    82  
    83  // Deprecated: Use Capability_Protocol.Descriptor instead.
    84  func (Capability_Protocol) EnumDescriptor() ([]byte, []int) {
    85  	return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{0, 0}
    86  }
    87  
    88  // Defines supported protocols etc, so the management server can assign proper
    89  // endpoints to healthcheck.
    90  type Capability struct {
    91  	state         protoimpl.MessageState
    92  	sizeCache     protoimpl.SizeCache
    93  	unknownFields protoimpl.UnknownFields
    94  
    95  	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"`
    96  }
    97  
    98  func (x *Capability) Reset() {
    99  	*x = Capability{}
   100  	if protoimpl.UnsafeEnabled {
   101  		mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[0]
   102  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   103  		ms.StoreMessageInfo(mi)
   104  	}
   105  }
   106  
   107  func (x *Capability) String() string {
   108  	return protoimpl.X.MessageStringOf(x)
   109  }
   110  
   111  func (*Capability) ProtoMessage() {}
   112  
   113  func (x *Capability) ProtoReflect() protoreflect.Message {
   114  	mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[0]
   115  	if protoimpl.UnsafeEnabled && x != nil {
   116  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   117  		if ms.LoadMessageInfo() == nil {
   118  			ms.StoreMessageInfo(mi)
   119  		}
   120  		return ms
   121  	}
   122  	return mi.MessageOf(x)
   123  }
   124  
   125  // Deprecated: Use Capability.ProtoReflect.Descriptor instead.
   126  func (*Capability) Descriptor() ([]byte, []int) {
   127  	return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{0}
   128  }
   129  
   130  func (x *Capability) GetHealthCheckProtocols() []Capability_Protocol {
   131  	if x != nil {
   132  		return x.HealthCheckProtocols
   133  	}
   134  	return nil
   135  }
   136  
   137  type HealthCheckRequest struct {
   138  	state         protoimpl.MessageState
   139  	sizeCache     protoimpl.SizeCache
   140  	unknownFields protoimpl.UnknownFields
   141  
   142  	Node       *core.Node  `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
   143  	Capability *Capability `protobuf:"bytes,2,opt,name=capability,proto3" json:"capability,omitempty"`
   144  }
   145  
   146  func (x *HealthCheckRequest) Reset() {
   147  	*x = HealthCheckRequest{}
   148  	if protoimpl.UnsafeEnabled {
   149  		mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[1]
   150  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   151  		ms.StoreMessageInfo(mi)
   152  	}
   153  }
   154  
   155  func (x *HealthCheckRequest) String() string {
   156  	return protoimpl.X.MessageStringOf(x)
   157  }
   158  
   159  func (*HealthCheckRequest) ProtoMessage() {}
   160  
   161  func (x *HealthCheckRequest) ProtoReflect() protoreflect.Message {
   162  	mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[1]
   163  	if protoimpl.UnsafeEnabled && x != nil {
   164  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   165  		if ms.LoadMessageInfo() == nil {
   166  			ms.StoreMessageInfo(mi)
   167  		}
   168  		return ms
   169  	}
   170  	return mi.MessageOf(x)
   171  }
   172  
   173  // Deprecated: Use HealthCheckRequest.ProtoReflect.Descriptor instead.
   174  func (*HealthCheckRequest) Descriptor() ([]byte, []int) {
   175  	return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{1}
   176  }
   177  
   178  func (x *HealthCheckRequest) GetNode() *core.Node {
   179  	if x != nil {
   180  		return x.Node
   181  	}
   182  	return nil
   183  }
   184  
   185  func (x *HealthCheckRequest) GetCapability() *Capability {
   186  	if x != nil {
   187  		return x.Capability
   188  	}
   189  	return nil
   190  }
   191  
   192  type EndpointHealth struct {
   193  	state         protoimpl.MessageState
   194  	sizeCache     protoimpl.SizeCache
   195  	unknownFields protoimpl.UnknownFields
   196  
   197  	Endpoint     *endpoint.Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
   198  	HealthStatus core.HealthStatus  `protobuf:"varint,2,opt,name=health_status,json=healthStatus,proto3,enum=envoy.api.v2.core.HealthStatus" json:"health_status,omitempty"`
   199  }
   200  
   201  func (x *EndpointHealth) Reset() {
   202  	*x = EndpointHealth{}
   203  	if protoimpl.UnsafeEnabled {
   204  		mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[2]
   205  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   206  		ms.StoreMessageInfo(mi)
   207  	}
   208  }
   209  
   210  func (x *EndpointHealth) String() string {
   211  	return protoimpl.X.MessageStringOf(x)
   212  }
   213  
   214  func (*EndpointHealth) ProtoMessage() {}
   215  
   216  func (x *EndpointHealth) ProtoReflect() protoreflect.Message {
   217  	mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[2]
   218  	if protoimpl.UnsafeEnabled && x != nil {
   219  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   220  		if ms.LoadMessageInfo() == nil {
   221  			ms.StoreMessageInfo(mi)
   222  		}
   223  		return ms
   224  	}
   225  	return mi.MessageOf(x)
   226  }
   227  
   228  // Deprecated: Use EndpointHealth.ProtoReflect.Descriptor instead.
   229  func (*EndpointHealth) Descriptor() ([]byte, []int) {
   230  	return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{2}
   231  }
   232  
   233  func (x *EndpointHealth) GetEndpoint() *endpoint.Endpoint {
   234  	if x != nil {
   235  		return x.Endpoint
   236  	}
   237  	return nil
   238  }
   239  
   240  func (x *EndpointHealth) GetHealthStatus() core.HealthStatus {
   241  	if x != nil {
   242  		return x.HealthStatus
   243  	}
   244  	return core.HealthStatus_UNKNOWN
   245  }
   246  
   247  type EndpointHealthResponse struct {
   248  	state         protoimpl.MessageState
   249  	sizeCache     protoimpl.SizeCache
   250  	unknownFields protoimpl.UnknownFields
   251  
   252  	EndpointsHealth []*EndpointHealth `protobuf:"bytes,1,rep,name=endpoints_health,json=endpointsHealth,proto3" json:"endpoints_health,omitempty"`
   253  }
   254  
   255  func (x *EndpointHealthResponse) Reset() {
   256  	*x = EndpointHealthResponse{}
   257  	if protoimpl.UnsafeEnabled {
   258  		mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[3]
   259  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   260  		ms.StoreMessageInfo(mi)
   261  	}
   262  }
   263  
   264  func (x *EndpointHealthResponse) String() string {
   265  	return protoimpl.X.MessageStringOf(x)
   266  }
   267  
   268  func (*EndpointHealthResponse) ProtoMessage() {}
   269  
   270  func (x *EndpointHealthResponse) ProtoReflect() protoreflect.Message {
   271  	mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[3]
   272  	if protoimpl.UnsafeEnabled && x != nil {
   273  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   274  		if ms.LoadMessageInfo() == nil {
   275  			ms.StoreMessageInfo(mi)
   276  		}
   277  		return ms
   278  	}
   279  	return mi.MessageOf(x)
   280  }
   281  
   282  // Deprecated: Use EndpointHealthResponse.ProtoReflect.Descriptor instead.
   283  func (*EndpointHealthResponse) Descriptor() ([]byte, []int) {
   284  	return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{3}
   285  }
   286  
   287  func (x *EndpointHealthResponse) GetEndpointsHealth() []*EndpointHealth {
   288  	if x != nil {
   289  		return x.EndpointsHealth
   290  	}
   291  	return nil
   292  }
   293  
   294  type HealthCheckRequestOrEndpointHealthResponse struct {
   295  	state         protoimpl.MessageState
   296  	sizeCache     protoimpl.SizeCache
   297  	unknownFields protoimpl.UnknownFields
   298  
   299  	// Types that are assignable to RequestType:
   300  	//	*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest
   301  	//	*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse
   302  	RequestType isHealthCheckRequestOrEndpointHealthResponse_RequestType `protobuf_oneof:"request_type"`
   303  }
   304  
   305  func (x *HealthCheckRequestOrEndpointHealthResponse) Reset() {
   306  	*x = HealthCheckRequestOrEndpointHealthResponse{}
   307  	if protoimpl.UnsafeEnabled {
   308  		mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[4]
   309  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   310  		ms.StoreMessageInfo(mi)
   311  	}
   312  }
   313  
   314  func (x *HealthCheckRequestOrEndpointHealthResponse) String() string {
   315  	return protoimpl.X.MessageStringOf(x)
   316  }
   317  
   318  func (*HealthCheckRequestOrEndpointHealthResponse) ProtoMessage() {}
   319  
   320  func (x *HealthCheckRequestOrEndpointHealthResponse) ProtoReflect() protoreflect.Message {
   321  	mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[4]
   322  	if protoimpl.UnsafeEnabled && x != nil {
   323  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   324  		if ms.LoadMessageInfo() == nil {
   325  			ms.StoreMessageInfo(mi)
   326  		}
   327  		return ms
   328  	}
   329  	return mi.MessageOf(x)
   330  }
   331  
   332  // Deprecated: Use HealthCheckRequestOrEndpointHealthResponse.ProtoReflect.Descriptor instead.
   333  func (*HealthCheckRequestOrEndpointHealthResponse) Descriptor() ([]byte, []int) {
   334  	return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{4}
   335  }
   336  
   337  func (m *HealthCheckRequestOrEndpointHealthResponse) GetRequestType() isHealthCheckRequestOrEndpointHealthResponse_RequestType {
   338  	if m != nil {
   339  		return m.RequestType
   340  	}
   341  	return nil
   342  }
   343  
   344  func (x *HealthCheckRequestOrEndpointHealthResponse) GetHealthCheckRequest() *HealthCheckRequest {
   345  	if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest); ok {
   346  		return x.HealthCheckRequest
   347  	}
   348  	return nil
   349  }
   350  
   351  func (x *HealthCheckRequestOrEndpointHealthResponse) GetEndpointHealthResponse() *EndpointHealthResponse {
   352  	if x, ok := x.GetRequestType().(*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse); ok {
   353  		return x.EndpointHealthResponse
   354  	}
   355  	return nil
   356  }
   357  
   358  type isHealthCheckRequestOrEndpointHealthResponse_RequestType interface {
   359  	isHealthCheckRequestOrEndpointHealthResponse_RequestType()
   360  }
   361  
   362  type HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest struct {
   363  	HealthCheckRequest *HealthCheckRequest `protobuf:"bytes,1,opt,name=health_check_request,json=healthCheckRequest,proto3,oneof"`
   364  }
   365  
   366  type HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse struct {
   367  	EndpointHealthResponse *EndpointHealthResponse `protobuf:"bytes,2,opt,name=endpoint_health_response,json=endpointHealthResponse,proto3,oneof"`
   368  }
   369  
   370  func (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest) isHealthCheckRequestOrEndpointHealthResponse_RequestType() {
   371  }
   372  
   373  func (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse) isHealthCheckRequestOrEndpointHealthResponse_RequestType() {
   374  }
   375  
   376  type LocalityEndpoints struct {
   377  	state         protoimpl.MessageState
   378  	sizeCache     protoimpl.SizeCache
   379  	unknownFields protoimpl.UnknownFields
   380  
   381  	Locality  *core.Locality       `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
   382  	Endpoints []*endpoint.Endpoint `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
   383  }
   384  
   385  func (x *LocalityEndpoints) Reset() {
   386  	*x = LocalityEndpoints{}
   387  	if protoimpl.UnsafeEnabled {
   388  		mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[5]
   389  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   390  		ms.StoreMessageInfo(mi)
   391  	}
   392  }
   393  
   394  func (x *LocalityEndpoints) String() string {
   395  	return protoimpl.X.MessageStringOf(x)
   396  }
   397  
   398  func (*LocalityEndpoints) ProtoMessage() {}
   399  
   400  func (x *LocalityEndpoints) ProtoReflect() protoreflect.Message {
   401  	mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[5]
   402  	if protoimpl.UnsafeEnabled && x != nil {
   403  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   404  		if ms.LoadMessageInfo() == nil {
   405  			ms.StoreMessageInfo(mi)
   406  		}
   407  		return ms
   408  	}
   409  	return mi.MessageOf(x)
   410  }
   411  
   412  // Deprecated: Use LocalityEndpoints.ProtoReflect.Descriptor instead.
   413  func (*LocalityEndpoints) Descriptor() ([]byte, []int) {
   414  	return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{5}
   415  }
   416  
   417  func (x *LocalityEndpoints) GetLocality() *core.Locality {
   418  	if x != nil {
   419  		return x.Locality
   420  	}
   421  	return nil
   422  }
   423  
   424  func (x *LocalityEndpoints) GetEndpoints() []*endpoint.Endpoint {
   425  	if x != nil {
   426  		return x.Endpoints
   427  	}
   428  	return nil
   429  }
   430  
   431  // The cluster name and locality is provided to Envoy for the endpoints that it
   432  // health checks to support statistics reporting, logging and debugging by the
   433  // Envoy instance (outside of HDS). For maximum usefulness, it should match the
   434  // same cluster structure as that provided by EDS.
   435  type ClusterHealthCheck struct {
   436  	state         protoimpl.MessageState
   437  	sizeCache     protoimpl.SizeCache
   438  	unknownFields protoimpl.UnknownFields
   439  
   440  	ClusterName       string               `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
   441  	HealthChecks      []*core.HealthCheck  `protobuf:"bytes,2,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"`
   442  	LocalityEndpoints []*LocalityEndpoints `protobuf:"bytes,3,rep,name=locality_endpoints,json=localityEndpoints,proto3" json:"locality_endpoints,omitempty"`
   443  }
   444  
   445  func (x *ClusterHealthCheck) Reset() {
   446  	*x = ClusterHealthCheck{}
   447  	if protoimpl.UnsafeEnabled {
   448  		mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[6]
   449  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   450  		ms.StoreMessageInfo(mi)
   451  	}
   452  }
   453  
   454  func (x *ClusterHealthCheck) String() string {
   455  	return protoimpl.X.MessageStringOf(x)
   456  }
   457  
   458  func (*ClusterHealthCheck) ProtoMessage() {}
   459  
   460  func (x *ClusterHealthCheck) ProtoReflect() protoreflect.Message {
   461  	mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[6]
   462  	if protoimpl.UnsafeEnabled && x != nil {
   463  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   464  		if ms.LoadMessageInfo() == nil {
   465  			ms.StoreMessageInfo(mi)
   466  		}
   467  		return ms
   468  	}
   469  	return mi.MessageOf(x)
   470  }
   471  
   472  // Deprecated: Use ClusterHealthCheck.ProtoReflect.Descriptor instead.
   473  func (*ClusterHealthCheck) Descriptor() ([]byte, []int) {
   474  	return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{6}
   475  }
   476  
   477  func (x *ClusterHealthCheck) GetClusterName() string {
   478  	if x != nil {
   479  		return x.ClusterName
   480  	}
   481  	return ""
   482  }
   483  
   484  func (x *ClusterHealthCheck) GetHealthChecks() []*core.HealthCheck {
   485  	if x != nil {
   486  		return x.HealthChecks
   487  	}
   488  	return nil
   489  }
   490  
   491  func (x *ClusterHealthCheck) GetLocalityEndpoints() []*LocalityEndpoints {
   492  	if x != nil {
   493  		return x.LocalityEndpoints
   494  	}
   495  	return nil
   496  }
   497  
   498  type HealthCheckSpecifier struct {
   499  	state         protoimpl.MessageState
   500  	sizeCache     protoimpl.SizeCache
   501  	unknownFields protoimpl.UnknownFields
   502  
   503  	ClusterHealthChecks []*ClusterHealthCheck `protobuf:"bytes,1,rep,name=cluster_health_checks,json=clusterHealthChecks,proto3" json:"cluster_health_checks,omitempty"`
   504  	// The default is 1 second.
   505  	Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
   506  }
   507  
   508  func (x *HealthCheckSpecifier) Reset() {
   509  	*x = HealthCheckSpecifier{}
   510  	if protoimpl.UnsafeEnabled {
   511  		mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[7]
   512  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   513  		ms.StoreMessageInfo(mi)
   514  	}
   515  }
   516  
   517  func (x *HealthCheckSpecifier) String() string {
   518  	return protoimpl.X.MessageStringOf(x)
   519  }
   520  
   521  func (*HealthCheckSpecifier) ProtoMessage() {}
   522  
   523  func (x *HealthCheckSpecifier) ProtoReflect() protoreflect.Message {
   524  	mi := &file_envoy_service_discovery_v2_hds_proto_msgTypes[7]
   525  	if protoimpl.UnsafeEnabled && x != nil {
   526  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   527  		if ms.LoadMessageInfo() == nil {
   528  			ms.StoreMessageInfo(mi)
   529  		}
   530  		return ms
   531  	}
   532  	return mi.MessageOf(x)
   533  }
   534  
   535  // Deprecated: Use HealthCheckSpecifier.ProtoReflect.Descriptor instead.
   536  func (*HealthCheckSpecifier) Descriptor() ([]byte, []int) {
   537  	return file_envoy_service_discovery_v2_hds_proto_rawDescGZIP(), []int{7}
   538  }
   539  
   540  func (x *HealthCheckSpecifier) GetClusterHealthChecks() []*ClusterHealthCheck {
   541  	if x != nil {
   542  		return x.ClusterHealthChecks
   543  	}
   544  	return nil
   545  }
   546  
   547  func (x *HealthCheckSpecifier) GetInterval() *duration.Duration {
   548  	if x != nil {
   549  		return x.Interval
   550  	}
   551  	return nil
   552  }
   553  
   554  var File_envoy_service_discovery_v2_hds_proto protoreflect.FileDescriptor
   555  
   556  var file_envoy_service_discovery_v2_hds_proto_rawDesc = []byte{
   557  	0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f,
   558  	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x68, 0x64, 0x73,
   559  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65,
   560  	0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e,
   561  	0x76, 0x32, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32,
   562  	0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   563  	0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63,
   564  	0x6f, 0x72, 0x65, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b,
   565  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70,
   566  	0x69, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x65, 0x6e,
   567  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
   568  	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   569  	0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
   570  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
   571  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
   572  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
   573  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x2e,
   574  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
   575  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70,
   576  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c,
   577  	0x69, 0x74, 0x79, 0x12, 0x65, 0x0a, 0x16, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68,
   578  	0x65, 0x63, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20,
   579  	0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76,
   580  	0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
   581  	0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x74,
   582  	0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
   583  	0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x28, 0x0a, 0x08, 0x50, 0x72,
   584  	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x00,
   585  	0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x44,
   586  	0x49, 0x53, 0x10, 0x02, 0x22, 0x89, 0x01, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43,
   587  	0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x6e,
   588  	0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   589  	0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f,
   590  	0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x61, 0x70, 0x61,
   591  	0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65,
   592  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73,
   593  	0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69,
   594  	0x6c, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
   595  	0x22, 0x93, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61,
   596  	0x6c, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18,
   597  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
   598  	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e,
   599  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
   600  	0x12, 0x44, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
   601  	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
   602  	0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c,
   603  	0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
   604  	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6f, 0x0a, 0x16, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
   605  	0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
   606  	0x12, 0x55, 0x0a, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x68, 0x65,
   607  	0x61, 0x6c, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x65, 0x6e, 0x76,
   608  	0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f,
   609  	0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
   610  	0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
   611  	0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0x90, 0x02, 0x0a, 0x2a, 0x48, 0x65, 0x61, 0x6c,
   612  	0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72,
   613  	0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65,
   614  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
   615  	0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01,
   616  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72,
   617  	0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76,
   618  	0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71,
   619  	0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
   620  	0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x18, 0x65, 0x6e,
   621  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x72, 0x65,
   622  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x65,
   623  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73,
   624  	0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
   625  	0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
   626  	0x48, 0x00, 0x52, 0x16, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c,
   627  	0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x72, 0x65,
   628  	0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x4c,
   629  	0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73,
   630  	0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
   631  	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
   632  	0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52,
   633  	0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x09, 0x65, 0x6e, 0x64,
   634  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65,
   635  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x65, 0x6e, 0x64, 0x70,
   636  	0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x65,
   637  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x12, 0x43, 0x6c, 0x75,
   638  	0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12,
   639  	0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
   640  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61,
   641  	0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65,
   642  	0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   643  	0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65,
   644  	0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74,
   645  	0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
   646  	0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20,
   647  	0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76,
   648  	0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
   649  	0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
   650  	0x74, 0x73, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x70,
   651  	0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
   652  	0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x62,
   653  	0x0a, 0x15, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
   654  	0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
   655  	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69,
   656  	0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
   657  	0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x13, 0x63,
   658  	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
   659  	0x6b, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02,
   660  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
   661  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
   662  	0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x32, 0xea, 0x02, 0x0a, 0x16, 0x48, 0x65,
   663  	0x61, 0x6c, 0x74, 0x68, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72,
   664  	0x76, 0x69, 0x63, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48,
   665  	0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x46, 0x2e, 0x65, 0x6e, 0x76,
   666  	0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f,
   667  	0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
   668  	0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x45, 0x6e, 0x64, 0x70,
   669  	0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
   670  	0x73, 0x65, 0x1a, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
   671  	0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
   672  	0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69,
   673  	0x66, 0x69, 0x65, 0x72, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0xb9, 0x01, 0x0a, 0x10, 0x46,
   674  	0x65, 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12,
   675  	0x46, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
   676  	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61,
   677  	0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f,
   678  	0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52,
   679  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
   680  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72,
   681  	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
   682  	0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02,
   683  	0x1c, 0x22, 0x1a, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
   684  	0x3a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x82, 0xd3, 0xe4,
   685  	0x93, 0x02, 0x03, 0x3a, 0x01, 0x2a, 0x42, 0x60, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76,
   686  	0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65,
   687  	0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e,
   688  	0x76, 0x32, 0x42, 0x08, 0x48, 0x64, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 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),                           // 0: envoy.service.discovery.v2.Capability.Protocol
   710  	(*Capability)(nil),                                 // 1: envoy.service.discovery.v2.Capability
   711  	(*HealthCheckRequest)(nil),                         // 2: envoy.service.discovery.v2.HealthCheckRequest
   712  	(*EndpointHealth)(nil),                             // 3: envoy.service.discovery.v2.EndpointHealth
   713  	(*EndpointHealthResponse)(nil),                     // 4: envoy.service.discovery.v2.EndpointHealthResponse
   714  	(*HealthCheckRequestOrEndpointHealthResponse)(nil), // 5: envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse
   715  	(*LocalityEndpoints)(nil),                          // 6: envoy.service.discovery.v2.LocalityEndpoints
   716  	(*ClusterHealthCheck)(nil),                         // 7: envoy.service.discovery.v2.ClusterHealthCheck
   717  	(*HealthCheckSpecifier)(nil),                       // 8: envoy.service.discovery.v2.HealthCheckSpecifier
   718  	(*core.Node)(nil),                                  // 9: envoy.api.v2.core.Node
   719  	(*endpoint.Endpoint)(nil),                          // 10: envoy.api.v2.endpoint.Endpoint
   720  	(core.HealthStatus)(0),                             // 11: envoy.api.v2.core.HealthStatus
   721  	(*core.Locality)(nil),                              // 12: envoy.api.v2.core.Locality
   722  	(*core.HealthCheck)(nil),                           // 13: envoy.api.v2.core.HealthCheck
   723  	(*duration.Duration)(nil),                          // 14: google.protobuf.Duration
   724  }
   725  var file_envoy_service_discovery_v2_hds_proto_depIdxs = []int32{
   726  	0,  // 0: envoy.service.discovery.v2.Capability.health_check_protocols:type_name -> envoy.service.discovery.v2.Capability.Protocol
   727  	9,  // 1: envoy.service.discovery.v2.HealthCheckRequest.node:type_name -> envoy.api.v2.core.Node
   728  	1,  // 2: envoy.service.discovery.v2.HealthCheckRequest.capability:type_name -> envoy.service.discovery.v2.Capability
   729  	10, // 3: envoy.service.discovery.v2.EndpointHealth.endpoint:type_name -> envoy.api.v2.endpoint.Endpoint
   730  	11, // 4: envoy.service.discovery.v2.EndpointHealth.health_status:type_name -> envoy.api.v2.core.HealthStatus
   731  	3,  // 5: envoy.service.discovery.v2.EndpointHealthResponse.endpoints_health:type_name -> envoy.service.discovery.v2.EndpointHealth
   732  	2,  // 6: envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse.health_check_request:type_name -> envoy.service.discovery.v2.HealthCheckRequest
   733  	4,  // 7: envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse.endpoint_health_response:type_name -> envoy.service.discovery.v2.EndpointHealthResponse
   734  	12, // 8: envoy.service.discovery.v2.LocalityEndpoints.locality:type_name -> envoy.api.v2.core.Locality
   735  	10, // 9: envoy.service.discovery.v2.LocalityEndpoints.endpoints:type_name -> envoy.api.v2.endpoint.Endpoint
   736  	13, // 10: envoy.service.discovery.v2.ClusterHealthCheck.health_checks:type_name -> envoy.api.v2.core.HealthCheck
   737  	6,  // 11: envoy.service.discovery.v2.ClusterHealthCheck.locality_endpoints:type_name -> envoy.service.discovery.v2.LocalityEndpoints
   738  	7,  // 12: envoy.service.discovery.v2.HealthCheckSpecifier.cluster_health_checks:type_name -> envoy.service.discovery.v2.ClusterHealthCheck
   739  	14, // 13: envoy.service.discovery.v2.HealthCheckSpecifier.interval:type_name -> google.protobuf.Duration
   740  	5,  // 14: envoy.service.discovery.v2.HealthDiscoveryService.StreamHealthCheck:input_type -> envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse
   741  	5,  // 15: envoy.service.discovery.v2.HealthDiscoveryService.FetchHealthCheck:input_type -> envoy.service.discovery.v2.HealthCheckRequestOrEndpointHealthResponse
   742  	8,  // 16: envoy.service.discovery.v2.HealthDiscoveryService.StreamHealthCheck:output_type -> envoy.service.discovery.v2.HealthCheckSpecifier
   743  	8,  // 17: envoy.service.discovery.v2.HealthDiscoveryService.FetchHealthCheck:output_type -> envoy.service.discovery.v2.HealthCheckSpecifier
   744  	16, // [16:18] is the sub-list for method output_type
   745  	14, // [14:16] is the sub-list for method input_type
   746  	14, // [14:14] is the sub-list for extension type_name
   747  	14, // [14:14] is the sub-list for extension extendee
   748  	0,  // [0:14] is the sub-list for field type_name
   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  // Reference imports to suppress errors if they are not otherwise used.
   880  var _ context.Context
   881  var _ grpc.ClientConnInterface
   882  
   883  // This is a compile-time assertion to ensure that this generated file
   884  // is compatible with the grpc package it is being compiled against.
   885  const _ = grpc.SupportPackageIsVersion6
   886  
   887  // HealthDiscoveryServiceClient is the client API for HealthDiscoveryService service.
   888  //
   889  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   890  type HealthDiscoveryServiceClient interface {
   891  	// 1. Envoy starts up and if its can_healthcheck option in the static
   892  	//    bootstrap config is enabled, sends HealthCheckRequest to the management
   893  	//    server. It supplies its capabilities (which protocol it can health check
   894  	//    with, what zone it resides in, etc.).
   895  	// 2. In response to (1), the management server designates this Envoy as a
   896  	//    healthchecker to health check a subset of all upstream hosts for a given
   897  	//    cluster (for example upstream Host 1 and Host 2). It streams
   898  	//    HealthCheckSpecifier messages with cluster related configuration for all
   899  	//    clusters this Envoy is designated to health check. Subsequent
   900  	//    HealthCheckSpecifier message will be sent on changes to:
   901  	//    a. Endpoints to health checks
   902  	//    b. Per cluster configuration change
   903  	// 3. Envoy creates a health probe based on the HealthCheck config and sends
   904  	//    it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck
   905  	//    configuration Envoy waits upon the arrival of the probe response and
   906  	//    looks at the content of the response to decide whether the endpoint is
   907  	//    healthy or not. If a response hasn't been received within the timeout
   908  	//    interval, the endpoint health status is considered TIMEOUT.
   909  	// 4. Envoy reports results back in an EndpointHealthResponse message.
   910  	//    Envoy streams responses as often as the interval configured by the
   911  	//    management server in HealthCheckSpecifier.
   912  	// 5. The management Server collects health statuses for all endpoints in the
   913  	//    cluster (for all clusters) and uses this information to construct
   914  	//    EndpointDiscoveryResponse messages.
   915  	// 6. Once Envoy has a list of upstream endpoints to send traffic to, it load
   916  	//    balances traffic to them without additional health checking. It may
   917  	//    use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection
   918  	//    failed to a particular endpoint to account for health status propagation
   919  	//    delay between HDS and EDS).
   920  	// By default, can_healthcheck is true. If can_healthcheck is false, Cluster
   921  	// configuration may not contain HealthCheck message.
   922  	// TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above
   923  	// invariant?
   924  	// TODO(htuch): Add @amb67's diagram.
   925  	StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error)
   926  	// TODO(htuch): Unlike the gRPC version, there is no stream-based binding of
   927  	// request/response. Should we add an identifier to the HealthCheckSpecifier
   928  	// to bind with the response?
   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  // HealthDiscoveryServiceServer is the server API for HealthDiscoveryService service.
   981  type HealthDiscoveryServiceServer interface {
   982  	// 1. Envoy starts up and if its can_healthcheck option in the static
   983  	//    bootstrap config is enabled, sends HealthCheckRequest to the management
   984  	//    server. It supplies its capabilities (which protocol it can health check
   985  	//    with, what zone it resides in, etc.).
   986  	// 2. In response to (1), the management server designates this Envoy as a
   987  	//    healthchecker to health check a subset of all upstream hosts for a given
   988  	//    cluster (for example upstream Host 1 and Host 2). It streams
   989  	//    HealthCheckSpecifier messages with cluster related configuration for all
   990  	//    clusters this Envoy is designated to health check. Subsequent
   991  	//    HealthCheckSpecifier message will be sent on changes to:
   992  	//    a. Endpoints to health checks
   993  	//    b. Per cluster configuration change
   994  	// 3. Envoy creates a health probe based on the HealthCheck config and sends
   995  	//    it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck
   996  	//    configuration Envoy waits upon the arrival of the probe response and
   997  	//    looks at the content of the response to decide whether the endpoint is
   998  	//    healthy or not. If a response hasn't been received within the timeout
   999  	//    interval, the endpoint health status is considered TIMEOUT.
  1000  	// 4. Envoy reports results back in an EndpointHealthResponse message.
  1001  	//    Envoy streams responses as often as the interval configured by the
  1002  	//    management server in HealthCheckSpecifier.
  1003  	// 5. The management Server collects health statuses for all endpoints in the
  1004  	//    cluster (for all clusters) and uses this information to construct
  1005  	//    EndpointDiscoveryResponse messages.
  1006  	// 6. Once Envoy has a list of upstream endpoints to send traffic to, it load
  1007  	//    balances traffic to them without additional health checking. It may
  1008  	//    use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection
  1009  	//    failed to a particular endpoint to account for health status propagation
  1010  	//    delay between HDS and EDS).
  1011  	// By default, can_healthcheck is true. If can_healthcheck is false, Cluster
  1012  	// configuration may not contain HealthCheck message.
  1013  	// TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above
  1014  	// invariant?
  1015  	// TODO(htuch): Add @amb67's diagram.
  1016  	StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error
  1017  	// TODO(htuch): Unlike the gRPC version, there is no stream-based binding of
  1018  	// request/response. Should we add an identifier to the HealthCheckSpecifier
  1019  	// to bind with the response?
  1020  	FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error)
  1021  }
  1022  
  1023  // UnimplementedHealthDiscoveryServiceServer can be embedded to have forward compatible implementations.
  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  }