1// Copyright 2016 The gRPC Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// A ServiceConfig is supplied when a service is deployed. It mostly contains
16// parameters for how clients that connect to the service should behave (for
17// example, the load balancing policy to use to pick between service replicas).
18//
19// The configuration options provided here act as overrides to automatically
20// chosen option values. Service owners should be conservative in specifying
21// options as the system is likely to choose better values for these options in
22// the vast majority of cases. In other words, please specify a configuration
23// option only if you really have to, and avoid copy-paste inclusion of configs.
24
25// Code generated by protoc-gen-go. DO NOT EDIT.
26// versions:
27// 	protoc-gen-go v1.25.0
28// 	protoc        v3.14.0
29// source: grpc/service_config/service_config.proto
30
31package grpc_service_config
32
33import (
34	proto "github.com/golang/protobuf/proto"
35	code "google.golang.org/genproto/googleapis/rpc/code"
36	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
37	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
38	durationpb "google.golang.org/protobuf/types/known/durationpb"
39	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
40	reflect "reflect"
41	sync "sync"
42)
43
44const (
45	// Verify that this generated code is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
47	// Verify that runtime/protoimpl is sufficiently up-to-date.
48	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
49)
50
51// This is a compile-time assertion that a sufficiently up-to-date version
52// of the legacy proto package is being used.
53const _ = proto.ProtoPackageIsVersion4
54
55// Load balancing policy.
56//
57// Note that load_balancing_policy is deprecated in favor of
58// load_balancing_config; the former will be used only if the latter
59// is unset.
60//
61// If no LB policy is configured here, then the default is pick_first.
62// If the policy name is set via the client API, that value overrides
63// the value specified here.
64//
65// If the deprecated load_balancing_policy field is used, note that if the
66// resolver returns at least one balancer address (as opposed to backend
67// addresses), gRPC will use grpclb (see
68// https://github.com/grpc/grpc/blob/master/doc/load-balancing.md),
69// regardless of what policy is configured here.  However, if the resolver
70// returns at least one backend address in addition to the balancer
71// address(es), the client may fall back to the requested policy if it
72// is unable to reach any of the grpclb load balancers.
73type ServiceConfig_LoadBalancingPolicy int32
74
75const (
76	ServiceConfig_UNSPECIFIED ServiceConfig_LoadBalancingPolicy = 0
77	ServiceConfig_ROUND_ROBIN ServiceConfig_LoadBalancingPolicy = 1
78)
79
80// Enum value maps for ServiceConfig_LoadBalancingPolicy.
81var (
82	ServiceConfig_LoadBalancingPolicy_name = map[int32]string{
83		0: "UNSPECIFIED",
84		1: "ROUND_ROBIN",
85	}
86	ServiceConfig_LoadBalancingPolicy_value = map[string]int32{
87		"UNSPECIFIED": 0,
88		"ROUND_ROBIN": 1,
89	}
90)
91
92func (x ServiceConfig_LoadBalancingPolicy) Enum() *ServiceConfig_LoadBalancingPolicy {
93	p := new(ServiceConfig_LoadBalancingPolicy)
94	*p = x
95	return p
96}
97
98func (x ServiceConfig_LoadBalancingPolicy) String() string {
99	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
100}
101
102func (ServiceConfig_LoadBalancingPolicy) Descriptor() protoreflect.EnumDescriptor {
103	return file_grpc_service_config_service_config_proto_enumTypes[0].Descriptor()
104}
105
106func (ServiceConfig_LoadBalancingPolicy) Type() protoreflect.EnumType {
107	return &file_grpc_service_config_service_config_proto_enumTypes[0]
108}
109
110func (x ServiceConfig_LoadBalancingPolicy) Number() protoreflect.EnumNumber {
111	return protoreflect.EnumNumber(x)
112}
113
114// Deprecated: Use ServiceConfig_LoadBalancingPolicy.Descriptor instead.
115func (ServiceConfig_LoadBalancingPolicy) EnumDescriptor() ([]byte, []int) {
116	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{11, 0}
117}
118
119// Configuration for a method.
120type MethodConfig struct {
121	state         protoimpl.MessageState
122	sizeCache     protoimpl.SizeCache
123	unknownFields protoimpl.UnknownFields
124
125	Name []*MethodConfig_Name `protobuf:"bytes,1,rep,name=name,proto3" json:"name,omitempty"`
126	// Whether RPCs sent to this method should wait until the connection is
127	// ready by default. If false, the RPC will abort immediately if there is
128	// a transient failure connecting to the server. Otherwise, gRPC will
129	// attempt to connect until the deadline is exceeded.
130	//
131	// The value specified via the gRPC client API will override the value
132	// set here. However, note that setting the value in the client API will
133	// also affect transient errors encountered during name resolution, which
134	// cannot be caught by the value here, since the service config is
135	// obtained by the gRPC client via name resolution.
136	WaitForReady *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=wait_for_ready,json=waitForReady,proto3" json:"wait_for_ready,omitempty"`
137	// The default timeout in seconds for RPCs sent to this method. This can be
138	// overridden in code. If no reply is received in the specified amount of
139	// time, the request is aborted and a DEADLINE_EXCEEDED error status
140	// is returned to the caller.
141	//
142	// The actual deadline used will be the minimum of the value specified here
143	// and the value set by the application via the gRPC client API.  If either
144	// one is not set, then the other will be used.  If neither is set, then the
145	// request has no deadline.
146	Timeout *durationpb.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
147	// The maximum allowed payload size for an individual request or object in a
148	// stream (client->server) in bytes. The size which is measured is the
149	// serialized payload after per-message compression (but before stream
150	// compression) in bytes. This applies both to streaming and non-streaming
151	// requests.
152	//
153	// The actual value used is the minimum of the value specified here and the
154	// value set by the application via the gRPC client API.  If either one is
155	// not set, then the other will be used.  If neither is set, then the
156	// built-in default is used.
157	//
158	// If a client attempts to send an object larger than this value, it will not
159	// be sent and the client will see a ClientError.
160	// Note that 0 is a valid value, meaning that the request message
161	// must be empty.
162	MaxRequestMessageBytes *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=max_request_message_bytes,json=maxRequestMessageBytes,proto3" json:"max_request_message_bytes,omitempty"`
163	// The maximum allowed payload size for an individual response or object in a
164	// stream (server->client) in bytes. The size which is measured is the
165	// serialized payload after per-message compression (but before stream
166	// compression) in bytes. This applies both to streaming and non-streaming
167	// requests.
168	//
169	// The actual value used is the minimum of the value specified here and the
170	// value set by the application via the gRPC client API.  If either one is
171	// not set, then the other will be used.  If neither is set, then the
172	// built-in default is used.
173	//
174	// If a server attempts to send an object larger than this value, it will not
175	// be sent, and a ServerError will be sent to the client instead.
176	// Note that 0 is a valid value, meaning that the response message
177	// must be empty.
178	MaxResponseMessageBytes *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=max_response_message_bytes,json=maxResponseMessageBytes,proto3" json:"max_response_message_bytes,omitempty"`
179	// Only one of retry_policy or hedging_policy may be set. If neither is set,
180	// RPCs will not be retried or hedged.
181	//
182	// Types that are assignable to RetryOrHedgingPolicy:
183	//	*MethodConfig_RetryPolicy_
184	//	*MethodConfig_HedgingPolicy_
185	RetryOrHedgingPolicy isMethodConfig_RetryOrHedgingPolicy `protobuf_oneof:"retry_or_hedging_policy"`
186}
187
188func (x *MethodConfig) Reset() {
189	*x = MethodConfig{}
190	if protoimpl.UnsafeEnabled {
191		mi := &file_grpc_service_config_service_config_proto_msgTypes[0]
192		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
193		ms.StoreMessageInfo(mi)
194	}
195}
196
197func (x *MethodConfig) String() string {
198	return protoimpl.X.MessageStringOf(x)
199}
200
201func (*MethodConfig) ProtoMessage() {}
202
203func (x *MethodConfig) ProtoReflect() protoreflect.Message {
204	mi := &file_grpc_service_config_service_config_proto_msgTypes[0]
205	if protoimpl.UnsafeEnabled && x != nil {
206		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
207		if ms.LoadMessageInfo() == nil {
208			ms.StoreMessageInfo(mi)
209		}
210		return ms
211	}
212	return mi.MessageOf(x)
213}
214
215// Deprecated: Use MethodConfig.ProtoReflect.Descriptor instead.
216func (*MethodConfig) Descriptor() ([]byte, []int) {
217	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{0}
218}
219
220func (x *MethodConfig) GetName() []*MethodConfig_Name {
221	if x != nil {
222		return x.Name
223	}
224	return nil
225}
226
227func (x *MethodConfig) GetWaitForReady() *wrapperspb.BoolValue {
228	if x != nil {
229		return x.WaitForReady
230	}
231	return nil
232}
233
234func (x *MethodConfig) GetTimeout() *durationpb.Duration {
235	if x != nil {
236		return x.Timeout
237	}
238	return nil
239}
240
241func (x *MethodConfig) GetMaxRequestMessageBytes() *wrapperspb.UInt32Value {
242	if x != nil {
243		return x.MaxRequestMessageBytes
244	}
245	return nil
246}
247
248func (x *MethodConfig) GetMaxResponseMessageBytes() *wrapperspb.UInt32Value {
249	if x != nil {
250		return x.MaxResponseMessageBytes
251	}
252	return nil
253}
254
255func (m *MethodConfig) GetRetryOrHedgingPolicy() isMethodConfig_RetryOrHedgingPolicy {
256	if m != nil {
257		return m.RetryOrHedgingPolicy
258	}
259	return nil
260}
261
262func (x *MethodConfig) GetRetryPolicy() *MethodConfig_RetryPolicy {
263	if x, ok := x.GetRetryOrHedgingPolicy().(*MethodConfig_RetryPolicy_); ok {
264		return x.RetryPolicy
265	}
266	return nil
267}
268
269func (x *MethodConfig) GetHedgingPolicy() *MethodConfig_HedgingPolicy {
270	if x, ok := x.GetRetryOrHedgingPolicy().(*MethodConfig_HedgingPolicy_); ok {
271		return x.HedgingPolicy
272	}
273	return nil
274}
275
276type isMethodConfig_RetryOrHedgingPolicy interface {
277	isMethodConfig_RetryOrHedgingPolicy()
278}
279
280type MethodConfig_RetryPolicy_ struct {
281	RetryPolicy *MethodConfig_RetryPolicy `protobuf:"bytes,6,opt,name=retry_policy,json=retryPolicy,proto3,oneof"`
282}
283
284type MethodConfig_HedgingPolicy_ struct {
285	HedgingPolicy *MethodConfig_HedgingPolicy `protobuf:"bytes,7,opt,name=hedging_policy,json=hedgingPolicy,proto3,oneof"`
286}
287
288func (*MethodConfig_RetryPolicy_) isMethodConfig_RetryOrHedgingPolicy() {}
289
290func (*MethodConfig_HedgingPolicy_) isMethodConfig_RetryOrHedgingPolicy() {}
291
292// Configuration for pick_first LB policy.
293type PickFirstConfig struct {
294	state         protoimpl.MessageState
295	sizeCache     protoimpl.SizeCache
296	unknownFields protoimpl.UnknownFields
297}
298
299func (x *PickFirstConfig) Reset() {
300	*x = PickFirstConfig{}
301	if protoimpl.UnsafeEnabled {
302		mi := &file_grpc_service_config_service_config_proto_msgTypes[1]
303		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
304		ms.StoreMessageInfo(mi)
305	}
306}
307
308func (x *PickFirstConfig) String() string {
309	return protoimpl.X.MessageStringOf(x)
310}
311
312func (*PickFirstConfig) ProtoMessage() {}
313
314func (x *PickFirstConfig) ProtoReflect() protoreflect.Message {
315	mi := &file_grpc_service_config_service_config_proto_msgTypes[1]
316	if protoimpl.UnsafeEnabled && x != nil {
317		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
318		if ms.LoadMessageInfo() == nil {
319			ms.StoreMessageInfo(mi)
320		}
321		return ms
322	}
323	return mi.MessageOf(x)
324}
325
326// Deprecated: Use PickFirstConfig.ProtoReflect.Descriptor instead.
327func (*PickFirstConfig) Descriptor() ([]byte, []int) {
328	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{1}
329}
330
331// Configuration for round_robin LB policy.
332type RoundRobinConfig struct {
333	state         protoimpl.MessageState
334	sizeCache     protoimpl.SizeCache
335	unknownFields protoimpl.UnknownFields
336}
337
338func (x *RoundRobinConfig) Reset() {
339	*x = RoundRobinConfig{}
340	if protoimpl.UnsafeEnabled {
341		mi := &file_grpc_service_config_service_config_proto_msgTypes[2]
342		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
343		ms.StoreMessageInfo(mi)
344	}
345}
346
347func (x *RoundRobinConfig) String() string {
348	return protoimpl.X.MessageStringOf(x)
349}
350
351func (*RoundRobinConfig) ProtoMessage() {}
352
353func (x *RoundRobinConfig) ProtoReflect() protoreflect.Message {
354	mi := &file_grpc_service_config_service_config_proto_msgTypes[2]
355	if protoimpl.UnsafeEnabled && x != nil {
356		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
357		if ms.LoadMessageInfo() == nil {
358			ms.StoreMessageInfo(mi)
359		}
360		return ms
361	}
362	return mi.MessageOf(x)
363}
364
365// Deprecated: Use RoundRobinConfig.ProtoReflect.Descriptor instead.
366func (*RoundRobinConfig) Descriptor() ([]byte, []int) {
367	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{2}
368}
369
370// Configuration for priority LB policy.
371type PriorityLoadBalancingPolicyConfig struct {
372	state         protoimpl.MessageState
373	sizeCache     protoimpl.SizeCache
374	unknownFields protoimpl.UnknownFields
375
376	Children map[string]*PriorityLoadBalancingPolicyConfig_Child `protobuf:"bytes,1,rep,name=children,proto3" json:"children,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
377	// A list of child names in decreasing priority order
378	// (i.e., first element is the highest priority).
379	Priorities []string `protobuf:"bytes,2,rep,name=priorities,proto3" json:"priorities,omitempty"`
380}
381
382func (x *PriorityLoadBalancingPolicyConfig) Reset() {
383	*x = PriorityLoadBalancingPolicyConfig{}
384	if protoimpl.UnsafeEnabled {
385		mi := &file_grpc_service_config_service_config_proto_msgTypes[3]
386		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
387		ms.StoreMessageInfo(mi)
388	}
389}
390
391func (x *PriorityLoadBalancingPolicyConfig) String() string {
392	return protoimpl.X.MessageStringOf(x)
393}
394
395func (*PriorityLoadBalancingPolicyConfig) ProtoMessage() {}
396
397func (x *PriorityLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message {
398	mi := &file_grpc_service_config_service_config_proto_msgTypes[3]
399	if protoimpl.UnsafeEnabled && x != nil {
400		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
401		if ms.LoadMessageInfo() == nil {
402			ms.StoreMessageInfo(mi)
403		}
404		return ms
405	}
406	return mi.MessageOf(x)
407}
408
409// Deprecated: Use PriorityLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.
410func (*PriorityLoadBalancingPolicyConfig) Descriptor() ([]byte, []int) {
411	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{3}
412}
413
414func (x *PriorityLoadBalancingPolicyConfig) GetChildren() map[string]*PriorityLoadBalancingPolicyConfig_Child {
415	if x != nil {
416		return x.Children
417	}
418	return nil
419}
420
421func (x *PriorityLoadBalancingPolicyConfig) GetPriorities() []string {
422	if x != nil {
423		return x.Priorities
424	}
425	return nil
426}
427
428// Configuration for weighted_target LB policy.
429type WeightedTargetLoadBalancingPolicyConfig struct {
430	state         protoimpl.MessageState
431	sizeCache     protoimpl.SizeCache
432	unknownFields protoimpl.UnknownFields
433
434	Targets map[string]*WeightedTargetLoadBalancingPolicyConfig_Target `protobuf:"bytes,1,rep,name=targets,proto3" json:"targets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
435}
436
437func (x *WeightedTargetLoadBalancingPolicyConfig) Reset() {
438	*x = WeightedTargetLoadBalancingPolicyConfig{}
439	if protoimpl.UnsafeEnabled {
440		mi := &file_grpc_service_config_service_config_proto_msgTypes[4]
441		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
442		ms.StoreMessageInfo(mi)
443	}
444}
445
446func (x *WeightedTargetLoadBalancingPolicyConfig) String() string {
447	return protoimpl.X.MessageStringOf(x)
448}
449
450func (*WeightedTargetLoadBalancingPolicyConfig) ProtoMessage() {}
451
452func (x *WeightedTargetLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message {
453	mi := &file_grpc_service_config_service_config_proto_msgTypes[4]
454	if protoimpl.UnsafeEnabled && x != nil {
455		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
456		if ms.LoadMessageInfo() == nil {
457			ms.StoreMessageInfo(mi)
458		}
459		return ms
460	}
461	return mi.MessageOf(x)
462}
463
464// Deprecated: Use WeightedTargetLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.
465func (*WeightedTargetLoadBalancingPolicyConfig) Descriptor() ([]byte, []int) {
466	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{4}
467}
468
469func (x *WeightedTargetLoadBalancingPolicyConfig) GetTargets() map[string]*WeightedTargetLoadBalancingPolicyConfig_Target {
470	if x != nil {
471		return x.Targets
472	}
473	return nil
474}
475
476// Configuration for grpclb LB policy.
477type GrpcLbConfig struct {
478	state         protoimpl.MessageState
479	sizeCache     protoimpl.SizeCache
480	unknownFields protoimpl.UnknownFields
481
482	// Optional.  What LB policy to use for routing between the backend
483	// addresses.  If unset, defaults to round_robin.
484	// Currently, the only supported values are round_robin and pick_first.
485	// Note that this will be used both in balancer mode and in fallback mode.
486	// Multiple LB policies can be specified; clients will iterate through
487	// the list in order and stop at the first policy that they support.
488	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
489	// Optional.  If specified, overrides the name of the service to be sent to
490	// the balancer.
491	ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
492}
493
494func (x *GrpcLbConfig) Reset() {
495	*x = GrpcLbConfig{}
496	if protoimpl.UnsafeEnabled {
497		mi := &file_grpc_service_config_service_config_proto_msgTypes[5]
498		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
499		ms.StoreMessageInfo(mi)
500	}
501}
502
503func (x *GrpcLbConfig) String() string {
504	return protoimpl.X.MessageStringOf(x)
505}
506
507func (*GrpcLbConfig) ProtoMessage() {}
508
509func (x *GrpcLbConfig) ProtoReflect() protoreflect.Message {
510	mi := &file_grpc_service_config_service_config_proto_msgTypes[5]
511	if protoimpl.UnsafeEnabled && x != nil {
512		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
513		if ms.LoadMessageInfo() == nil {
514			ms.StoreMessageInfo(mi)
515		}
516		return ms
517	}
518	return mi.MessageOf(x)
519}
520
521// Deprecated: Use GrpcLbConfig.ProtoReflect.Descriptor instead.
522func (*GrpcLbConfig) Descriptor() ([]byte, []int) {
523	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{5}
524}
525
526func (x *GrpcLbConfig) GetChildPolicy() []*LoadBalancingConfig {
527	if x != nil {
528		return x.ChildPolicy
529	}
530	return nil
531}
532
533func (x *GrpcLbConfig) GetServiceName() string {
534	if x != nil {
535		return x.ServiceName
536	}
537	return ""
538}
539
540// Configuration for the cds LB policy.
541type CdsConfig struct {
542	state         protoimpl.MessageState
543	sizeCache     protoimpl.SizeCache
544	unknownFields protoimpl.UnknownFields
545
546	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // Required.
547}
548
549func (x *CdsConfig) Reset() {
550	*x = CdsConfig{}
551	if protoimpl.UnsafeEnabled {
552		mi := &file_grpc_service_config_service_config_proto_msgTypes[6]
553		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
554		ms.StoreMessageInfo(mi)
555	}
556}
557
558func (x *CdsConfig) String() string {
559	return protoimpl.X.MessageStringOf(x)
560}
561
562func (*CdsConfig) ProtoMessage() {}
563
564func (x *CdsConfig) ProtoReflect() protoreflect.Message {
565	mi := &file_grpc_service_config_service_config_proto_msgTypes[6]
566	if protoimpl.UnsafeEnabled && x != nil {
567		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
568		if ms.LoadMessageInfo() == nil {
569			ms.StoreMessageInfo(mi)
570		}
571		return ms
572	}
573	return mi.MessageOf(x)
574}
575
576// Deprecated: Use CdsConfig.ProtoReflect.Descriptor instead.
577func (*CdsConfig) Descriptor() ([]byte, []int) {
578	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{6}
579}
580
581func (x *CdsConfig) GetCluster() string {
582	if x != nil {
583		return x.Cluster
584	}
585	return ""
586}
587
588// Configuration for xds LB policy.
589type XdsConfig struct {
590	state         protoimpl.MessageState
591	sizeCache     protoimpl.SizeCache
592	unknownFields protoimpl.UnknownFields
593
594	// Name of balancer to connect to.
595	//
596	// Deprecated: Do not use.
597	BalancerName string `protobuf:"bytes,1,opt,name=balancer_name,json=balancerName,proto3" json:"balancer_name,omitempty"`
598	// Optional.  What LB policy to use for intra-locality routing.
599	// If unset, will use whatever algorithm is specified by the balancer.
600	// Multiple LB policies can be specified; clients will iterate through
601	// the list in order and stop at the first policy that they support.
602	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
603	// Optional.  What LB policy to use in fallback mode.  If not
604	// specified, defaults to round_robin.
605	// Multiple LB policies can be specified; clients will iterate through
606	// the list in order and stop at the first policy that they support.
607	FallbackPolicy []*LoadBalancingConfig `protobuf:"bytes,3,rep,name=fallback_policy,json=fallbackPolicy,proto3" json:"fallback_policy,omitempty"`
608	// Optional.  Name to use in EDS query.  If not present, defaults to
609	// the server name from the target URI.
610	EdsServiceName string `protobuf:"bytes,4,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
611	// LRS server to send load reports to.
612	// If not present, load reporting will be disabled.
613	// If set to the empty string, load reporting will be sent to the same
614	// server that we obtained CDS data from.
615	LrsLoadReportingServerName *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=lrs_load_reporting_server_name,json=lrsLoadReportingServerName,proto3" json:"lrs_load_reporting_server_name,omitempty"`
616}
617
618func (x *XdsConfig) Reset() {
619	*x = XdsConfig{}
620	if protoimpl.UnsafeEnabled {
621		mi := &file_grpc_service_config_service_config_proto_msgTypes[7]
622		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
623		ms.StoreMessageInfo(mi)
624	}
625}
626
627func (x *XdsConfig) String() string {
628	return protoimpl.X.MessageStringOf(x)
629}
630
631func (*XdsConfig) ProtoMessage() {}
632
633func (x *XdsConfig) ProtoReflect() protoreflect.Message {
634	mi := &file_grpc_service_config_service_config_proto_msgTypes[7]
635	if protoimpl.UnsafeEnabled && x != nil {
636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
637		if ms.LoadMessageInfo() == nil {
638			ms.StoreMessageInfo(mi)
639		}
640		return ms
641	}
642	return mi.MessageOf(x)
643}
644
645// Deprecated: Use XdsConfig.ProtoReflect.Descriptor instead.
646func (*XdsConfig) Descriptor() ([]byte, []int) {
647	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{7}
648}
649
650// Deprecated: Do not use.
651func (x *XdsConfig) GetBalancerName() string {
652	if x != nil {
653		return x.BalancerName
654	}
655	return ""
656}
657
658func (x *XdsConfig) GetChildPolicy() []*LoadBalancingConfig {
659	if x != nil {
660		return x.ChildPolicy
661	}
662	return nil
663}
664
665func (x *XdsConfig) GetFallbackPolicy() []*LoadBalancingConfig {
666	if x != nil {
667		return x.FallbackPolicy
668	}
669	return nil
670}
671
672func (x *XdsConfig) GetEdsServiceName() string {
673	if x != nil {
674		return x.EdsServiceName
675	}
676	return ""
677}
678
679func (x *XdsConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue {
680	if x != nil {
681		return x.LrsLoadReportingServerName
682	}
683	return nil
684}
685
686// Configuration for eds LB policy.
687type EdsLoadBalancingPolicyConfig struct {
688	state         protoimpl.MessageState
689	sizeCache     protoimpl.SizeCache
690	unknownFields protoimpl.UnknownFields
691
692	// Cluster name.  Required.
693	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
694	// EDS service name, as returned in CDS.
695	// May be unset if not specified in CDS.
696	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
697	// Server to send load reports to.
698	// If unset, no load reporting is done.
699	// If set to empty string, load reporting will be sent to the same
700	// server as we are getting xds data from.
701	LrsLoadReportingServerName *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=lrs_load_reporting_server_name,json=lrsLoadReportingServerName,proto3" json:"lrs_load_reporting_server_name,omitempty"`
702	// Locality-picking policy.
703	// This policy's config is expected to be in the format used
704	// by the weighted_target policy.  Note that the config should include
705	// an empty value for the "targets" field; that empty value will be
706	// replaced by one that is dynamically generated based on the EDS data.
707	// Optional; defaults to "weighted_target".
708	LocalityPickingPolicy []*LoadBalancingConfig `protobuf:"bytes,4,rep,name=locality_picking_policy,json=localityPickingPolicy,proto3" json:"locality_picking_policy,omitempty"`
709	// Endpoint-picking policy.
710	// This will be configured as the policy for each child in the
711	// locality-policy's config.
712	// Optional; defaults to "round_robin".
713	EndpointPickingPolicy []*LoadBalancingConfig `protobuf:"bytes,5,rep,name=endpoint_picking_policy,json=endpointPickingPolicy,proto3" json:"endpoint_picking_policy,omitempty"`
714}
715
716func (x *EdsLoadBalancingPolicyConfig) Reset() {
717	*x = EdsLoadBalancingPolicyConfig{}
718	if protoimpl.UnsafeEnabled {
719		mi := &file_grpc_service_config_service_config_proto_msgTypes[8]
720		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
721		ms.StoreMessageInfo(mi)
722	}
723}
724
725func (x *EdsLoadBalancingPolicyConfig) String() string {
726	return protoimpl.X.MessageStringOf(x)
727}
728
729func (*EdsLoadBalancingPolicyConfig) ProtoMessage() {}
730
731func (x *EdsLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message {
732	mi := &file_grpc_service_config_service_config_proto_msgTypes[8]
733	if protoimpl.UnsafeEnabled && x != nil {
734		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
735		if ms.LoadMessageInfo() == nil {
736			ms.StoreMessageInfo(mi)
737		}
738		return ms
739	}
740	return mi.MessageOf(x)
741}
742
743// Deprecated: Use EdsLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.
744func (*EdsLoadBalancingPolicyConfig) Descriptor() ([]byte, []int) {
745	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{8}
746}
747
748func (x *EdsLoadBalancingPolicyConfig) GetCluster() string {
749	if x != nil {
750		return x.Cluster
751	}
752	return ""
753}
754
755func (x *EdsLoadBalancingPolicyConfig) GetEdsServiceName() string {
756	if x != nil {
757		return x.EdsServiceName
758	}
759	return ""
760}
761
762func (x *EdsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue {
763	if x != nil {
764		return x.LrsLoadReportingServerName
765	}
766	return nil
767}
768
769func (x *EdsLoadBalancingPolicyConfig) GetLocalityPickingPolicy() []*LoadBalancingConfig {
770	if x != nil {
771		return x.LocalityPickingPolicy
772	}
773	return nil
774}
775
776func (x *EdsLoadBalancingPolicyConfig) GetEndpointPickingPolicy() []*LoadBalancingConfig {
777	if x != nil {
778		return x.EndpointPickingPolicy
779	}
780	return nil
781}
782
783// Configuration for lrs LB policy.
784type LrsLoadBalancingPolicyConfig struct {
785	state         protoimpl.MessageState
786	sizeCache     protoimpl.SizeCache
787	unknownFields protoimpl.UnknownFields
788
789	// Cluster name.  Required.
790	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
791	// EDS service name, as returned in CDS.
792	// May be unset if not specified in CDS.
793	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
794	// Server to send load reports to.  Required.
795	// If set to empty string, load reporting will be sent to the same
796	// server as we are getting xds data from.
797	LrsLoadReportingServerName string                                 `protobuf:"bytes,3,opt,name=lrs_load_reporting_server_name,json=lrsLoadReportingServerName,proto3" json:"lrs_load_reporting_server_name,omitempty"`
798	Locality                   *LrsLoadBalancingPolicyConfig_Locality `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"`
799	// Endpoint-picking policy.
800	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,5,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
801}
802
803func (x *LrsLoadBalancingPolicyConfig) Reset() {
804	*x = LrsLoadBalancingPolicyConfig{}
805	if protoimpl.UnsafeEnabled {
806		mi := &file_grpc_service_config_service_config_proto_msgTypes[9]
807		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
808		ms.StoreMessageInfo(mi)
809	}
810}
811
812func (x *LrsLoadBalancingPolicyConfig) String() string {
813	return protoimpl.X.MessageStringOf(x)
814}
815
816func (*LrsLoadBalancingPolicyConfig) ProtoMessage() {}
817
818func (x *LrsLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message {
819	mi := &file_grpc_service_config_service_config_proto_msgTypes[9]
820	if protoimpl.UnsafeEnabled && x != nil {
821		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
822		if ms.LoadMessageInfo() == nil {
823			ms.StoreMessageInfo(mi)
824		}
825		return ms
826	}
827	return mi.MessageOf(x)
828}
829
830// Deprecated: Use LrsLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.
831func (*LrsLoadBalancingPolicyConfig) Descriptor() ([]byte, []int) {
832	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{9}
833}
834
835func (x *LrsLoadBalancingPolicyConfig) GetClusterName() string {
836	if x != nil {
837		return x.ClusterName
838	}
839	return ""
840}
841
842func (x *LrsLoadBalancingPolicyConfig) GetEdsServiceName() string {
843	if x != nil {
844		return x.EdsServiceName
845	}
846	return ""
847}
848
849func (x *LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() string {
850	if x != nil {
851		return x.LrsLoadReportingServerName
852	}
853	return ""
854}
855
856func (x *LrsLoadBalancingPolicyConfig) GetLocality() *LrsLoadBalancingPolicyConfig_Locality {
857	if x != nil {
858		return x.Locality
859	}
860	return nil
861}
862
863func (x *LrsLoadBalancingPolicyConfig) GetChildPolicy() []*LoadBalancingConfig {
864	if x != nil {
865		return x.ChildPolicy
866	}
867	return nil
868}
869
870// Selects LB policy and provides corresponding configuration.
871//
872// In general, all instances of this field should be repeated. Clients will
873// iterate through the list in order and stop at the first policy that they
874// support.  This allows the service config to specify custom policies that may
875// not be known to all clients.
876//
877// - If the config for the first supported policy is invalid, the whole service
878//   config is invalid.
879// - If the list doesn't contain any supported policy, the whole service config
880//   is invalid.
881type LoadBalancingConfig struct {
882	state         protoimpl.MessageState
883	sizeCache     protoimpl.SizeCache
884	unknownFields protoimpl.UnknownFields
885
886	// Exactly one LB policy may be configured.
887	//
888	// Types that are assignable to Policy:
889	//	*LoadBalancingConfig_PickFirst
890	//	*LoadBalancingConfig_RoundRobin
891	//	*LoadBalancingConfig_Grpclb
892	//	*LoadBalancingConfig_Priority
893	//	*LoadBalancingConfig_WeightedTarget
894	//	*LoadBalancingConfig_Cds
895	//	*LoadBalancingConfig_Eds
896	//	*LoadBalancingConfig_Lrs
897	//	*LoadBalancingConfig_Xds
898	//	*LoadBalancingConfig_XdsExperimental
899	Policy isLoadBalancingConfig_Policy `protobuf_oneof:"policy"`
900}
901
902func (x *LoadBalancingConfig) Reset() {
903	*x = LoadBalancingConfig{}
904	if protoimpl.UnsafeEnabled {
905		mi := &file_grpc_service_config_service_config_proto_msgTypes[10]
906		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
907		ms.StoreMessageInfo(mi)
908	}
909}
910
911func (x *LoadBalancingConfig) String() string {
912	return protoimpl.X.MessageStringOf(x)
913}
914
915func (*LoadBalancingConfig) ProtoMessage() {}
916
917func (x *LoadBalancingConfig) ProtoReflect() protoreflect.Message {
918	mi := &file_grpc_service_config_service_config_proto_msgTypes[10]
919	if protoimpl.UnsafeEnabled && x != nil {
920		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
921		if ms.LoadMessageInfo() == nil {
922			ms.StoreMessageInfo(mi)
923		}
924		return ms
925	}
926	return mi.MessageOf(x)
927}
928
929// Deprecated: Use LoadBalancingConfig.ProtoReflect.Descriptor instead.
930func (*LoadBalancingConfig) Descriptor() ([]byte, []int) {
931	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{10}
932}
933
934func (m *LoadBalancingConfig) GetPolicy() isLoadBalancingConfig_Policy {
935	if m != nil {
936		return m.Policy
937	}
938	return nil
939}
940
941func (x *LoadBalancingConfig) GetPickFirst() *PickFirstConfig {
942	if x, ok := x.GetPolicy().(*LoadBalancingConfig_PickFirst); ok {
943		return x.PickFirst
944	}
945	return nil
946}
947
948func (x *LoadBalancingConfig) GetRoundRobin() *RoundRobinConfig {
949	if x, ok := x.GetPolicy().(*LoadBalancingConfig_RoundRobin); ok {
950		return x.RoundRobin
951	}
952	return nil
953}
954
955func (x *LoadBalancingConfig) GetGrpclb() *GrpcLbConfig {
956	if x, ok := x.GetPolicy().(*LoadBalancingConfig_Grpclb); ok {
957		return x.Grpclb
958	}
959	return nil
960}
961
962func (x *LoadBalancingConfig) GetPriority() *PriorityLoadBalancingPolicyConfig {
963	if x, ok := x.GetPolicy().(*LoadBalancingConfig_Priority); ok {
964		return x.Priority
965	}
966	return nil
967}
968
969func (x *LoadBalancingConfig) GetWeightedTarget() *WeightedTargetLoadBalancingPolicyConfig {
970	if x, ok := x.GetPolicy().(*LoadBalancingConfig_WeightedTarget); ok {
971		return x.WeightedTarget
972	}
973	return nil
974}
975
976func (x *LoadBalancingConfig) GetCds() *CdsConfig {
977	if x, ok := x.GetPolicy().(*LoadBalancingConfig_Cds); ok {
978		return x.Cds
979	}
980	return nil
981}
982
983func (x *LoadBalancingConfig) GetEds() *EdsLoadBalancingPolicyConfig {
984	if x, ok := x.GetPolicy().(*LoadBalancingConfig_Eds); ok {
985		return x.Eds
986	}
987	return nil
988}
989
990func (x *LoadBalancingConfig) GetLrs() *LrsLoadBalancingPolicyConfig {
991	if x, ok := x.GetPolicy().(*LoadBalancingConfig_Lrs); ok {
992		return x.Lrs
993	}
994	return nil
995}
996
997// Deprecated: Do not use.
998func (x *LoadBalancingConfig) GetXds() *XdsConfig {
999	if x, ok := x.GetPolicy().(*LoadBalancingConfig_Xds); ok {
1000		return x.Xds
1001	}
1002	return nil
1003}
1004
1005// Deprecated: Do not use.
1006func (x *LoadBalancingConfig) GetXdsExperimental() *XdsConfig {
1007	if x, ok := x.GetPolicy().(*LoadBalancingConfig_XdsExperimental); ok {
1008		return x.XdsExperimental
1009	}
1010	return nil
1011}
1012
1013type isLoadBalancingConfig_Policy interface {
1014	isLoadBalancingConfig_Policy()
1015}
1016
1017type LoadBalancingConfig_PickFirst struct {
1018	PickFirst *PickFirstConfig `protobuf:"bytes,4,opt,name=pick_first,proto3,oneof"`
1019}
1020
1021type LoadBalancingConfig_RoundRobin struct {
1022	RoundRobin *RoundRobinConfig `protobuf:"bytes,1,opt,name=round_robin,proto3,oneof"`
1023}
1024
1025type LoadBalancingConfig_Grpclb struct {
1026	// gRPC lookaside load balancing.
1027	// This will eventually be deprecated by the new xDS-based local
1028	// balancing policy.
1029	Grpclb *GrpcLbConfig `protobuf:"bytes,3,opt,name=grpclb,proto3,oneof"`
1030}
1031
1032type LoadBalancingConfig_Priority struct {
1033	Priority *PriorityLoadBalancingPolicyConfig `protobuf:"bytes,9,opt,name=priority,proto3,oneof"`
1034}
1035
1036type LoadBalancingConfig_WeightedTarget struct {
1037	WeightedTarget *WeightedTargetLoadBalancingPolicyConfig `protobuf:"bytes,10,opt,name=weighted_target,json=weightedTarget,proto3,oneof"`
1038}
1039
1040type LoadBalancingConfig_Cds struct {
1041	// EXPERIMENTAL -- DO NOT USE
1042	// xDS-based load balancing.
1043	// The policy is known as xds_experimental while it is under development.
1044	// It will be renamed to xds once it is ready for public use.
1045	Cds *CdsConfig `protobuf:"bytes,6,opt,name=cds,proto3,oneof"`
1046}
1047
1048type LoadBalancingConfig_Eds struct {
1049	Eds *EdsLoadBalancingPolicyConfig `protobuf:"bytes,7,opt,name=eds,proto3,oneof"`
1050}
1051
1052type LoadBalancingConfig_Lrs struct {
1053	Lrs *LrsLoadBalancingPolicyConfig `protobuf:"bytes,8,opt,name=lrs,proto3,oneof"`
1054}
1055
1056type LoadBalancingConfig_Xds struct {
1057	// Deprecated: Do not use.
1058	Xds *XdsConfig `protobuf:"bytes,2,opt,name=xds,proto3,oneof"`
1059}
1060
1061type LoadBalancingConfig_XdsExperimental struct {
1062	// TODO(rekarthik): Deprecate this field after the xds policy
1063	// is ready for public use.
1064	//
1065	// Deprecated: Do not use.
1066	XdsExperimental *XdsConfig `protobuf:"bytes,5,opt,name=xds_experimental,proto3,oneof"`
1067}
1068
1069func (*LoadBalancingConfig_PickFirst) isLoadBalancingConfig_Policy() {}
1070
1071func (*LoadBalancingConfig_RoundRobin) isLoadBalancingConfig_Policy() {}
1072
1073func (*LoadBalancingConfig_Grpclb) isLoadBalancingConfig_Policy() {}
1074
1075func (*LoadBalancingConfig_Priority) isLoadBalancingConfig_Policy() {}
1076
1077func (*LoadBalancingConfig_WeightedTarget) isLoadBalancingConfig_Policy() {}
1078
1079func (*LoadBalancingConfig_Cds) isLoadBalancingConfig_Policy() {}
1080
1081func (*LoadBalancingConfig_Eds) isLoadBalancingConfig_Policy() {}
1082
1083func (*LoadBalancingConfig_Lrs) isLoadBalancingConfig_Policy() {}
1084
1085func (*LoadBalancingConfig_Xds) isLoadBalancingConfig_Policy() {}
1086
1087func (*LoadBalancingConfig_XdsExperimental) isLoadBalancingConfig_Policy() {}
1088
1089// A ServiceConfig represents information about a service but is not specific to
1090// any name resolver.
1091type ServiceConfig struct {
1092	state         protoimpl.MessageState
1093	sizeCache     protoimpl.SizeCache
1094	unknownFields protoimpl.UnknownFields
1095
1096	// Deprecated: Do not use.
1097	LoadBalancingPolicy ServiceConfig_LoadBalancingPolicy `protobuf:"varint,1,opt,name=load_balancing_policy,json=loadBalancingPolicy,proto3,enum=grpc.service_config.ServiceConfig_LoadBalancingPolicy" json:"load_balancing_policy,omitempty"`
1098	// Multiple LB policies can be specified; clients will iterate through
1099	// the list in order and stop at the first policy that they support. If none
1100	// are supported, the service config is considered invalid.
1101	LoadBalancingConfig []*LoadBalancingConfig `protobuf:"bytes,4,rep,name=load_balancing_config,json=loadBalancingConfig,proto3" json:"load_balancing_config,omitempty"`
1102	// Per-method configuration.
1103	MethodConfig      []*MethodConfig                      `protobuf:"bytes,2,rep,name=method_config,json=methodConfig,proto3" json:"method_config,omitempty"`
1104	RetryThrottling   *ServiceConfig_RetryThrottlingPolicy `protobuf:"bytes,3,opt,name=retry_throttling,json=retryThrottling,proto3" json:"retry_throttling,omitempty"`
1105	HealthCheckConfig *ServiceConfig_HealthCheckConfig     `protobuf:"bytes,5,opt,name=health_check_config,json=healthCheckConfig,proto3" json:"health_check_config,omitempty"`
1106}
1107
1108func (x *ServiceConfig) Reset() {
1109	*x = ServiceConfig{}
1110	if protoimpl.UnsafeEnabled {
1111		mi := &file_grpc_service_config_service_config_proto_msgTypes[11]
1112		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1113		ms.StoreMessageInfo(mi)
1114	}
1115}
1116
1117func (x *ServiceConfig) String() string {
1118	return protoimpl.X.MessageStringOf(x)
1119}
1120
1121func (*ServiceConfig) ProtoMessage() {}
1122
1123func (x *ServiceConfig) ProtoReflect() protoreflect.Message {
1124	mi := &file_grpc_service_config_service_config_proto_msgTypes[11]
1125	if protoimpl.UnsafeEnabled && x != nil {
1126		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1127		if ms.LoadMessageInfo() == nil {
1128			ms.StoreMessageInfo(mi)
1129		}
1130		return ms
1131	}
1132	return mi.MessageOf(x)
1133}
1134
1135// Deprecated: Use ServiceConfig.ProtoReflect.Descriptor instead.
1136func (*ServiceConfig) Descriptor() ([]byte, []int) {
1137	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{11}
1138}
1139
1140// Deprecated: Do not use.
1141func (x *ServiceConfig) GetLoadBalancingPolicy() ServiceConfig_LoadBalancingPolicy {
1142	if x != nil {
1143		return x.LoadBalancingPolicy
1144	}
1145	return ServiceConfig_UNSPECIFIED
1146}
1147
1148func (x *ServiceConfig) GetLoadBalancingConfig() []*LoadBalancingConfig {
1149	if x != nil {
1150		return x.LoadBalancingConfig
1151	}
1152	return nil
1153}
1154
1155func (x *ServiceConfig) GetMethodConfig() []*MethodConfig {
1156	if x != nil {
1157		return x.MethodConfig
1158	}
1159	return nil
1160}
1161
1162func (x *ServiceConfig) GetRetryThrottling() *ServiceConfig_RetryThrottlingPolicy {
1163	if x != nil {
1164		return x.RetryThrottling
1165	}
1166	return nil
1167}
1168
1169func (x *ServiceConfig) GetHealthCheckConfig() *ServiceConfig_HealthCheckConfig {
1170	if x != nil {
1171		return x.HealthCheckConfig
1172	}
1173	return nil
1174}
1175
1176// The names of the methods to which this configuration applies.
1177// - MethodConfig without names (empty list) will be skipped.
1178// - Each name entry must be unique across the entire ServiceConfig.
1179// - If the 'method' field is empty, this MethodConfig specifies the defaults
1180//   for all methods for the specified service.
1181// - If the 'service' field is empty, the 'method' field must be empty, and
1182//   this MethodConfig specifies the default for all methods (it's the default
1183//   config).
1184//
1185// When determining which MethodConfig to use for a given RPC, the most
1186// specific match wins. For example, let's say that the service config
1187// contains the following MethodConfig entries:
1188//
1189// method_config { name { } ... }
1190// method_config { name { service: "MyService" } ... }
1191// method_config { name { service: "MyService" method: "Foo" } ... }
1192//
1193// MyService/Foo will use the third entry, because it exactly matches the
1194// service and method name. MyService/Bar will use the second entry, because
1195// it provides the default for all methods of MyService. AnotherService/Baz
1196// will use the first entry, because it doesn't match the other two.
1197//
1198// In JSON representation, value "", value `null`, and not present are the
1199// same. The following are the same Name:
1200// - { "service": "s" }
1201// - { "service": "s", "method": null }
1202// - { "service": "s", "method": "" }
1203type MethodConfig_Name struct {
1204	state         protoimpl.MessageState
1205	sizeCache     protoimpl.SizeCache
1206	unknownFields protoimpl.UnknownFields
1207
1208	Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` // Required. Includes proto package name.
1209	Method  string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
1210}
1211
1212func (x *MethodConfig_Name) Reset() {
1213	*x = MethodConfig_Name{}
1214	if protoimpl.UnsafeEnabled {
1215		mi := &file_grpc_service_config_service_config_proto_msgTypes[12]
1216		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1217		ms.StoreMessageInfo(mi)
1218	}
1219}
1220
1221func (x *MethodConfig_Name) String() string {
1222	return protoimpl.X.MessageStringOf(x)
1223}
1224
1225func (*MethodConfig_Name) ProtoMessage() {}
1226
1227func (x *MethodConfig_Name) ProtoReflect() protoreflect.Message {
1228	mi := &file_grpc_service_config_service_config_proto_msgTypes[12]
1229	if protoimpl.UnsafeEnabled && x != nil {
1230		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1231		if ms.LoadMessageInfo() == nil {
1232			ms.StoreMessageInfo(mi)
1233		}
1234		return ms
1235	}
1236	return mi.MessageOf(x)
1237}
1238
1239// Deprecated: Use MethodConfig_Name.ProtoReflect.Descriptor instead.
1240func (*MethodConfig_Name) Descriptor() ([]byte, []int) {
1241	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{0, 0}
1242}
1243
1244func (x *MethodConfig_Name) GetService() string {
1245	if x != nil {
1246		return x.Service
1247	}
1248	return ""
1249}
1250
1251func (x *MethodConfig_Name) GetMethod() string {
1252	if x != nil {
1253		return x.Method
1254	}
1255	return ""
1256}
1257
1258// The retry policy for outgoing RPCs.
1259type MethodConfig_RetryPolicy struct {
1260	state         protoimpl.MessageState
1261	sizeCache     protoimpl.SizeCache
1262	unknownFields protoimpl.UnknownFields
1263
1264	// The maximum number of RPC attempts, including the original attempt.
1265	//
1266	// This field is required and must be greater than 1.
1267	// Any value greater than 5 will be treated as if it were 5.
1268	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
1269	// Exponential backoff parameters. The initial retry attempt will occur at
1270	// random(0, initial_backoff). In general, the nth attempt will occur at
1271	// random(0,
1272	//   min(initial_backoff*backoff_multiplier**(n-1), max_backoff)).
1273	// Required. Must be greater than zero.
1274	InitialBackoff *durationpb.Duration `protobuf:"bytes,2,opt,name=initial_backoff,json=initialBackoff,proto3" json:"initial_backoff,omitempty"`
1275	// Required. Must be greater than zero.
1276	MaxBackoff        *durationpb.Duration `protobuf:"bytes,3,opt,name=max_backoff,json=maxBackoff,proto3" json:"max_backoff,omitempty"`
1277	BackoffMultiplier float32              `protobuf:"fixed32,4,opt,name=backoff_multiplier,json=backoffMultiplier,proto3" json:"backoff_multiplier,omitempty"` // Required. Must be greater than zero.
1278	// The set of status codes which may be retried.
1279	//
1280	// This field is required and must be non-empty.
1281	RetryableStatusCodes []code.Code `protobuf:"varint,5,rep,packed,name=retryable_status_codes,json=retryableStatusCodes,proto3,enum=google.rpc.Code" json:"retryable_status_codes,omitempty"`
1282}
1283
1284func (x *MethodConfig_RetryPolicy) Reset() {
1285	*x = MethodConfig_RetryPolicy{}
1286	if protoimpl.UnsafeEnabled {
1287		mi := &file_grpc_service_config_service_config_proto_msgTypes[13]
1288		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1289		ms.StoreMessageInfo(mi)
1290	}
1291}
1292
1293func (x *MethodConfig_RetryPolicy) String() string {
1294	return protoimpl.X.MessageStringOf(x)
1295}
1296
1297func (*MethodConfig_RetryPolicy) ProtoMessage() {}
1298
1299func (x *MethodConfig_RetryPolicy) ProtoReflect() protoreflect.Message {
1300	mi := &file_grpc_service_config_service_config_proto_msgTypes[13]
1301	if protoimpl.UnsafeEnabled && x != nil {
1302		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1303		if ms.LoadMessageInfo() == nil {
1304			ms.StoreMessageInfo(mi)
1305		}
1306		return ms
1307	}
1308	return mi.MessageOf(x)
1309}
1310
1311// Deprecated: Use MethodConfig_RetryPolicy.ProtoReflect.Descriptor instead.
1312func (*MethodConfig_RetryPolicy) Descriptor() ([]byte, []int) {
1313	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{0, 1}
1314}
1315
1316func (x *MethodConfig_RetryPolicy) GetMaxAttempts() uint32 {
1317	if x != nil {
1318		return x.MaxAttempts
1319	}
1320	return 0
1321}
1322
1323func (x *MethodConfig_RetryPolicy) GetInitialBackoff() *durationpb.Duration {
1324	if x != nil {
1325		return x.InitialBackoff
1326	}
1327	return nil
1328}
1329
1330func (x *MethodConfig_RetryPolicy) GetMaxBackoff() *durationpb.Duration {
1331	if x != nil {
1332		return x.MaxBackoff
1333	}
1334	return nil
1335}
1336
1337func (x *MethodConfig_RetryPolicy) GetBackoffMultiplier() float32 {
1338	if x != nil {
1339		return x.BackoffMultiplier
1340	}
1341	return 0
1342}
1343
1344func (x *MethodConfig_RetryPolicy) GetRetryableStatusCodes() []code.Code {
1345	if x != nil {
1346		return x.RetryableStatusCodes
1347	}
1348	return nil
1349}
1350
1351// The hedging policy for outgoing RPCs. Hedged RPCs may execute more than
1352// once on the server, so only idempotent methods should specify a hedging
1353// policy.
1354type MethodConfig_HedgingPolicy struct {
1355	state         protoimpl.MessageState
1356	sizeCache     protoimpl.SizeCache
1357	unknownFields protoimpl.UnknownFields
1358
1359	// The hedging policy will send up to max_requests RPCs.
1360	// This number represents the total number of all attempts, including
1361	// the original attempt.
1362	//
1363	// This field is required and must be greater than 1.
1364	// Any value greater than 5 will be treated as if it were 5.
1365	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
1366	// The first RPC will be sent immediately, but the max_requests-1 subsequent
1367	// hedged RPCs will be sent at intervals of every hedging_delay. Set this
1368	// to 0 to immediately send all max_requests RPCs.
1369	HedgingDelay *durationpb.Duration `protobuf:"bytes,2,opt,name=hedging_delay,json=hedgingDelay,proto3" json:"hedging_delay,omitempty"`
1370	// The set of status codes which indicate other hedged RPCs may still
1371	// succeed. If a non-fatal status code is returned by the server, hedged
1372	// RPCs will continue. Otherwise, outstanding requests will be canceled and
1373	// the error returned to the client application layer.
1374	//
1375	// This field is optional.
1376	NonFatalStatusCodes []code.Code `protobuf:"varint,3,rep,packed,name=non_fatal_status_codes,json=nonFatalStatusCodes,proto3,enum=google.rpc.Code" json:"non_fatal_status_codes,omitempty"`
1377}
1378
1379func (x *MethodConfig_HedgingPolicy) Reset() {
1380	*x = MethodConfig_HedgingPolicy{}
1381	if protoimpl.UnsafeEnabled {
1382		mi := &file_grpc_service_config_service_config_proto_msgTypes[14]
1383		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1384		ms.StoreMessageInfo(mi)
1385	}
1386}
1387
1388func (x *MethodConfig_HedgingPolicy) String() string {
1389	return protoimpl.X.MessageStringOf(x)
1390}
1391
1392func (*MethodConfig_HedgingPolicy) ProtoMessage() {}
1393
1394func (x *MethodConfig_HedgingPolicy) ProtoReflect() protoreflect.Message {
1395	mi := &file_grpc_service_config_service_config_proto_msgTypes[14]
1396	if protoimpl.UnsafeEnabled && x != nil {
1397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1398		if ms.LoadMessageInfo() == nil {
1399			ms.StoreMessageInfo(mi)
1400		}
1401		return ms
1402	}
1403	return mi.MessageOf(x)
1404}
1405
1406// Deprecated: Use MethodConfig_HedgingPolicy.ProtoReflect.Descriptor instead.
1407func (*MethodConfig_HedgingPolicy) Descriptor() ([]byte, []int) {
1408	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{0, 2}
1409}
1410
1411func (x *MethodConfig_HedgingPolicy) GetMaxAttempts() uint32 {
1412	if x != nil {
1413		return x.MaxAttempts
1414	}
1415	return 0
1416}
1417
1418func (x *MethodConfig_HedgingPolicy) GetHedgingDelay() *durationpb.Duration {
1419	if x != nil {
1420		return x.HedgingDelay
1421	}
1422	return nil
1423}
1424
1425func (x *MethodConfig_HedgingPolicy) GetNonFatalStatusCodes() []code.Code {
1426	if x != nil {
1427		return x.NonFatalStatusCodes
1428	}
1429	return nil
1430}
1431
1432// A map of name to child policy configuration.
1433// The names are used to allow the priority policy to update
1434// existing child policies instead of creating new ones every
1435// time it receives a config update.
1436type PriorityLoadBalancingPolicyConfig_Child struct {
1437	state         protoimpl.MessageState
1438	sizeCache     protoimpl.SizeCache
1439	unknownFields protoimpl.UnknownFields
1440
1441	Config []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"`
1442}
1443
1444func (x *PriorityLoadBalancingPolicyConfig_Child) Reset() {
1445	*x = PriorityLoadBalancingPolicyConfig_Child{}
1446	if protoimpl.UnsafeEnabled {
1447		mi := &file_grpc_service_config_service_config_proto_msgTypes[15]
1448		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1449		ms.StoreMessageInfo(mi)
1450	}
1451}
1452
1453func (x *PriorityLoadBalancingPolicyConfig_Child) String() string {
1454	return protoimpl.X.MessageStringOf(x)
1455}
1456
1457func (*PriorityLoadBalancingPolicyConfig_Child) ProtoMessage() {}
1458
1459func (x *PriorityLoadBalancingPolicyConfig_Child) ProtoReflect() protoreflect.Message {
1460	mi := &file_grpc_service_config_service_config_proto_msgTypes[15]
1461	if protoimpl.UnsafeEnabled && x != nil {
1462		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1463		if ms.LoadMessageInfo() == nil {
1464			ms.StoreMessageInfo(mi)
1465		}
1466		return ms
1467	}
1468	return mi.MessageOf(x)
1469}
1470
1471// Deprecated: Use PriorityLoadBalancingPolicyConfig_Child.ProtoReflect.Descriptor instead.
1472func (*PriorityLoadBalancingPolicyConfig_Child) Descriptor() ([]byte, []int) {
1473	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{3, 0}
1474}
1475
1476func (x *PriorityLoadBalancingPolicyConfig_Child) GetConfig() []*LoadBalancingConfig {
1477	if x != nil {
1478		return x.Config
1479	}
1480	return nil
1481}
1482
1483type WeightedTargetLoadBalancingPolicyConfig_Target struct {
1484	state         protoimpl.MessageState
1485	sizeCache     protoimpl.SizeCache
1486	unknownFields protoimpl.UnknownFields
1487
1488	Weight      uint32                 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"`
1489	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
1490}
1491
1492func (x *WeightedTargetLoadBalancingPolicyConfig_Target) Reset() {
1493	*x = WeightedTargetLoadBalancingPolicyConfig_Target{}
1494	if protoimpl.UnsafeEnabled {
1495		mi := &file_grpc_service_config_service_config_proto_msgTypes[17]
1496		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1497		ms.StoreMessageInfo(mi)
1498	}
1499}
1500
1501func (x *WeightedTargetLoadBalancingPolicyConfig_Target) String() string {
1502	return protoimpl.X.MessageStringOf(x)
1503}
1504
1505func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoMessage() {}
1506
1507func (x *WeightedTargetLoadBalancingPolicyConfig_Target) ProtoReflect() protoreflect.Message {
1508	mi := &file_grpc_service_config_service_config_proto_msgTypes[17]
1509	if protoimpl.UnsafeEnabled && x != nil {
1510		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1511		if ms.LoadMessageInfo() == nil {
1512			ms.StoreMessageInfo(mi)
1513		}
1514		return ms
1515	}
1516	return mi.MessageOf(x)
1517}
1518
1519// Deprecated: Use WeightedTargetLoadBalancingPolicyConfig_Target.ProtoReflect.Descriptor instead.
1520func (*WeightedTargetLoadBalancingPolicyConfig_Target) Descriptor() ([]byte, []int) {
1521	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{4, 0}
1522}
1523
1524func (x *WeightedTargetLoadBalancingPolicyConfig_Target) GetWeight() uint32 {
1525	if x != nil {
1526		return x.Weight
1527	}
1528	return 0
1529}
1530
1531func (x *WeightedTargetLoadBalancingPolicyConfig_Target) GetChildPolicy() []*LoadBalancingConfig {
1532	if x != nil {
1533		return x.ChildPolicy
1534	}
1535	return nil
1536}
1537
1538// The locality for which this policy will report load.  Required.
1539type LrsLoadBalancingPolicyConfig_Locality struct {
1540	state         protoimpl.MessageState
1541	sizeCache     protoimpl.SizeCache
1542	unknownFields protoimpl.UnknownFields
1543
1544	Region  string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
1545	Zone    string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
1546	Subzone string `protobuf:"bytes,3,opt,name=subzone,proto3" json:"subzone,omitempty"`
1547}
1548
1549func (x *LrsLoadBalancingPolicyConfig_Locality) Reset() {
1550	*x = LrsLoadBalancingPolicyConfig_Locality{}
1551	if protoimpl.UnsafeEnabled {
1552		mi := &file_grpc_service_config_service_config_proto_msgTypes[19]
1553		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1554		ms.StoreMessageInfo(mi)
1555	}
1556}
1557
1558func (x *LrsLoadBalancingPolicyConfig_Locality) String() string {
1559	return protoimpl.X.MessageStringOf(x)
1560}
1561
1562func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage() {}
1563
1564func (x *LrsLoadBalancingPolicyConfig_Locality) ProtoReflect() protoreflect.Message {
1565	mi := &file_grpc_service_config_service_config_proto_msgTypes[19]
1566	if protoimpl.UnsafeEnabled && x != nil {
1567		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1568		if ms.LoadMessageInfo() == nil {
1569			ms.StoreMessageInfo(mi)
1570		}
1571		return ms
1572	}
1573	return mi.MessageOf(x)
1574}
1575
1576// Deprecated: Use LrsLoadBalancingPolicyConfig_Locality.ProtoReflect.Descriptor instead.
1577func (*LrsLoadBalancingPolicyConfig_Locality) Descriptor() ([]byte, []int) {
1578	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{9, 0}
1579}
1580
1581func (x *LrsLoadBalancingPolicyConfig_Locality) GetRegion() string {
1582	if x != nil {
1583		return x.Region
1584	}
1585	return ""
1586}
1587
1588func (x *LrsLoadBalancingPolicyConfig_Locality) GetZone() string {
1589	if x != nil {
1590		return x.Zone
1591	}
1592	return ""
1593}
1594
1595func (x *LrsLoadBalancingPolicyConfig_Locality) GetSubzone() string {
1596	if x != nil {
1597		return x.Subzone
1598	}
1599	return ""
1600}
1601
1602// If a RetryThrottlingPolicy is provided, gRPC will automatically throttle
1603// retry attempts and hedged RPCs when the client's ratio of failures to
1604// successes exceeds a threshold.
1605//
1606// For each server name, the gRPC client will maintain a token_count which is
1607// initially set to max_tokens. Every outgoing RPC (regardless of service or
1608// method invoked) will change token_count as follows:
1609//
1610//   - Every failed RPC will decrement the token_count by 1.
1611//   - Every successful RPC will increment the token_count by token_ratio.
1612//
1613// If token_count is less than or equal to max_tokens / 2, then RPCs will not
1614// be retried and hedged RPCs will not be sent.
1615type ServiceConfig_RetryThrottlingPolicy struct {
1616	state         protoimpl.MessageState
1617	sizeCache     protoimpl.SizeCache
1618	unknownFields protoimpl.UnknownFields
1619
1620	// The number of tokens starts at max_tokens. The token_count will always be
1621	// between 0 and max_tokens.
1622	//
1623	// This field is required and must be greater than zero.
1624	MaxTokens uint32 `protobuf:"varint,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
1625	// The amount of tokens to add on each successful RPC. Typically this will
1626	// be some number between 0 and 1, e.g., 0.1.
1627	//
1628	// This field is required and must be greater than zero. Up to 3 decimal
1629	// places are supported.
1630	TokenRatio float32 `protobuf:"fixed32,2,opt,name=token_ratio,json=tokenRatio,proto3" json:"token_ratio,omitempty"`
1631}
1632
1633func (x *ServiceConfig_RetryThrottlingPolicy) Reset() {
1634	*x = ServiceConfig_RetryThrottlingPolicy{}
1635	if protoimpl.UnsafeEnabled {
1636		mi := &file_grpc_service_config_service_config_proto_msgTypes[20]
1637		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1638		ms.StoreMessageInfo(mi)
1639	}
1640}
1641
1642func (x *ServiceConfig_RetryThrottlingPolicy) String() string {
1643	return protoimpl.X.MessageStringOf(x)
1644}
1645
1646func (*ServiceConfig_RetryThrottlingPolicy) ProtoMessage() {}
1647
1648func (x *ServiceConfig_RetryThrottlingPolicy) ProtoReflect() protoreflect.Message {
1649	mi := &file_grpc_service_config_service_config_proto_msgTypes[20]
1650	if protoimpl.UnsafeEnabled && x != nil {
1651		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1652		if ms.LoadMessageInfo() == nil {
1653			ms.StoreMessageInfo(mi)
1654		}
1655		return ms
1656	}
1657	return mi.MessageOf(x)
1658}
1659
1660// Deprecated: Use ServiceConfig_RetryThrottlingPolicy.ProtoReflect.Descriptor instead.
1661func (*ServiceConfig_RetryThrottlingPolicy) Descriptor() ([]byte, []int) {
1662	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{11, 0}
1663}
1664
1665func (x *ServiceConfig_RetryThrottlingPolicy) GetMaxTokens() uint32 {
1666	if x != nil {
1667		return x.MaxTokens
1668	}
1669	return 0
1670}
1671
1672func (x *ServiceConfig_RetryThrottlingPolicy) GetTokenRatio() float32 {
1673	if x != nil {
1674		return x.TokenRatio
1675	}
1676	return 0
1677}
1678
1679type ServiceConfig_HealthCheckConfig struct {
1680	state         protoimpl.MessageState
1681	sizeCache     protoimpl.SizeCache
1682	unknownFields protoimpl.UnknownFields
1683
1684	// Service name to use in the health-checking request.
1685	ServiceName *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
1686}
1687
1688func (x *ServiceConfig_HealthCheckConfig) Reset() {
1689	*x = ServiceConfig_HealthCheckConfig{}
1690	if protoimpl.UnsafeEnabled {
1691		mi := &file_grpc_service_config_service_config_proto_msgTypes[21]
1692		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1693		ms.StoreMessageInfo(mi)
1694	}
1695}
1696
1697func (x *ServiceConfig_HealthCheckConfig) String() string {
1698	return protoimpl.X.MessageStringOf(x)
1699}
1700
1701func (*ServiceConfig_HealthCheckConfig) ProtoMessage() {}
1702
1703func (x *ServiceConfig_HealthCheckConfig) ProtoReflect() protoreflect.Message {
1704	mi := &file_grpc_service_config_service_config_proto_msgTypes[21]
1705	if protoimpl.UnsafeEnabled && x != nil {
1706		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1707		if ms.LoadMessageInfo() == nil {
1708			ms.StoreMessageInfo(mi)
1709		}
1710		return ms
1711	}
1712	return mi.MessageOf(x)
1713}
1714
1715// Deprecated: Use ServiceConfig_HealthCheckConfig.ProtoReflect.Descriptor instead.
1716func (*ServiceConfig_HealthCheckConfig) Descriptor() ([]byte, []int) {
1717	return file_grpc_service_config_service_config_proto_rawDescGZIP(), []int{11, 1}
1718}
1719
1720func (x *ServiceConfig_HealthCheckConfig) GetServiceName() *wrapperspb.StringValue {
1721	if x != nil {
1722		return x.ServiceName
1723	}
1724	return nil
1725}
1726
1727var File_grpc_service_config_service_config_proto protoreflect.FileDescriptor
1728
1729var file_grpc_service_config_service_config_proto_rawDesc = []byte{
1730	0x0a, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63,
1731	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f,
1732	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x72, 0x70, 0x63,
1733	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a,
1734	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1735	0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
1736	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1737	0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
1738	0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x64, 0x65,
1739	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x08, 0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x68, 0x6f,
1740	0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
1741	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72,
1742	0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x68,
1743	0x6f, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e,
1744	0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f,
1745	0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
1746	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
1747	0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72,
1748	0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
1749	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1750	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
1751	0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x57, 0x0a, 0x19, 0x6d, 0x61,
1752	0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
1753	0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
1754	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
1755	0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x6d, 0x61, 0x78,
1756	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79,
1757	0x74, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x1a, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f,
1758	0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65,
1759	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1760	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32,
1761	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
1762	0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x52,
1763	0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06,
1764	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76,
1765	0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f,
1766	0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c,
1767	0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69,
1768	0x63, 0x79, 0x12, 0x58, 0x0a, 0x0e, 0x68, 0x65, 0x64, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f,
1769	0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x72, 0x70,
1770	0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1771	0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x65,
1772	0x64, 0x67, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x68,
1773	0x65, 0x64, 0x67, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x38, 0x0a, 0x04,
1774	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18,
1775	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16,
1776	0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
1777	0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x1a, 0xa7, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79,
1778	0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74,
1779	0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61,
1780	0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x69, 0x6e, 0x69,
1781	0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01,
1782	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1783	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x69,
1784	0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x3a, 0x0a,
1785	0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x03, 0x20, 0x01,
1786	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1787	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d,
1788	0x61, 0x78, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x2d, 0x0a, 0x12, 0x62, 0x61, 0x63,
1789	0x6b, 0x6f, 0x66, 0x66, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18,
1790	0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x4d, 0x75,
1791	0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x72,
1792	0x79, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64,
1793	0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1794	0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x14, 0x72, 0x65, 0x74, 0x72,
1795	0x79, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x73,
1796	0x1a, 0xb9, 0x01, 0x0a, 0x0d, 0x48, 0x65, 0x64, 0x67, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69,
1797	0x63, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70,
1798	0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x74, 0x74,
1799	0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x68, 0x65, 0x64, 0x67, 0x69, 0x6e, 0x67,
1800	0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
1801	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
1802	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x68, 0x65, 0x64, 0x67, 0x69, 0x6e, 0x67,
1803	0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x45, 0x0a, 0x16, 0x6e, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x74,
1804	0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18,
1805	0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72,
1806	0x70, 0x63, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x13, 0x6e, 0x6f, 0x6e, 0x46, 0x61, 0x74, 0x61,
1807	0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x19, 0x0a, 0x17,
1808	0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6f, 0x72, 0x5f, 0x68, 0x65, 0x64, 0x67, 0x69, 0x6e, 0x67,
1809	0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x11, 0x0a, 0x0f, 0x50, 0x69, 0x63, 0x6b, 0x46,
1810	0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x6f,
1811	0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xeb,
1812	0x02, 0x0a, 0x21, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42,
1813	0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f,
1814	0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e,
1815	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65,
1816	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x69,
1817	0x6f, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69,
1818	0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43,
1819	0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x63, 0x68,
1820	0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
1821	0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x6f,
1822	0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x49, 0x0a, 0x05, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x12,
1823	0x40, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
1824	0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63,
1825	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
1826	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
1827	0x67, 0x1a, 0x79, 0x0a, 0x0d, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x45, 0x6e, 0x74,
1828	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
1829	0x03, 0x6b, 0x65, 0x79, 0x12, 0x52, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
1830	0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
1831	0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69,
1832	0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50,
1833	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x68, 0x69, 0x6c,
1834	0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xfe, 0x02, 0x0a,
1835	0x27, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c,
1836	0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69,
1837	0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x07, 0x74, 0x61, 0x72, 0x67,
1838	0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x72, 0x70, 0x63,
1839	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
1840	0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x6f,
1841	0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63,
1842	0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x45,
1843	0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x1a, 0x6d, 0x0a,
1844	0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68,
1845	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
1846	0x4b, 0x0a, 0x0c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18,
1847	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72,
1848	0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64,
1849	0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
1850	0x0b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x7f, 0x0a, 0x0c,
1851	0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
1852	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x59,
1853	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e,
1854	0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e,
1855	0x66, 0x69, 0x67, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67,
1856	0x65, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50,
1857	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x61, 0x72, 0x67,
1858	0x65, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7e, 0x0a,
1859	0x0c, 0x47, 0x72, 0x70, 0x63, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a,
1860	0x0c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20,
1861	0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
1862	0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61,
1863	0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63,
1864	0x68, 0x69, 0x6c, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65,
1865	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
1866	0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x25, 0x0a,
1867	0x09, 0x43, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c,
1868	0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75,
1869	0x73, 0x74, 0x65, 0x72, 0x22, 0xe0, 0x02, 0x0a, 0x09, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66,
1870	0x69, 0x67, 0x12, 0x27, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x5f, 0x6e,
1871	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x62,
1872	0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x63,
1873	0x68, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28,
1874	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
1875	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61,
1876	0x6e, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x68, 0x69,
1877	0x6c, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x51, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x6c,
1878	0x62, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28,
1879	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
1880	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61,
1881	0x6e, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x66, 0x61, 0x6c,
1882	0x6c, 0x62, 0x61, 0x63, 0x6b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x65,
1883	0x64, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
1884	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x64, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
1885	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x1e, 0x6c, 0x72, 0x73, 0x5f, 0x6c, 0x6f, 0x61,
1886	0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76,
1887	0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
1888	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
1889	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1a, 0x6c, 0x72, 0x73,
1890	0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72,
1891	0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x88, 0x03, 0x0a, 0x1c, 0x45, 0x64, 0x73, 0x4c,
1892	0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69,
1893	0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73,
1894	0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74,
1895	0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
1896	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x64,
1897	0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x1e,
1898	0x6c, 0x72, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69,
1899	0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
1900	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
1901	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
1902	0x75, 0x65, 0x52, 0x1a, 0x6c, 0x72, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72,
1903	0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x60,
1904	0x0a, 0x17, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x69,
1905	0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
1906	0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63,
1907	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
1908	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
1909	0x69, 0x74, 0x79, 0x50, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1910	0x12, 0x60, 0x0a, 0x17, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x69, 0x63,
1911	0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28,
1912	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
1913	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61,
1914	0x6e, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x65, 0x6e, 0x64,
1915	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69,
1916	0x63, 0x79, 0x22, 0xa6, 0x03, 0x0a, 0x1c, 0x4c, 0x72, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61,
1917	0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e,
1918	0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e,
1919	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74,
1920	0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x64, 0x73, 0x5f, 0x73, 0x65,
1921	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
1922	0x52, 0x0e, 0x65, 0x64, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
1923	0x12, 0x42, 0x0a, 0x1e, 0x6c, 0x72, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x70,
1924	0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61,
1925	0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x6c, 0x72, 0x73, 0x4c, 0x6f, 0x61,
1926	0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
1927	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79,
1928	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65,
1929	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x72, 0x73,
1930	0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
1931	0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
1932	0x74, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0c,
1933	0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x03,
1934	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
1935	0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c,
1936	0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x63, 0x68,
1937	0x69, 0x6c, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x50, 0x0a, 0x08, 0x4c, 0x6f, 0x63,
1938	0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18,
1939	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
1940	0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e,
1941	0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01,
1942	0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xfa, 0x05, 0x0a, 0x13,
1943	0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e,
1944	0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x73,
1945	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73,
1946	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x69,
1947	0x63, 0x6b, 0x46, 0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
1948	0x0a, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0b, 0x72,
1949	0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
1950	0x32, 0x25, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f,
1951	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x6f, 0x62, 0x69,
1952	0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x6e, 0x64,
1953	0x5f, 0x72, 0x6f, 0x62, 0x69, 0x6e, 0x12, 0x3b, 0x0a, 0x06, 0x67, 0x72, 0x70, 0x63, 0x6c, 0x62,
1954	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65,
1955	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x72, 0x70,
1956	0x63, 0x4c, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x67, 0x72, 0x70,
1957	0x63, 0x6c, 0x62, 0x12, 0x54, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18,
1958	0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72,
1959	0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x6f,
1960	0x72, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e,
1961	0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
1962	0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x67, 0x0a, 0x0f, 0x77, 0x65, 0x69,
1963	0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01,
1964	0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
1965	0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65,
1966	0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e,
1967	0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1968	0x48, 0x00, 0x52, 0x0e, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x54, 0x61, 0x72, 0x67,
1969	0x65, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x63, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
1970	0x1e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63,
1971	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
1972	0x00, 0x52, 0x03, 0x63, 0x64, 0x73, 0x12, 0x45, 0x0a, 0x03, 0x65, 0x64, 0x73, 0x18, 0x07, 0x20,
1973	0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
1974	0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x64, 0x73, 0x4c, 0x6f, 0x61,
1975	0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
1976	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x03, 0x65, 0x64, 0x73, 0x12, 0x45, 0x0a,
1977	0x03, 0x6c, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x72, 0x70,
1978	0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1979	0x2e, 0x4c, 0x72, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e,
1980	0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
1981	0x03, 0x6c, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x03, 0x78, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
1982	0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
1983	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x58, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
1984	0x67, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x03, 0x78, 0x64, 0x73, 0x12, 0x50, 0x0a, 0x10,
1985	0x78, 0x64, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c,
1986	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65,
1987	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x58, 0x64, 0x73,
1988	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x10, 0x78, 0x64,
1989	0x73, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x42, 0x08,
1990	0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xd8, 0x05, 0x0a, 0x0d, 0x53, 0x65, 0x72,
1991	0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6e, 0x0a, 0x15, 0x6c, 0x6f,
1992	0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c,
1993	0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x72, 0x70, 0x63,
1994	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
1995	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f,
1996	0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63,
1997	0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e,
1998	0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x6f,
1999	0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e,
2000	0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63,
2001	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
2002	0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e,
2003	0x66, 0x69, 0x67, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69,
2004	0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x68,
2005	0x6f, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
2006	0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63,
2007	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x6f, 0x6e, 0x66,
2008	0x69, 0x67, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
2009	0x12, 0x63, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74,
2010	0x6c, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x72, 0x70,
2011	0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
2012	0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52,
2013	0x65, 0x74, 0x72, 0x79, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f,
2014	0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x54, 0x68, 0x72, 0x6f, 0x74,
2015	0x74, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x64, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f,
2016	0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01,
2017	0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
2018	0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
2019	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65,
2020	0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
2021	0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x57, 0x0a, 0x15, 0x52,
2022	0x65, 0x74, 0x72, 0x79, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f,
2023	0x6c, 0x69, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
2024	0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6b,
2025	0x65, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x61, 0x74,
2026	0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
2027	0x61, 0x74, 0x69, 0x6f, 0x1a, 0x54, 0x0a, 0x11, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
2028	0x65, 0x63, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x65, 0x72,
2029	0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2030	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
2031	0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x73,
2032	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x37, 0x0a, 0x13, 0x4c, 0x6f,
2033	0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63,
2034	0x79, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
2035	0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49,
2036	0x4e, 0x10, 0x01, 0x42, 0x2d, 0x0a, 0x15, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x73,
2037	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x12, 0x53, 0x65,
2038	0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f,
2039	0x50, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2040}
2041
2042var (
2043	file_grpc_service_config_service_config_proto_rawDescOnce sync.Once
2044	file_grpc_service_config_service_config_proto_rawDescData = file_grpc_service_config_service_config_proto_rawDesc
2045)
2046
2047func file_grpc_service_config_service_config_proto_rawDescGZIP() []byte {
2048	file_grpc_service_config_service_config_proto_rawDescOnce.Do(func() {
2049		file_grpc_service_config_service_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_service_config_service_config_proto_rawDescData)
2050	})
2051	return file_grpc_service_config_service_config_proto_rawDescData
2052}
2053
2054var file_grpc_service_config_service_config_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
2055var file_grpc_service_config_service_config_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
2056var file_grpc_service_config_service_config_proto_goTypes = []interface{}{
2057	(ServiceConfig_LoadBalancingPolicy)(0),          // 0: grpc.service_config.ServiceConfig.LoadBalancingPolicy
2058	(*MethodConfig)(nil),                            // 1: grpc.service_config.MethodConfig
2059	(*PickFirstConfig)(nil),                         // 2: grpc.service_config.PickFirstConfig
2060	(*RoundRobinConfig)(nil),                        // 3: grpc.service_config.RoundRobinConfig
2061	(*PriorityLoadBalancingPolicyConfig)(nil),       // 4: grpc.service_config.PriorityLoadBalancingPolicyConfig
2062	(*WeightedTargetLoadBalancingPolicyConfig)(nil), // 5: grpc.service_config.WeightedTargetLoadBalancingPolicyConfig
2063	(*GrpcLbConfig)(nil),                            // 6: grpc.service_config.GrpcLbConfig
2064	(*CdsConfig)(nil),                               // 7: grpc.service_config.CdsConfig
2065	(*XdsConfig)(nil),                               // 8: grpc.service_config.XdsConfig
2066	(*EdsLoadBalancingPolicyConfig)(nil),            // 9: grpc.service_config.EdsLoadBalancingPolicyConfig
2067	(*LrsLoadBalancingPolicyConfig)(nil),            // 10: grpc.service_config.LrsLoadBalancingPolicyConfig
2068	(*LoadBalancingConfig)(nil),                     // 11: grpc.service_config.LoadBalancingConfig
2069	(*ServiceConfig)(nil),                           // 12: grpc.service_config.ServiceConfig
2070	(*MethodConfig_Name)(nil),                       // 13: grpc.service_config.MethodConfig.Name
2071	(*MethodConfig_RetryPolicy)(nil),                // 14: grpc.service_config.MethodConfig.RetryPolicy
2072	(*MethodConfig_HedgingPolicy)(nil),              // 15: grpc.service_config.MethodConfig.HedgingPolicy
2073	(*PriorityLoadBalancingPolicyConfig_Child)(nil), // 16: grpc.service_config.PriorityLoadBalancingPolicyConfig.Child
2074	nil, // 17: grpc.service_config.PriorityLoadBalancingPolicyConfig.ChildrenEntry
2075	(*WeightedTargetLoadBalancingPolicyConfig_Target)(nil), // 18: grpc.service_config.WeightedTargetLoadBalancingPolicyConfig.Target
2076	nil, // 19: grpc.service_config.WeightedTargetLoadBalancingPolicyConfig.TargetsEntry
2077	(*LrsLoadBalancingPolicyConfig_Locality)(nil), // 20: grpc.service_config.LrsLoadBalancingPolicyConfig.Locality
2078	(*ServiceConfig_RetryThrottlingPolicy)(nil),   // 21: grpc.service_config.ServiceConfig.RetryThrottlingPolicy
2079	(*ServiceConfig_HealthCheckConfig)(nil),       // 22: grpc.service_config.ServiceConfig.HealthCheckConfig
2080	(*wrapperspb.BoolValue)(nil),                  // 23: google.protobuf.BoolValue
2081	(*durationpb.Duration)(nil),                   // 24: google.protobuf.Duration
2082	(*wrapperspb.UInt32Value)(nil),                // 25: google.protobuf.UInt32Value
2083	(*wrapperspb.StringValue)(nil),                // 26: google.protobuf.StringValue
2084	(code.Code)(0),                                // 27: google.rpc.Code
2085}
2086var file_grpc_service_config_service_config_proto_depIdxs = []int32{
2087	13, // 0: grpc.service_config.MethodConfig.name:type_name -> grpc.service_config.MethodConfig.Name
2088	23, // 1: grpc.service_config.MethodConfig.wait_for_ready:type_name -> google.protobuf.BoolValue
2089	24, // 2: grpc.service_config.MethodConfig.timeout:type_name -> google.protobuf.Duration
2090	25, // 3: grpc.service_config.MethodConfig.max_request_message_bytes:type_name -> google.protobuf.UInt32Value
2091	25, // 4: grpc.service_config.MethodConfig.max_response_message_bytes:type_name -> google.protobuf.UInt32Value
2092	14, // 5: grpc.service_config.MethodConfig.retry_policy:type_name -> grpc.service_config.MethodConfig.RetryPolicy
2093	15, // 6: grpc.service_config.MethodConfig.hedging_policy:type_name -> grpc.service_config.MethodConfig.HedgingPolicy
2094	17, // 7: grpc.service_config.PriorityLoadBalancingPolicyConfig.children:type_name -> grpc.service_config.PriorityLoadBalancingPolicyConfig.ChildrenEntry
2095	19, // 8: grpc.service_config.WeightedTargetLoadBalancingPolicyConfig.targets:type_name -> grpc.service_config.WeightedTargetLoadBalancingPolicyConfig.TargetsEntry
2096	11, // 9: grpc.service_config.GrpcLbConfig.child_policy:type_name -> grpc.service_config.LoadBalancingConfig
2097	11, // 10: grpc.service_config.XdsConfig.child_policy:type_name -> grpc.service_config.LoadBalancingConfig
2098	11, // 11: grpc.service_config.XdsConfig.fallback_policy:type_name -> grpc.service_config.LoadBalancingConfig
2099	26, // 12: grpc.service_config.XdsConfig.lrs_load_reporting_server_name:type_name -> google.protobuf.StringValue
2100	26, // 13: grpc.service_config.EdsLoadBalancingPolicyConfig.lrs_load_reporting_server_name:type_name -> google.protobuf.StringValue
2101	11, // 14: grpc.service_config.EdsLoadBalancingPolicyConfig.locality_picking_policy:type_name -> grpc.service_config.LoadBalancingConfig
2102	11, // 15: grpc.service_config.EdsLoadBalancingPolicyConfig.endpoint_picking_policy:type_name -> grpc.service_config.LoadBalancingConfig
2103	20, // 16: grpc.service_config.LrsLoadBalancingPolicyConfig.locality:type_name -> grpc.service_config.LrsLoadBalancingPolicyConfig.Locality
2104	11, // 17: grpc.service_config.LrsLoadBalancingPolicyConfig.child_policy:type_name -> grpc.service_config.LoadBalancingConfig
2105	2,  // 18: grpc.service_config.LoadBalancingConfig.pick_first:type_name -> grpc.service_config.PickFirstConfig
2106	3,  // 19: grpc.service_config.LoadBalancingConfig.round_robin:type_name -> grpc.service_config.RoundRobinConfig
2107	6,  // 20: grpc.service_config.LoadBalancingConfig.grpclb:type_name -> grpc.service_config.GrpcLbConfig
2108	4,  // 21: grpc.service_config.LoadBalancingConfig.priority:type_name -> grpc.service_config.PriorityLoadBalancingPolicyConfig
2109	5,  // 22: grpc.service_config.LoadBalancingConfig.weighted_target:type_name -> grpc.service_config.WeightedTargetLoadBalancingPolicyConfig
2110	7,  // 23: grpc.service_config.LoadBalancingConfig.cds:type_name -> grpc.service_config.CdsConfig
2111	9,  // 24: grpc.service_config.LoadBalancingConfig.eds:type_name -> grpc.service_config.EdsLoadBalancingPolicyConfig
2112	10, // 25: grpc.service_config.LoadBalancingConfig.lrs:type_name -> grpc.service_config.LrsLoadBalancingPolicyConfig
2113	8,  // 26: grpc.service_config.LoadBalancingConfig.xds:type_name -> grpc.service_config.XdsConfig
2114	8,  // 27: grpc.service_config.LoadBalancingConfig.xds_experimental:type_name -> grpc.service_config.XdsConfig
2115	0,  // 28: grpc.service_config.ServiceConfig.load_balancing_policy:type_name -> grpc.service_config.ServiceConfig.LoadBalancingPolicy
2116	11, // 29: grpc.service_config.ServiceConfig.load_balancing_config:type_name -> grpc.service_config.LoadBalancingConfig
2117	1,  // 30: grpc.service_config.ServiceConfig.method_config:type_name -> grpc.service_config.MethodConfig
2118	21, // 31: grpc.service_config.ServiceConfig.retry_throttling:type_name -> grpc.service_config.ServiceConfig.RetryThrottlingPolicy
2119	22, // 32: grpc.service_config.ServiceConfig.health_check_config:type_name -> grpc.service_config.ServiceConfig.HealthCheckConfig
2120	24, // 33: grpc.service_config.MethodConfig.RetryPolicy.initial_backoff:type_name -> google.protobuf.Duration
2121	24, // 34: grpc.service_config.MethodConfig.RetryPolicy.max_backoff:type_name -> google.protobuf.Duration
2122	27, // 35: grpc.service_config.MethodConfig.RetryPolicy.retryable_status_codes:type_name -> google.rpc.Code
2123	24, // 36: grpc.service_config.MethodConfig.HedgingPolicy.hedging_delay:type_name -> google.protobuf.Duration
2124	27, // 37: grpc.service_config.MethodConfig.HedgingPolicy.non_fatal_status_codes:type_name -> google.rpc.Code
2125	11, // 38: grpc.service_config.PriorityLoadBalancingPolicyConfig.Child.config:type_name -> grpc.service_config.LoadBalancingConfig
2126	16, // 39: grpc.service_config.PriorityLoadBalancingPolicyConfig.ChildrenEntry.value:type_name -> grpc.service_config.PriorityLoadBalancingPolicyConfig.Child
2127	11, // 40: grpc.service_config.WeightedTargetLoadBalancingPolicyConfig.Target.child_policy:type_name -> grpc.service_config.LoadBalancingConfig
2128	18, // 41: grpc.service_config.WeightedTargetLoadBalancingPolicyConfig.TargetsEntry.value:type_name -> grpc.service_config.WeightedTargetLoadBalancingPolicyConfig.Target
2129	26, // 42: grpc.service_config.ServiceConfig.HealthCheckConfig.service_name:type_name -> google.protobuf.StringValue
2130	43, // [43:43] is the sub-list for method output_type
2131	43, // [43:43] is the sub-list for method input_type
2132	43, // [43:43] is the sub-list for extension type_name
2133	43, // [43:43] is the sub-list for extension extendee
2134	0,  // [0:43] is the sub-list for field type_name
2135}
2136
2137func init() { file_grpc_service_config_service_config_proto_init() }
2138func file_grpc_service_config_service_config_proto_init() {
2139	if File_grpc_service_config_service_config_proto != nil {
2140		return
2141	}
2142	if !protoimpl.UnsafeEnabled {
2143		file_grpc_service_config_service_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2144			switch v := v.(*MethodConfig); i {
2145			case 0:
2146				return &v.state
2147			case 1:
2148				return &v.sizeCache
2149			case 2:
2150				return &v.unknownFields
2151			default:
2152				return nil
2153			}
2154		}
2155		file_grpc_service_config_service_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2156			switch v := v.(*PickFirstConfig); i {
2157			case 0:
2158				return &v.state
2159			case 1:
2160				return &v.sizeCache
2161			case 2:
2162				return &v.unknownFields
2163			default:
2164				return nil
2165			}
2166		}
2167		file_grpc_service_config_service_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2168			switch v := v.(*RoundRobinConfig); i {
2169			case 0:
2170				return &v.state
2171			case 1:
2172				return &v.sizeCache
2173			case 2:
2174				return &v.unknownFields
2175			default:
2176				return nil
2177			}
2178		}
2179		file_grpc_service_config_service_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2180			switch v := v.(*PriorityLoadBalancingPolicyConfig); i {
2181			case 0:
2182				return &v.state
2183			case 1:
2184				return &v.sizeCache
2185			case 2:
2186				return &v.unknownFields
2187			default:
2188				return nil
2189			}
2190		}
2191		file_grpc_service_config_service_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2192			switch v := v.(*WeightedTargetLoadBalancingPolicyConfig); i {
2193			case 0:
2194				return &v.state
2195			case 1:
2196				return &v.sizeCache
2197			case 2:
2198				return &v.unknownFields
2199			default:
2200				return nil
2201			}
2202		}
2203		file_grpc_service_config_service_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2204			switch v := v.(*GrpcLbConfig); i {
2205			case 0:
2206				return &v.state
2207			case 1:
2208				return &v.sizeCache
2209			case 2:
2210				return &v.unknownFields
2211			default:
2212				return nil
2213			}
2214		}
2215		file_grpc_service_config_service_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2216			switch v := v.(*CdsConfig); i {
2217			case 0:
2218				return &v.state
2219			case 1:
2220				return &v.sizeCache
2221			case 2:
2222				return &v.unknownFields
2223			default:
2224				return nil
2225			}
2226		}
2227		file_grpc_service_config_service_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2228			switch v := v.(*XdsConfig); i {
2229			case 0:
2230				return &v.state
2231			case 1:
2232				return &v.sizeCache
2233			case 2:
2234				return &v.unknownFields
2235			default:
2236				return nil
2237			}
2238		}
2239		file_grpc_service_config_service_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2240			switch v := v.(*EdsLoadBalancingPolicyConfig); i {
2241			case 0:
2242				return &v.state
2243			case 1:
2244				return &v.sizeCache
2245			case 2:
2246				return &v.unknownFields
2247			default:
2248				return nil
2249			}
2250		}
2251		file_grpc_service_config_service_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2252			switch v := v.(*LrsLoadBalancingPolicyConfig); i {
2253			case 0:
2254				return &v.state
2255			case 1:
2256				return &v.sizeCache
2257			case 2:
2258				return &v.unknownFields
2259			default:
2260				return nil
2261			}
2262		}
2263		file_grpc_service_config_service_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2264			switch v := v.(*LoadBalancingConfig); i {
2265			case 0:
2266				return &v.state
2267			case 1:
2268				return &v.sizeCache
2269			case 2:
2270				return &v.unknownFields
2271			default:
2272				return nil
2273			}
2274		}
2275		file_grpc_service_config_service_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2276			switch v := v.(*ServiceConfig); i {
2277			case 0:
2278				return &v.state
2279			case 1:
2280				return &v.sizeCache
2281			case 2:
2282				return &v.unknownFields
2283			default:
2284				return nil
2285			}
2286		}
2287		file_grpc_service_config_service_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2288			switch v := v.(*MethodConfig_Name); i {
2289			case 0:
2290				return &v.state
2291			case 1:
2292				return &v.sizeCache
2293			case 2:
2294				return &v.unknownFields
2295			default:
2296				return nil
2297			}
2298		}
2299		file_grpc_service_config_service_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2300			switch v := v.(*MethodConfig_RetryPolicy); i {
2301			case 0:
2302				return &v.state
2303			case 1:
2304				return &v.sizeCache
2305			case 2:
2306				return &v.unknownFields
2307			default:
2308				return nil
2309			}
2310		}
2311		file_grpc_service_config_service_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2312			switch v := v.(*MethodConfig_HedgingPolicy); i {
2313			case 0:
2314				return &v.state
2315			case 1:
2316				return &v.sizeCache
2317			case 2:
2318				return &v.unknownFields
2319			default:
2320				return nil
2321			}
2322		}
2323		file_grpc_service_config_service_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2324			switch v := v.(*PriorityLoadBalancingPolicyConfig_Child); i {
2325			case 0:
2326				return &v.state
2327			case 1:
2328				return &v.sizeCache
2329			case 2:
2330				return &v.unknownFields
2331			default:
2332				return nil
2333			}
2334		}
2335		file_grpc_service_config_service_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2336			switch v := v.(*WeightedTargetLoadBalancingPolicyConfig_Target); i {
2337			case 0:
2338				return &v.state
2339			case 1:
2340				return &v.sizeCache
2341			case 2:
2342				return &v.unknownFields
2343			default:
2344				return nil
2345			}
2346		}
2347		file_grpc_service_config_service_config_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2348			switch v := v.(*LrsLoadBalancingPolicyConfig_Locality); i {
2349			case 0:
2350				return &v.state
2351			case 1:
2352				return &v.sizeCache
2353			case 2:
2354				return &v.unknownFields
2355			default:
2356				return nil
2357			}
2358		}
2359		file_grpc_service_config_service_config_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
2360			switch v := v.(*ServiceConfig_RetryThrottlingPolicy); i {
2361			case 0:
2362				return &v.state
2363			case 1:
2364				return &v.sizeCache
2365			case 2:
2366				return &v.unknownFields
2367			default:
2368				return nil
2369			}
2370		}
2371		file_grpc_service_config_service_config_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
2372			switch v := v.(*ServiceConfig_HealthCheckConfig); i {
2373			case 0:
2374				return &v.state
2375			case 1:
2376				return &v.sizeCache
2377			case 2:
2378				return &v.unknownFields
2379			default:
2380				return nil
2381			}
2382		}
2383	}
2384	file_grpc_service_config_service_config_proto_msgTypes[0].OneofWrappers = []interface{}{
2385		(*MethodConfig_RetryPolicy_)(nil),
2386		(*MethodConfig_HedgingPolicy_)(nil),
2387	}
2388	file_grpc_service_config_service_config_proto_msgTypes[10].OneofWrappers = []interface{}{
2389		(*LoadBalancingConfig_PickFirst)(nil),
2390		(*LoadBalancingConfig_RoundRobin)(nil),
2391		(*LoadBalancingConfig_Grpclb)(nil),
2392		(*LoadBalancingConfig_Priority)(nil),
2393		(*LoadBalancingConfig_WeightedTarget)(nil),
2394		(*LoadBalancingConfig_Cds)(nil),
2395		(*LoadBalancingConfig_Eds)(nil),
2396		(*LoadBalancingConfig_Lrs)(nil),
2397		(*LoadBalancingConfig_Xds)(nil),
2398		(*LoadBalancingConfig_XdsExperimental)(nil),
2399	}
2400	type x struct{}
2401	out := protoimpl.TypeBuilder{
2402		File: protoimpl.DescBuilder{
2403			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2404			RawDescriptor: file_grpc_service_config_service_config_proto_rawDesc,
2405			NumEnums:      1,
2406			NumMessages:   22,
2407			NumExtensions: 0,
2408			NumServices:   0,
2409		},
2410		GoTypes:           file_grpc_service_config_service_config_proto_goTypes,
2411		DependencyIndexes: file_grpc_service_config_service_config_proto_depIdxs,
2412		EnumInfos:         file_grpc_service_config_service_config_proto_enumTypes,
2413		MessageInfos:      file_grpc_service_config_service_config_proto_msgTypes,
2414	}.Build()
2415	File_grpc_service_config_service_config_proto = out.File
2416	file_grpc_service_config_service_config_proto_rawDesc = nil
2417	file_grpc_service_config_service_config_proto_goTypes = nil
2418	file_grpc_service_config_service_config_proto_depIdxs = nil
2419}
2420