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