github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/go-control-plane/envoy/admin/v2alpha/clusters.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/admin/v2alpha/clusters.proto
     6  
     7  package envoy_admin_v2alpha
     8  
     9  import (
    10  	_ "github.com/cncf/xds/go/udpa/annotations"
    11  	core "github.com/hxx258456/ccgo/go-control-plane/envoy/api/v2/core"
    12  	_type "github.com/hxx258456/ccgo/go-control-plane/envoy/type"
    13  	proto "github.com/golang/protobuf/proto"
    14  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    15  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    16  	reflect "reflect"
    17  	sync "sync"
    18  )
    19  
    20  const (
    21  	// Verify that this generated code is sufficiently up-to-date.
    22  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    23  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    24  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    25  )
    26  
    27  // This is a compile-time assertion that a sufficiently up-to-date version
    28  // of the legacy proto package is being used.
    29  const _ = proto.ProtoPackageIsVersion4
    30  
    31  // Admin endpoint uses this wrapper for `/clusters` to display cluster status information.
    32  // See :ref:`/clusters <operations_admin_interface_clusters>` for more information.
    33  type Clusters struct {
    34  	state         protoimpl.MessageState
    35  	sizeCache     protoimpl.SizeCache
    36  	unknownFields protoimpl.UnknownFields
    37  
    38  	// Mapping from cluster name to each cluster's status.
    39  	ClusterStatuses []*ClusterStatus `protobuf:"bytes,1,rep,name=cluster_statuses,json=clusterStatuses,proto3" json:"cluster_statuses,omitempty"`
    40  }
    41  
    42  func (x *Clusters) Reset() {
    43  	*x = Clusters{}
    44  	if protoimpl.UnsafeEnabled {
    45  		mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[0]
    46  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    47  		ms.StoreMessageInfo(mi)
    48  	}
    49  }
    50  
    51  func (x *Clusters) String() string {
    52  	return protoimpl.X.MessageStringOf(x)
    53  }
    54  
    55  func (*Clusters) ProtoMessage() {}
    56  
    57  func (x *Clusters) ProtoReflect() protoreflect.Message {
    58  	mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[0]
    59  	if protoimpl.UnsafeEnabled && x != nil {
    60  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    61  		if ms.LoadMessageInfo() == nil {
    62  			ms.StoreMessageInfo(mi)
    63  		}
    64  		return ms
    65  	}
    66  	return mi.MessageOf(x)
    67  }
    68  
    69  // Deprecated: Use Clusters.ProtoReflect.Descriptor instead.
    70  func (*Clusters) Descriptor() ([]byte, []int) {
    71  	return file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP(), []int{0}
    72  }
    73  
    74  func (x *Clusters) GetClusterStatuses() []*ClusterStatus {
    75  	if x != nil {
    76  		return x.ClusterStatuses
    77  	}
    78  	return nil
    79  }
    80  
    81  // Details an individual cluster's current status.
    82  // [#next-free-field: 6]
    83  type ClusterStatus struct {
    84  	state         protoimpl.MessageState
    85  	sizeCache     protoimpl.SizeCache
    86  	unknownFields protoimpl.UnknownFields
    87  
    88  	// Name of the cluster.
    89  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    90  	// Denotes whether this cluster was added via API or configured statically.
    91  	AddedViaApi bool `protobuf:"varint,2,opt,name=added_via_api,json=addedViaApi,proto3" json:"added_via_api,omitempty"`
    92  	// The success rate threshold used in the last interval.
    93  	// If
    94  	// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
    95  	// is *false*, all errors: externally and locally generated were used to calculate the threshold.
    96  	// If
    97  	// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
    98  	// is *true*, only externally generated errors were used to calculate the threshold.
    99  	// The threshold is used to eject hosts based on their success rate. See
   100  	// :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation for details.
   101  	//
   102  	// Note: this field may be omitted in any of the three following cases:
   103  	//
   104  	// 1. There were not enough hosts with enough request volume to proceed with success rate based
   105  	//    outlier ejection.
   106  	// 2. The threshold is computed to be < 0 because a negative value implies that there was no
   107  	//    threshold for that interval.
   108  	// 3. Outlier detection is not enabled for this cluster.
   109  	SuccessRateEjectionThreshold *_type.Percent `protobuf:"bytes,3,opt,name=success_rate_ejection_threshold,json=successRateEjectionThreshold,proto3" json:"success_rate_ejection_threshold,omitempty"`
   110  	// Mapping from host address to the host's current status.
   111  	HostStatuses []*HostStatus `protobuf:"bytes,4,rep,name=host_statuses,json=hostStatuses,proto3" json:"host_statuses,omitempty"`
   112  	// The success rate threshold used in the last interval when only locally originated failures were
   113  	// taken into account and externally originated errors were treated as success.
   114  	// This field should be interpreted only when
   115  	// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
   116  	// is *true*. The threshold is used to eject hosts based on their success rate.
   117  	// See :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation for
   118  	// details.
   119  	//
   120  	// Note: this field may be omitted in any of the three following cases:
   121  	//
   122  	// 1. There were not enough hosts with enough request volume to proceed with success rate based
   123  	//    outlier ejection.
   124  	// 2. The threshold is computed to be < 0 because a negative value implies that there was no
   125  	//    threshold for that interval.
   126  	// 3. Outlier detection is not enabled for this cluster.
   127  	LocalOriginSuccessRateEjectionThreshold *_type.Percent `protobuf:"bytes,5,opt,name=local_origin_success_rate_ejection_threshold,json=localOriginSuccessRateEjectionThreshold,proto3" json:"local_origin_success_rate_ejection_threshold,omitempty"`
   128  }
   129  
   130  func (x *ClusterStatus) Reset() {
   131  	*x = ClusterStatus{}
   132  	if protoimpl.UnsafeEnabled {
   133  		mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[1]
   134  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   135  		ms.StoreMessageInfo(mi)
   136  	}
   137  }
   138  
   139  func (x *ClusterStatus) String() string {
   140  	return protoimpl.X.MessageStringOf(x)
   141  }
   142  
   143  func (*ClusterStatus) ProtoMessage() {}
   144  
   145  func (x *ClusterStatus) ProtoReflect() protoreflect.Message {
   146  	mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[1]
   147  	if protoimpl.UnsafeEnabled && x != nil {
   148  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   149  		if ms.LoadMessageInfo() == nil {
   150  			ms.StoreMessageInfo(mi)
   151  		}
   152  		return ms
   153  	}
   154  	return mi.MessageOf(x)
   155  }
   156  
   157  // Deprecated: Use ClusterStatus.ProtoReflect.Descriptor instead.
   158  func (*ClusterStatus) Descriptor() ([]byte, []int) {
   159  	return file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP(), []int{1}
   160  }
   161  
   162  func (x *ClusterStatus) GetName() string {
   163  	if x != nil {
   164  		return x.Name
   165  	}
   166  	return ""
   167  }
   168  
   169  func (x *ClusterStatus) GetAddedViaApi() bool {
   170  	if x != nil {
   171  		return x.AddedViaApi
   172  	}
   173  	return false
   174  }
   175  
   176  func (x *ClusterStatus) GetSuccessRateEjectionThreshold() *_type.Percent {
   177  	if x != nil {
   178  		return x.SuccessRateEjectionThreshold
   179  	}
   180  	return nil
   181  }
   182  
   183  func (x *ClusterStatus) GetHostStatuses() []*HostStatus {
   184  	if x != nil {
   185  		return x.HostStatuses
   186  	}
   187  	return nil
   188  }
   189  
   190  func (x *ClusterStatus) GetLocalOriginSuccessRateEjectionThreshold() *_type.Percent {
   191  	if x != nil {
   192  		return x.LocalOriginSuccessRateEjectionThreshold
   193  	}
   194  	return nil
   195  }
   196  
   197  // Current state of a particular host.
   198  // [#next-free-field: 10]
   199  type HostStatus struct {
   200  	state         protoimpl.MessageState
   201  	sizeCache     protoimpl.SizeCache
   202  	unknownFields protoimpl.UnknownFields
   203  
   204  	// Address of this host.
   205  	Address *core.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
   206  	// List of stats specific to this host.
   207  	Stats []*SimpleMetric `protobuf:"bytes,2,rep,name=stats,proto3" json:"stats,omitempty"`
   208  	// The host's current health status.
   209  	HealthStatus *HostHealthStatus `protobuf:"bytes,3,opt,name=health_status,json=healthStatus,proto3" json:"health_status,omitempty"`
   210  	// Request success rate for this host over the last calculated interval.
   211  	// If
   212  	// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
   213  	// is *false*, all errors: externally and locally generated were used in success rate
   214  	// calculation. If
   215  	// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
   216  	// is *true*, only externally generated errors were used in success rate calculation.
   217  	// See :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation for
   218  	// details.
   219  	//
   220  	// Note: the message will not be present if host did not have enough request volume to calculate
   221  	// success rate or the cluster did not have enough hosts to run through success rate outlier
   222  	// ejection.
   223  	SuccessRate *_type.Percent `protobuf:"bytes,4,opt,name=success_rate,json=successRate,proto3" json:"success_rate,omitempty"`
   224  	// The host's weight. If not configured, the value defaults to 1.
   225  	Weight uint32 `protobuf:"varint,5,opt,name=weight,proto3" json:"weight,omitempty"`
   226  	// The hostname of the host, if applicable.
   227  	Hostname string `protobuf:"bytes,6,opt,name=hostname,proto3" json:"hostname,omitempty"`
   228  	// The host's priority. If not configured, the value defaults to 0 (highest priority).
   229  	Priority uint32 `protobuf:"varint,7,opt,name=priority,proto3" json:"priority,omitempty"`
   230  	// Request success rate for this host over the last calculated
   231  	// interval when only locally originated errors are taken into account and externally originated
   232  	// errors were treated as success.
   233  	// This field should be interpreted only when
   234  	// :ref:`outlier_detection.split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
   235  	// is *true*.
   236  	// See :ref:`Cluster outlier detection <arch_overview_outlier_detection>` documentation for
   237  	// details.
   238  	//
   239  	// Note: the message will not be present if host did not have enough request volume to calculate
   240  	// success rate or the cluster did not have enough hosts to run through success rate outlier
   241  	// ejection.
   242  	LocalOriginSuccessRate *_type.Percent `protobuf:"bytes,8,opt,name=local_origin_success_rate,json=localOriginSuccessRate,proto3" json:"local_origin_success_rate,omitempty"`
   243  	// locality of the host.
   244  	Locality *core.Locality `protobuf:"bytes,9,opt,name=locality,proto3" json:"locality,omitempty"`
   245  }
   246  
   247  func (x *HostStatus) Reset() {
   248  	*x = HostStatus{}
   249  	if protoimpl.UnsafeEnabled {
   250  		mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[2]
   251  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   252  		ms.StoreMessageInfo(mi)
   253  	}
   254  }
   255  
   256  func (x *HostStatus) String() string {
   257  	return protoimpl.X.MessageStringOf(x)
   258  }
   259  
   260  func (*HostStatus) ProtoMessage() {}
   261  
   262  func (x *HostStatus) ProtoReflect() protoreflect.Message {
   263  	mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[2]
   264  	if protoimpl.UnsafeEnabled && x != nil {
   265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   266  		if ms.LoadMessageInfo() == nil {
   267  			ms.StoreMessageInfo(mi)
   268  		}
   269  		return ms
   270  	}
   271  	return mi.MessageOf(x)
   272  }
   273  
   274  // Deprecated: Use HostStatus.ProtoReflect.Descriptor instead.
   275  func (*HostStatus) Descriptor() ([]byte, []int) {
   276  	return file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP(), []int{2}
   277  }
   278  
   279  func (x *HostStatus) GetAddress() *core.Address {
   280  	if x != nil {
   281  		return x.Address
   282  	}
   283  	return nil
   284  }
   285  
   286  func (x *HostStatus) GetStats() []*SimpleMetric {
   287  	if x != nil {
   288  		return x.Stats
   289  	}
   290  	return nil
   291  }
   292  
   293  func (x *HostStatus) GetHealthStatus() *HostHealthStatus {
   294  	if x != nil {
   295  		return x.HealthStatus
   296  	}
   297  	return nil
   298  }
   299  
   300  func (x *HostStatus) GetSuccessRate() *_type.Percent {
   301  	if x != nil {
   302  		return x.SuccessRate
   303  	}
   304  	return nil
   305  }
   306  
   307  func (x *HostStatus) GetWeight() uint32 {
   308  	if x != nil {
   309  		return x.Weight
   310  	}
   311  	return 0
   312  }
   313  
   314  func (x *HostStatus) GetHostname() string {
   315  	if x != nil {
   316  		return x.Hostname
   317  	}
   318  	return ""
   319  }
   320  
   321  func (x *HostStatus) GetPriority() uint32 {
   322  	if x != nil {
   323  		return x.Priority
   324  	}
   325  	return 0
   326  }
   327  
   328  func (x *HostStatus) GetLocalOriginSuccessRate() *_type.Percent {
   329  	if x != nil {
   330  		return x.LocalOriginSuccessRate
   331  	}
   332  	return nil
   333  }
   334  
   335  func (x *HostStatus) GetLocality() *core.Locality {
   336  	if x != nil {
   337  		return x.Locality
   338  	}
   339  	return nil
   340  }
   341  
   342  // Health status for a host.
   343  // [#next-free-field: 7]
   344  type HostHealthStatus struct {
   345  	state         protoimpl.MessageState
   346  	sizeCache     protoimpl.SizeCache
   347  	unknownFields protoimpl.UnknownFields
   348  
   349  	// The host is currently failing active health checks.
   350  	FailedActiveHealthCheck bool `protobuf:"varint,1,opt,name=failed_active_health_check,json=failedActiveHealthCheck,proto3" json:"failed_active_health_check,omitempty"`
   351  	// The host is currently considered an outlier and has been ejected.
   352  	FailedOutlierCheck bool `protobuf:"varint,2,opt,name=failed_outlier_check,json=failedOutlierCheck,proto3" json:"failed_outlier_check,omitempty"`
   353  	// The host is currently being marked as degraded through active health checking.
   354  	FailedActiveDegradedCheck bool `protobuf:"varint,4,opt,name=failed_active_degraded_check,json=failedActiveDegradedCheck,proto3" json:"failed_active_degraded_check,omitempty"`
   355  	// The host has been removed from service discovery, but is being stabilized due to active
   356  	// health checking.
   357  	PendingDynamicRemoval bool `protobuf:"varint,5,opt,name=pending_dynamic_removal,json=pendingDynamicRemoval,proto3" json:"pending_dynamic_removal,omitempty"`
   358  	// The host has not yet been health checked.
   359  	PendingActiveHc bool `protobuf:"varint,6,opt,name=pending_active_hc,json=pendingActiveHc,proto3" json:"pending_active_hc,omitempty"`
   360  	// Health status as reported by EDS. Note: only HEALTHY and UNHEALTHY are currently supported
   361  	// here.
   362  	// [#comment:TODO(mrice32): pipe through remaining EDS health status possibilities.]
   363  	EdsHealthStatus core.HealthStatus `protobuf:"varint,3,opt,name=eds_health_status,json=edsHealthStatus,proto3,enum=envoy.api.v2.core.HealthStatus" json:"eds_health_status,omitempty"`
   364  }
   365  
   366  func (x *HostHealthStatus) Reset() {
   367  	*x = HostHealthStatus{}
   368  	if protoimpl.UnsafeEnabled {
   369  		mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[3]
   370  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   371  		ms.StoreMessageInfo(mi)
   372  	}
   373  }
   374  
   375  func (x *HostHealthStatus) String() string {
   376  	return protoimpl.X.MessageStringOf(x)
   377  }
   378  
   379  func (*HostHealthStatus) ProtoMessage() {}
   380  
   381  func (x *HostHealthStatus) ProtoReflect() protoreflect.Message {
   382  	mi := &file_envoy_admin_v2alpha_clusters_proto_msgTypes[3]
   383  	if protoimpl.UnsafeEnabled && x != nil {
   384  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   385  		if ms.LoadMessageInfo() == nil {
   386  			ms.StoreMessageInfo(mi)
   387  		}
   388  		return ms
   389  	}
   390  	return mi.MessageOf(x)
   391  }
   392  
   393  // Deprecated: Use HostHealthStatus.ProtoReflect.Descriptor instead.
   394  func (*HostHealthStatus) Descriptor() ([]byte, []int) {
   395  	return file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP(), []int{3}
   396  }
   397  
   398  func (x *HostHealthStatus) GetFailedActiveHealthCheck() bool {
   399  	if x != nil {
   400  		return x.FailedActiveHealthCheck
   401  	}
   402  	return false
   403  }
   404  
   405  func (x *HostHealthStatus) GetFailedOutlierCheck() bool {
   406  	if x != nil {
   407  		return x.FailedOutlierCheck
   408  	}
   409  	return false
   410  }
   411  
   412  func (x *HostHealthStatus) GetFailedActiveDegradedCheck() bool {
   413  	if x != nil {
   414  		return x.FailedActiveDegradedCheck
   415  	}
   416  	return false
   417  }
   418  
   419  func (x *HostHealthStatus) GetPendingDynamicRemoval() bool {
   420  	if x != nil {
   421  		return x.PendingDynamicRemoval
   422  	}
   423  	return false
   424  }
   425  
   426  func (x *HostHealthStatus) GetPendingActiveHc() bool {
   427  	if x != nil {
   428  		return x.PendingActiveHc
   429  	}
   430  	return false
   431  }
   432  
   433  func (x *HostHealthStatus) GetEdsHealthStatus() core.HealthStatus {
   434  	if x != nil {
   435  		return x.EdsHealthStatus
   436  	}
   437  	return core.HealthStatus_UNKNOWN
   438  }
   439  
   440  var File_envoy_admin_v2alpha_clusters_proto protoreflect.FileDescriptor
   441  
   442  var file_envoy_admin_v2alpha_clusters_proto_rawDesc = []byte{
   443  	0x0a, 0x22, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32,
   444  	0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x70,
   445  	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69,
   446  	0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   447  	0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6d,
   448  	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e,
   449  	0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f,
   450  	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x65,
   451  	0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65,
   452  	0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76,
   453  	0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x68,
   454  	0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   455  	0x6f, 0x1a, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x65,
   456  	0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70,
   457  	0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74,
   458  	0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x08, 0x43, 0x6c,
   459  	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
   460  	0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
   461  	0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76,
   462  	0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74,
   463  	0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61,
   464  	0x74, 0x75, 0x73, 0x65, 0x73, 0x22, 0xdd, 0x02, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
   465  	0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
   466  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61,
   467  	0x64, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x02, 0x20, 0x01,
   468  	0x28, 0x08, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x65, 0x64, 0x56, 0x69, 0x61, 0x41, 0x70, 0x69, 0x12,
   469  	0x5a, 0x0a, 0x1f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f,
   470  	0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
   471  	0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   472  	0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x1c, 0x73,
   473  	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69,
   474  	0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x68,
   475  	0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03,
   476  	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e,
   477  	0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61,
   478  	0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65,
   479  	0x73, 0x12, 0x72, 0x0a, 0x2c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69,
   480  	0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x65,
   481  	0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
   482  	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
   483  	0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x27, 0x6c, 0x6f,
   484  	0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
   485  	0x52, 0x61, 0x74, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x68, 0x72, 0x65,
   486  	0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xd8, 0x03, 0x0a, 0x0a, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74,
   487  	0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
   488  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
   489  	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
   490  	0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74,
   491  	0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   492  	0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e,
   493  	0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x73, 0x74,
   494  	0x61, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74,
   495  	0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76,
   496  	0x6f, 0x79, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61,
   497  	0x2e, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75,
   498  	0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
   499  	0x36, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18,
   500  	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79,
   501  	0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63,
   502  	0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68,
   503  	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
   504  	0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
   505  	0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70,
   506  	0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70,
   507  	0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4e, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
   508  	0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
   509  	0x72, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x65, 0x6e, 0x76,
   510  	0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52,
   511  	0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63,
   512  	0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
   513  	0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   514  	0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x6f,
   515  	0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
   516  	0x22, 0xf3, 0x02, 0x0a, 0x10, 0x48, 0x6f, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53,
   517  	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f,
   518  	0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68,
   519  	0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65,
   520  	0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
   521  	0x63, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74,
   522  	0x6c, 0x69, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
   523  	0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x43,
   524  	0x68, 0x65, 0x63, 0x6b, 0x12, 0x3f, 0x0a, 0x1c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x61,
   525  	0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x63,
   526  	0x68, 0x65, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x66, 0x61, 0x69, 0x6c,
   527  	0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64,
   528  	0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67,
   529  	0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c,
   530  	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44,
   531  	0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x2a, 0x0a,
   532  	0x11, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
   533  	0x68, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e,
   534  	0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x48, 0x63, 0x12, 0x4b, 0x0a, 0x11, 0x65, 0x64, 0x73,
   535  	0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03,
   536  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
   537  	0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53,
   538  	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x65, 0x64, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68,
   539  	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x3c, 0x0a, 0x21, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76,
   540  	0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x64,
   541  	0x6d, 0x69, 0x6e, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0d, 0x43, 0x6c, 0x75,
   542  	0x73, 0x74, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xba, 0x80, 0xc8, 0xd1,
   543  	0x06, 0x02, 0x10, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   544  }
   545  
   546  var (
   547  	file_envoy_admin_v2alpha_clusters_proto_rawDescOnce sync.Once
   548  	file_envoy_admin_v2alpha_clusters_proto_rawDescData = file_envoy_admin_v2alpha_clusters_proto_rawDesc
   549  )
   550  
   551  func file_envoy_admin_v2alpha_clusters_proto_rawDescGZIP() []byte {
   552  	file_envoy_admin_v2alpha_clusters_proto_rawDescOnce.Do(func() {
   553  		file_envoy_admin_v2alpha_clusters_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_admin_v2alpha_clusters_proto_rawDescData)
   554  	})
   555  	return file_envoy_admin_v2alpha_clusters_proto_rawDescData
   556  }
   557  
   558  var file_envoy_admin_v2alpha_clusters_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
   559  var file_envoy_admin_v2alpha_clusters_proto_goTypes = []interface{}{
   560  	(*Clusters)(nil),         // 0: envoy.admin.v2alpha.Clusters
   561  	(*ClusterStatus)(nil),    // 1: envoy.admin.v2alpha.ClusterStatus
   562  	(*HostStatus)(nil),       // 2: envoy.admin.v2alpha.HostStatus
   563  	(*HostHealthStatus)(nil), // 3: envoy.admin.v2alpha.HostHealthStatus
   564  	(*_type.Percent)(nil),    // 4: envoy.type.Percent
   565  	(*core.Address)(nil),     // 5: envoy.api.v2.core.Address
   566  	(*SimpleMetric)(nil),     // 6: envoy.admin.v2alpha.SimpleMetric
   567  	(*core.Locality)(nil),    // 7: envoy.api.v2.core.Locality
   568  	(core.HealthStatus)(0),   // 8: envoy.api.v2.core.HealthStatus
   569  }
   570  var file_envoy_admin_v2alpha_clusters_proto_depIdxs = []int32{
   571  	1,  // 0: envoy.admin.v2alpha.Clusters.cluster_statuses:type_name -> envoy.admin.v2alpha.ClusterStatus
   572  	4,  // 1: envoy.admin.v2alpha.ClusterStatus.success_rate_ejection_threshold:type_name -> envoy.type.Percent
   573  	2,  // 2: envoy.admin.v2alpha.ClusterStatus.host_statuses:type_name -> envoy.admin.v2alpha.HostStatus
   574  	4,  // 3: envoy.admin.v2alpha.ClusterStatus.local_origin_success_rate_ejection_threshold:type_name -> envoy.type.Percent
   575  	5,  // 4: envoy.admin.v2alpha.HostStatus.address:type_name -> envoy.api.v2.core.Address
   576  	6,  // 5: envoy.admin.v2alpha.HostStatus.stats:type_name -> envoy.admin.v2alpha.SimpleMetric
   577  	3,  // 6: envoy.admin.v2alpha.HostStatus.health_status:type_name -> envoy.admin.v2alpha.HostHealthStatus
   578  	4,  // 7: envoy.admin.v2alpha.HostStatus.success_rate:type_name -> envoy.type.Percent
   579  	4,  // 8: envoy.admin.v2alpha.HostStatus.local_origin_success_rate:type_name -> envoy.type.Percent
   580  	7,  // 9: envoy.admin.v2alpha.HostStatus.locality:type_name -> envoy.api.v2.core.Locality
   581  	8,  // 10: envoy.admin.v2alpha.HostHealthStatus.eds_health_status:type_name -> envoy.api.v2.core.HealthStatus
   582  	11, // [11:11] is the sub-list for method output_type
   583  	11, // [11:11] is the sub-list for method input_type
   584  	11, // [11:11] is the sub-list for extension type_name
   585  	11, // [11:11] is the sub-list for extension extendee
   586  	0,  // [0:11] is the sub-list for field type_name
   587  }
   588  
   589  func init() { file_envoy_admin_v2alpha_clusters_proto_init() }
   590  func file_envoy_admin_v2alpha_clusters_proto_init() {
   591  	if File_envoy_admin_v2alpha_clusters_proto != nil {
   592  		return
   593  	}
   594  	file_envoy_admin_v2alpha_metrics_proto_init()
   595  	if !protoimpl.UnsafeEnabled {
   596  		file_envoy_admin_v2alpha_clusters_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   597  			switch v := v.(*Clusters); i {
   598  			case 0:
   599  				return &v.state
   600  			case 1:
   601  				return &v.sizeCache
   602  			case 2:
   603  				return &v.unknownFields
   604  			default:
   605  				return nil
   606  			}
   607  		}
   608  		file_envoy_admin_v2alpha_clusters_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   609  			switch v := v.(*ClusterStatus); i {
   610  			case 0:
   611  				return &v.state
   612  			case 1:
   613  				return &v.sizeCache
   614  			case 2:
   615  				return &v.unknownFields
   616  			default:
   617  				return nil
   618  			}
   619  		}
   620  		file_envoy_admin_v2alpha_clusters_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   621  			switch v := v.(*HostStatus); i {
   622  			case 0:
   623  				return &v.state
   624  			case 1:
   625  				return &v.sizeCache
   626  			case 2:
   627  				return &v.unknownFields
   628  			default:
   629  				return nil
   630  			}
   631  		}
   632  		file_envoy_admin_v2alpha_clusters_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   633  			switch v := v.(*HostHealthStatus); i {
   634  			case 0:
   635  				return &v.state
   636  			case 1:
   637  				return &v.sizeCache
   638  			case 2:
   639  				return &v.unknownFields
   640  			default:
   641  				return nil
   642  			}
   643  		}
   644  	}
   645  	type x struct{}
   646  	out := protoimpl.TypeBuilder{
   647  		File: protoimpl.DescBuilder{
   648  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   649  			RawDescriptor: file_envoy_admin_v2alpha_clusters_proto_rawDesc,
   650  			NumEnums:      0,
   651  			NumMessages:   4,
   652  			NumExtensions: 0,
   653  			NumServices:   0,
   654  		},
   655  		GoTypes:           file_envoy_admin_v2alpha_clusters_proto_goTypes,
   656  		DependencyIndexes: file_envoy_admin_v2alpha_clusters_proto_depIdxs,
   657  		MessageInfos:      file_envoy_admin_v2alpha_clusters_proto_msgTypes,
   658  	}.Build()
   659  	File_envoy_admin_v2alpha_clusters_proto = out.File
   660  	file_envoy_admin_v2alpha_clusters_proto_rawDesc = nil
   661  	file_envoy_admin_v2alpha_clusters_proto_goTypes = nil
   662  	file_envoy_admin_v2alpha_clusters_proto_depIdxs = nil
   663  }