1// Code generated by protoc-gen-go. DO NOT EDIT.
2// versions:
3// 	protoc-gen-go v1.25.0
4// 	protoc        v3.16.0
5// source: envoy/config/core/v3/config_source.proto
6
7package envoy_config_core_v3
8
9import (
10	_ "github.com/cncf/xds/go/udpa/annotations"
11	v3 "github.com/cncf/xds/go/xds/core/v3"
12	_ "github.com/envoyproxy/go-control-plane/envoy/annotations"
13	_ "github.com/envoyproxy/protoc-gen-validate/validate"
14	proto "github.com/golang/protobuf/proto"
15	duration "github.com/golang/protobuf/ptypes/duration"
16	wrappers "github.com/golang/protobuf/ptypes/wrappers"
17	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
18	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
19	reflect "reflect"
20	sync "sync"
21)
22
23const (
24	// Verify that this generated code is sufficiently up-to-date.
25	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
26	// Verify that runtime/protoimpl is sufficiently up-to-date.
27	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
28)
29
30// This is a compile-time assertion that a sufficiently up-to-date version
31// of the legacy proto package is being used.
32const _ = proto.ProtoPackageIsVersion4
33
34// xDS API and non-xDS services version. This is used to describe both resource and transport
35// protocol versions (in distinct configuration fields).
36type ApiVersion int32
37
38const (
39	// When not specified, we assume v2, to ease migration to Envoy's stable API
40	// versioning. If a client does not support v2 (e.g. due to deprecation), this
41	// is an invalid value.
42	//
43	// Deprecated: Do not use.
44	ApiVersion_AUTO ApiVersion = 0
45	// Use xDS v2 API.
46	//
47	// Deprecated: Do not use.
48	ApiVersion_V2 ApiVersion = 1
49	// Use xDS v3 API.
50	ApiVersion_V3 ApiVersion = 2
51)
52
53// Enum value maps for ApiVersion.
54var (
55	ApiVersion_name = map[int32]string{
56		0: "AUTO",
57		1: "V2",
58		2: "V3",
59	}
60	ApiVersion_value = map[string]int32{
61		"AUTO": 0,
62		"V2":   1,
63		"V3":   2,
64	}
65)
66
67func (x ApiVersion) Enum() *ApiVersion {
68	p := new(ApiVersion)
69	*p = x
70	return p
71}
72
73func (x ApiVersion) String() string {
74	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
75}
76
77func (ApiVersion) Descriptor() protoreflect.EnumDescriptor {
78	return file_envoy_config_core_v3_config_source_proto_enumTypes[0].Descriptor()
79}
80
81func (ApiVersion) Type() protoreflect.EnumType {
82	return &file_envoy_config_core_v3_config_source_proto_enumTypes[0]
83}
84
85func (x ApiVersion) Number() protoreflect.EnumNumber {
86	return protoreflect.EnumNumber(x)
87}
88
89// Deprecated: Use ApiVersion.Descriptor instead.
90func (ApiVersion) EnumDescriptor() ([]byte, []int) {
91	return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{0}
92}
93
94// APIs may be fetched via either REST or gRPC.
95type ApiConfigSource_ApiType int32
96
97const (
98	// Ideally this would be 'reserved 0' but one can't reserve the default
99	// value. Instead we throw an exception if this is ever used.
100	//
101	// Deprecated: Do not use.
102	ApiConfigSource_hidden_envoy_deprecated_UNSUPPORTED_REST_LEGACY ApiConfigSource_ApiType = 0
103	// REST-JSON v2 API. The `canonical JSON encoding
104	// <https://developers.google.com/protocol-buffers/docs/proto3#json>`_ for
105	// the v2 protos is used.
106	ApiConfigSource_REST ApiConfigSource_ApiType = 1
107	// SotW gRPC service.
108	ApiConfigSource_GRPC ApiConfigSource_ApiType = 2
109	// Using the delta xDS gRPC service, i.e. DeltaDiscovery{Request,Response}
110	// rather than Discovery{Request,Response}. Rather than sending Envoy the entire state
111	// with every update, the xDS server only sends what has changed since the last update.
112	ApiConfigSource_DELTA_GRPC ApiConfigSource_ApiType = 3
113	// SotW xDS gRPC with ADS. All resources which resolve to this configuration source will be
114	// multiplexed on a single connection to an ADS endpoint.
115	// [#not-implemented-hide:]
116	ApiConfigSource_AGGREGATED_GRPC ApiConfigSource_ApiType = 5
117	// Delta xDS gRPC with ADS. All resources which resolve to this configuration source will be
118	// multiplexed on a single connection to an ADS endpoint.
119	// [#not-implemented-hide:]
120	ApiConfigSource_AGGREGATED_DELTA_GRPC ApiConfigSource_ApiType = 6
121)
122
123// Enum value maps for ApiConfigSource_ApiType.
124var (
125	ApiConfigSource_ApiType_name = map[int32]string{
126		0: "hidden_envoy_deprecated_UNSUPPORTED_REST_LEGACY",
127		1: "REST",
128		2: "GRPC",
129		3: "DELTA_GRPC",
130		5: "AGGREGATED_GRPC",
131		6: "AGGREGATED_DELTA_GRPC",
132	}
133	ApiConfigSource_ApiType_value = map[string]int32{
134		"hidden_envoy_deprecated_UNSUPPORTED_REST_LEGACY": 0,
135		"REST":                  1,
136		"GRPC":                  2,
137		"DELTA_GRPC":            3,
138		"AGGREGATED_GRPC":       5,
139		"AGGREGATED_DELTA_GRPC": 6,
140	}
141)
142
143func (x ApiConfigSource_ApiType) Enum() *ApiConfigSource_ApiType {
144	p := new(ApiConfigSource_ApiType)
145	*p = x
146	return p
147}
148
149func (x ApiConfigSource_ApiType) String() string {
150	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
151}
152
153func (ApiConfigSource_ApiType) Descriptor() protoreflect.EnumDescriptor {
154	return file_envoy_config_core_v3_config_source_proto_enumTypes[1].Descriptor()
155}
156
157func (ApiConfigSource_ApiType) Type() protoreflect.EnumType {
158	return &file_envoy_config_core_v3_config_source_proto_enumTypes[1]
159}
160
161func (x ApiConfigSource_ApiType) Number() protoreflect.EnumNumber {
162	return protoreflect.EnumNumber(x)
163}
164
165// Deprecated: Use ApiConfigSource_ApiType.Descriptor instead.
166func (ApiConfigSource_ApiType) EnumDescriptor() ([]byte, []int) {
167	return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{0, 0}
168}
169
170// API configuration source. This identifies the API type and cluster that Envoy
171// will use to fetch an xDS API.
172// [#next-free-field: 9]
173type ApiConfigSource struct {
174	state         protoimpl.MessageState
175	sizeCache     protoimpl.SizeCache
176	unknownFields protoimpl.UnknownFields
177
178	// API type (gRPC, REST, delta gRPC)
179	ApiType ApiConfigSource_ApiType `protobuf:"varint,1,opt,name=api_type,json=apiType,proto3,enum=envoy.config.core.v3.ApiConfigSource_ApiType" json:"api_type,omitempty"`
180	// API version for xDS transport protocol. This describes the xDS gRPC/REST
181	// endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
182	TransportApiVersion ApiVersion `protobuf:"varint,8,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"`
183	// Cluster names should be used only with REST. If > 1
184	// cluster is defined, clusters will be cycled through if any kind of failure
185	// occurs.
186	//
187	// .. note::
188	//
189	//  The cluster with name ``cluster_name`` must be statically defined and its
190	//  type must not be ``EDS``.
191	ClusterNames []string `protobuf:"bytes,2,rep,name=cluster_names,json=clusterNames,proto3" json:"cluster_names,omitempty"`
192	// Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
193	// services will be cycled through if any kind of failure occurs.
194	GrpcServices []*GrpcService `protobuf:"bytes,4,rep,name=grpc_services,json=grpcServices,proto3" json:"grpc_services,omitempty"`
195	// For REST APIs, the delay between successive polls.
196	RefreshDelay *duration.Duration `protobuf:"bytes,3,opt,name=refresh_delay,json=refreshDelay,proto3" json:"refresh_delay,omitempty"`
197	// For REST APIs, the request timeout. If not set, a default value of 1s will be used.
198	RequestTimeout *duration.Duration `protobuf:"bytes,5,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
199	// For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
200	// rate limited.
201	RateLimitSettings *RateLimitSettings `protobuf:"bytes,6,opt,name=rate_limit_settings,json=rateLimitSettings,proto3" json:"rate_limit_settings,omitempty"`
202	// Skip the node identifier in subsequent discovery requests for streaming gRPC config types.
203	SetNodeOnFirstMessageOnly bool `protobuf:"varint,7,opt,name=set_node_on_first_message_only,json=setNodeOnFirstMessageOnly,proto3" json:"set_node_on_first_message_only,omitempty"`
204}
205
206func (x *ApiConfigSource) Reset() {
207	*x = ApiConfigSource{}
208	if protoimpl.UnsafeEnabled {
209		mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[0]
210		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
211		ms.StoreMessageInfo(mi)
212	}
213}
214
215func (x *ApiConfigSource) String() string {
216	return protoimpl.X.MessageStringOf(x)
217}
218
219func (*ApiConfigSource) ProtoMessage() {}
220
221func (x *ApiConfigSource) ProtoReflect() protoreflect.Message {
222	mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[0]
223	if protoimpl.UnsafeEnabled && x != nil {
224		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
225		if ms.LoadMessageInfo() == nil {
226			ms.StoreMessageInfo(mi)
227		}
228		return ms
229	}
230	return mi.MessageOf(x)
231}
232
233// Deprecated: Use ApiConfigSource.ProtoReflect.Descriptor instead.
234func (*ApiConfigSource) Descriptor() ([]byte, []int) {
235	return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{0}
236}
237
238func (x *ApiConfigSource) GetApiType() ApiConfigSource_ApiType {
239	if x != nil {
240		return x.ApiType
241	}
242	return ApiConfigSource_hidden_envoy_deprecated_UNSUPPORTED_REST_LEGACY
243}
244
245func (x *ApiConfigSource) GetTransportApiVersion() ApiVersion {
246	if x != nil {
247		return x.TransportApiVersion
248	}
249	return ApiVersion_AUTO
250}
251
252func (x *ApiConfigSource) GetClusterNames() []string {
253	if x != nil {
254		return x.ClusterNames
255	}
256	return nil
257}
258
259func (x *ApiConfigSource) GetGrpcServices() []*GrpcService {
260	if x != nil {
261		return x.GrpcServices
262	}
263	return nil
264}
265
266func (x *ApiConfigSource) GetRefreshDelay() *duration.Duration {
267	if x != nil {
268		return x.RefreshDelay
269	}
270	return nil
271}
272
273func (x *ApiConfigSource) GetRequestTimeout() *duration.Duration {
274	if x != nil {
275		return x.RequestTimeout
276	}
277	return nil
278}
279
280func (x *ApiConfigSource) GetRateLimitSettings() *RateLimitSettings {
281	if x != nil {
282		return x.RateLimitSettings
283	}
284	return nil
285}
286
287func (x *ApiConfigSource) GetSetNodeOnFirstMessageOnly() bool {
288	if x != nil {
289		return x.SetNodeOnFirstMessageOnly
290	}
291	return false
292}
293
294// Aggregated Discovery Service (ADS) options. This is currently empty, but when
295// set in :ref:`ConfigSource <envoy_v3_api_msg_config.core.v3.ConfigSource>` can be used to
296// specify that ADS is to be used.
297type AggregatedConfigSource struct {
298	state         protoimpl.MessageState
299	sizeCache     protoimpl.SizeCache
300	unknownFields protoimpl.UnknownFields
301}
302
303func (x *AggregatedConfigSource) Reset() {
304	*x = AggregatedConfigSource{}
305	if protoimpl.UnsafeEnabled {
306		mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[1]
307		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
308		ms.StoreMessageInfo(mi)
309	}
310}
311
312func (x *AggregatedConfigSource) String() string {
313	return protoimpl.X.MessageStringOf(x)
314}
315
316func (*AggregatedConfigSource) ProtoMessage() {}
317
318func (x *AggregatedConfigSource) ProtoReflect() protoreflect.Message {
319	mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[1]
320	if protoimpl.UnsafeEnabled && x != nil {
321		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
322		if ms.LoadMessageInfo() == nil {
323			ms.StoreMessageInfo(mi)
324		}
325		return ms
326	}
327	return mi.MessageOf(x)
328}
329
330// Deprecated: Use AggregatedConfigSource.ProtoReflect.Descriptor instead.
331func (*AggregatedConfigSource) Descriptor() ([]byte, []int) {
332	return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{1}
333}
334
335// [#not-implemented-hide:]
336// Self-referencing config source options. This is currently empty, but when
337// set in :ref:`ConfigSource <envoy_v3_api_msg_config.core.v3.ConfigSource>` can be used to
338// specify that other data can be obtained from the same server.
339type SelfConfigSource struct {
340	state         protoimpl.MessageState
341	sizeCache     protoimpl.SizeCache
342	unknownFields protoimpl.UnknownFields
343
344	// API version for xDS transport protocol. This describes the xDS gRPC/REST
345	// endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
346	TransportApiVersion ApiVersion `protobuf:"varint,1,opt,name=transport_api_version,json=transportApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"transport_api_version,omitempty"`
347}
348
349func (x *SelfConfigSource) Reset() {
350	*x = SelfConfigSource{}
351	if protoimpl.UnsafeEnabled {
352		mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[2]
353		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
354		ms.StoreMessageInfo(mi)
355	}
356}
357
358func (x *SelfConfigSource) String() string {
359	return protoimpl.X.MessageStringOf(x)
360}
361
362func (*SelfConfigSource) ProtoMessage() {}
363
364func (x *SelfConfigSource) ProtoReflect() protoreflect.Message {
365	mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[2]
366	if protoimpl.UnsafeEnabled && x != nil {
367		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
368		if ms.LoadMessageInfo() == nil {
369			ms.StoreMessageInfo(mi)
370		}
371		return ms
372	}
373	return mi.MessageOf(x)
374}
375
376// Deprecated: Use SelfConfigSource.ProtoReflect.Descriptor instead.
377func (*SelfConfigSource) Descriptor() ([]byte, []int) {
378	return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{2}
379}
380
381func (x *SelfConfigSource) GetTransportApiVersion() ApiVersion {
382	if x != nil {
383		return x.TransportApiVersion
384	}
385	return ApiVersion_AUTO
386}
387
388// Rate Limit settings to be applied for discovery requests made by Envoy.
389type RateLimitSettings struct {
390	state         protoimpl.MessageState
391	sizeCache     protoimpl.SizeCache
392	unknownFields protoimpl.UnknownFields
393
394	// Maximum number of tokens to be used for rate limiting discovery request calls. If not set, a
395	// default value of 100 will be used.
396	MaxTokens *wrappers.UInt32Value `protobuf:"bytes,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
397	// Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
398	// per second will be used.
399	FillRate *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=fill_rate,json=fillRate,proto3" json:"fill_rate,omitempty"`
400}
401
402func (x *RateLimitSettings) Reset() {
403	*x = RateLimitSettings{}
404	if protoimpl.UnsafeEnabled {
405		mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[3]
406		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
407		ms.StoreMessageInfo(mi)
408	}
409}
410
411func (x *RateLimitSettings) String() string {
412	return protoimpl.X.MessageStringOf(x)
413}
414
415func (*RateLimitSettings) ProtoMessage() {}
416
417func (x *RateLimitSettings) ProtoReflect() protoreflect.Message {
418	mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[3]
419	if protoimpl.UnsafeEnabled && x != nil {
420		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
421		if ms.LoadMessageInfo() == nil {
422			ms.StoreMessageInfo(mi)
423		}
424		return ms
425	}
426	return mi.MessageOf(x)
427}
428
429// Deprecated: Use RateLimitSettings.ProtoReflect.Descriptor instead.
430func (*RateLimitSettings) Descriptor() ([]byte, []int) {
431	return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{3}
432}
433
434func (x *RateLimitSettings) GetMaxTokens() *wrappers.UInt32Value {
435	if x != nil {
436		return x.MaxTokens
437	}
438	return nil
439}
440
441func (x *RateLimitSettings) GetFillRate() *wrappers.DoubleValue {
442	if x != nil {
443		return x.FillRate
444	}
445	return nil
446}
447
448// Configuration for :ref:`listeners <config_listeners>`, :ref:`clusters
449// <config_cluster_manager>`, :ref:`routes
450// <envoy_v3_api_msg_config.route.v3.RouteConfiguration>`, :ref:`endpoints
451// <arch_overview_service_discovery>` etc. may either be sourced from the
452// filesystem or from an xDS API source. Filesystem configs are watched with
453// inotify for updates.
454// [#next-free-field: 8]
455type ConfigSource struct {
456	state         protoimpl.MessageState
457	sizeCache     protoimpl.SizeCache
458	unknownFields protoimpl.UnknownFields
459
460	// Authorities that this config source may be used for. An authority specified in a xdstp:// URL
461	// is resolved to a *ConfigSource* prior to configuration fetch. This field provides the
462	// association between authority name and configuration source.
463	// [#not-implemented-hide:]
464	Authorities []*v3.Authority `protobuf:"bytes,7,rep,name=authorities,proto3" json:"authorities,omitempty"`
465	// Types that are assignable to ConfigSourceSpecifier:
466	//	*ConfigSource_Path
467	//	*ConfigSource_ApiConfigSource
468	//	*ConfigSource_Ads
469	//	*ConfigSource_Self
470	ConfigSourceSpecifier isConfigSource_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"`
471	// When this timeout is specified, Envoy will wait no longer than the specified time for first
472	// config response on this xDS subscription during the :ref:`initialization process
473	// <arch_overview_initialization>`. After reaching the timeout, Envoy will move to the next
474	// initialization phase, even if the first config is not delivered yet. The timer is activated
475	// when the xDS API subscription starts, and is disarmed on first config update or on error. 0
476	// means no timeout - Envoy will wait indefinitely for the first xDS config (unless another
477	// timeout applies). The default is 15s.
478	InitialFetchTimeout *duration.Duration `protobuf:"bytes,4,opt,name=initial_fetch_timeout,json=initialFetchTimeout,proto3" json:"initial_fetch_timeout,omitempty"`
479	// API version for xDS resources. This implies the type URLs that the client
480	// will request for resources and the resource type that the client will in
481	// turn expect to be delivered.
482	ResourceApiVersion ApiVersion `protobuf:"varint,6,opt,name=resource_api_version,json=resourceApiVersion,proto3,enum=envoy.config.core.v3.ApiVersion" json:"resource_api_version,omitempty"`
483}
484
485func (x *ConfigSource) Reset() {
486	*x = ConfigSource{}
487	if protoimpl.UnsafeEnabled {
488		mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[4]
489		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
490		ms.StoreMessageInfo(mi)
491	}
492}
493
494func (x *ConfigSource) String() string {
495	return protoimpl.X.MessageStringOf(x)
496}
497
498func (*ConfigSource) ProtoMessage() {}
499
500func (x *ConfigSource) ProtoReflect() protoreflect.Message {
501	mi := &file_envoy_config_core_v3_config_source_proto_msgTypes[4]
502	if protoimpl.UnsafeEnabled && x != nil {
503		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
504		if ms.LoadMessageInfo() == nil {
505			ms.StoreMessageInfo(mi)
506		}
507		return ms
508	}
509	return mi.MessageOf(x)
510}
511
512// Deprecated: Use ConfigSource.ProtoReflect.Descriptor instead.
513func (*ConfigSource) Descriptor() ([]byte, []int) {
514	return file_envoy_config_core_v3_config_source_proto_rawDescGZIP(), []int{4}
515}
516
517func (x *ConfigSource) GetAuthorities() []*v3.Authority {
518	if x != nil {
519		return x.Authorities
520	}
521	return nil
522}
523
524func (m *ConfigSource) GetConfigSourceSpecifier() isConfigSource_ConfigSourceSpecifier {
525	if m != nil {
526		return m.ConfigSourceSpecifier
527	}
528	return nil
529}
530
531func (x *ConfigSource) GetPath() string {
532	if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Path); ok {
533		return x.Path
534	}
535	return ""
536}
537
538func (x *ConfigSource) GetApiConfigSource() *ApiConfigSource {
539	if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_ApiConfigSource); ok {
540		return x.ApiConfigSource
541	}
542	return nil
543}
544
545func (x *ConfigSource) GetAds() *AggregatedConfigSource {
546	if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Ads); ok {
547		return x.Ads
548	}
549	return nil
550}
551
552func (x *ConfigSource) GetSelf() *SelfConfigSource {
553	if x, ok := x.GetConfigSourceSpecifier().(*ConfigSource_Self); ok {
554		return x.Self
555	}
556	return nil
557}
558
559func (x *ConfigSource) GetInitialFetchTimeout() *duration.Duration {
560	if x != nil {
561		return x.InitialFetchTimeout
562	}
563	return nil
564}
565
566func (x *ConfigSource) GetResourceApiVersion() ApiVersion {
567	if x != nil {
568		return x.ResourceApiVersion
569	}
570	return ApiVersion_AUTO
571}
572
573type isConfigSource_ConfigSourceSpecifier interface {
574	isConfigSource_ConfigSourceSpecifier()
575}
576
577type ConfigSource_Path struct {
578	// Path on the filesystem to source and watch for configuration updates.
579	// When sourcing configuration for :ref:`secret <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.Secret>`,
580	// the certificate and key files are also watched for updates.
581	//
582	// .. note::
583	//
584	//  The path to the source must exist at config load time.
585	//
586	// .. note::
587	//
588	//   Envoy will only watch the file path for *moves.* This is because in general only moves
589	//   are atomic. The same method of swapping files as is demonstrated in the
590	//   :ref:`runtime documentation <config_runtime_symbolic_link_swap>` can be used here also.
591	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
592}
593
594type ConfigSource_ApiConfigSource struct {
595	// API configuration source.
596	ApiConfigSource *ApiConfigSource `protobuf:"bytes,2,opt,name=api_config_source,json=apiConfigSource,proto3,oneof"`
597}
598
599type ConfigSource_Ads struct {
600	// When set, ADS will be used to fetch resources. The ADS API configuration
601	// source in the bootstrap configuration is used.
602	Ads *AggregatedConfigSource `protobuf:"bytes,3,opt,name=ads,proto3,oneof"`
603}
604
605type ConfigSource_Self struct {
606	// [#not-implemented-hide:]
607	// When set, the client will access the resources from the same server it got the
608	// ConfigSource from, although not necessarily from the same stream. This is similar to the
609	// :ref:`ads<envoy_v3_api_field.ConfigSource.ads>` field, except that the client may use a
610	// different stream to the same server. As a result, this field can be used for things
611	// like LRS that cannot be sent on an ADS stream. It can also be used to link from (e.g.)
612	// LDS to RDS on the same server without requiring the management server to know its name
613	// or required credentials.
614	// [#next-major-version: In xDS v3, consider replacing the ads field with this one, since
615	// this field can implicitly mean to use the same stream in the case where the ConfigSource
616	// is provided via ADS and the specified data can also be obtained via ADS.]
617	Self *SelfConfigSource `protobuf:"bytes,5,opt,name=self,proto3,oneof"`
618}
619
620func (*ConfigSource_Path) isConfigSource_ConfigSourceSpecifier() {}
621
622func (*ConfigSource_ApiConfigSource) isConfigSource_ConfigSourceSpecifier() {}
623
624func (*ConfigSource_Ads) isConfigSource_ConfigSourceSpecifier() {}
625
626func (*ConfigSource_Self) isConfigSource_ConfigSourceSpecifier() {}
627
628var File_envoy_config_core_v3_config_source_proto protoreflect.FileDescriptor
629
630var file_envoy_config_core_v3_config_source_proto_rawDesc = []byte{
631	0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63,
632	0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f,
633	0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x65, 0x6e, 0x76, 0x6f,
634	0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
635	0x1a, 0x27, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63,
636	0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76,
637	0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
638	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74,
639	0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
640	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70,
641	0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x78, 0x64, 0x73, 0x2f, 0x63,
642	0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79,
643	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e,
644	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63,
645	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70,
646	0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74,
647	0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61,
648	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72,
649	0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76,
650	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65,
651	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x06, 0x0a, 0x0f, 0x41, 0x70, 0x69, 0x43, 0x6f,
652	0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x08, 0x61, 0x70,
653	0x69, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x65,
654	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
655	0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75,
656	0x72, 0x63, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05,
657	0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x61, 0x70, 0x69, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5e,
658	0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f,
659	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e,
660	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72,
661	0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42,
662	0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73,
663	0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23,
664	0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18,
665	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61,
666	0x6d, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76,
667	0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x6e, 0x76,
668	0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
669	0x33, 0x2e, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0c, 0x67,
670	0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0d, 0x72,
671	0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01,
672	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
673	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72,
674	0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x4c, 0x0a, 0x0f, 0x72,
675	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05,
676	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
677	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
678	0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x2a, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65,
679	0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x57, 0x0a, 0x13, 0x72, 0x61, 0x74,
680	0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
681	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
682	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61,
683	0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52,
684	0x11, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
685	0x67, 0x73, 0x12, 0x41, 0x0a, 0x1e, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6f,
686	0x6e, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
687	0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x73, 0x65, 0x74, 0x4e,
688	0x6f, 0x64, 0x65, 0x4f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
689	0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xa5, 0x01, 0x0a, 0x07, 0x41, 0x70, 0x69, 0x54, 0x79, 0x70,
690	0x65, 0x12, 0x46, 0x0a, 0x2f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x76, 0x6f,
691	0x79, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x55, 0x4e, 0x53,
692	0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x4c, 0x45,
693	0x47, 0x41, 0x43, 0x59, 0x10, 0x00, 0x1a, 0x11, 0x08, 0x01, 0xa8, 0xf7, 0xb4, 0x8b, 0x02, 0x01,
694	0x8a, 0xf4, 0x9b, 0xb3, 0x05, 0x03, 0x33, 0x2e, 0x30, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x53,
695	0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x02, 0x12, 0x0e, 0x0a,
696	0x0a, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x5f, 0x47, 0x52, 0x50, 0x43, 0x10, 0x03, 0x12, 0x13, 0x0a,
697	0x0f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x50, 0x43,
698	0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x44,
699	0x5f, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x5f, 0x47, 0x52, 0x50, 0x43, 0x10, 0x06, 0x3a, 0x28, 0x9a,
700	0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e,
701	0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69,
702	0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x16, 0x41, 0x67, 0x67, 0x72, 0x65,
703	0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63,
704	0x65, 0x3a, 0x2f, 0x9a, 0xc5, 0x88, 0x1e, 0x2a, 0x0a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
705	0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x67, 0x67, 0x72,
706	0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72,
707	0x63, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69,
708	0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73,
709	0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
710	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
711	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70,
712	0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02,
713	0x10, 0x01, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x70, 0x69,
714	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22,
715	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72,
716	0x65, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72,
717	0x63, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x11, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
718	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f,
719	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
720	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
721	0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x54,
722	0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x61,
723	0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
724	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c,
725	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x21, 0x00, 0x00,
726	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x6c, 0x52, 0x61, 0x74, 0x65,
727	0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
728	0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c,
729	0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xa7, 0x04, 0x0a,
730	0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a,
731	0x0b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03,
732	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x78, 0x64, 0x73, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33,
733	0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68,
734	0x6f, 0x72, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
735	0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x53, 0x0a,
736	0x11, 0x61, 0x70, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72,
737	0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
738	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
739	0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48,
740	0x00, 0x52, 0x0f, 0x61, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72,
741	0x63, 0x65, 0x12, 0x40, 0x0a, 0x03, 0x61, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
742	0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
743	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65,
744	0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52,
745	0x03, 0x61, 0x64, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x05, 0x20, 0x01,
746	0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
747	0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x65, 0x6c, 0x66, 0x43, 0x6f,
748	0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x04, 0x73, 0x65,
749	0x6c, 0x66, 0x12, 0x4d, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x65,
750	0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
751	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
752	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x69, 0x6e,
753	0x69, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75,
754	0x74, 0x12, 0x5c, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x70,
755	0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
756	0x20, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
757	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
758	0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x12, 0x72, 0x65, 0x73,
759	0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
760	0x25, 0x9a, 0xc5, 0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
761	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
762	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x1e, 0x0a, 0x17, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
763	0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
764	0x72, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x2a, 0x40, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72,
765	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x1a, 0x0b,
766	0x08, 0x01, 0x8a, 0xf4, 0x9b, 0xb3, 0x05, 0x03, 0x33, 0x2e, 0x30, 0x12, 0x13, 0x0a, 0x02, 0x56,
767	0x32, 0x10, 0x01, 0x1a, 0x0b, 0x08, 0x01, 0x8a, 0xf4, 0x9b, 0xb3, 0x05, 0x03, 0x33, 0x2e, 0x30,
768	0x12, 0x06, 0x0a, 0x02, 0x56, 0x33, 0x10, 0x02, 0x42, 0x41, 0x0a, 0x22, 0x69, 0x6f, 0x2e, 0x65,
769	0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
770	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x11,
771	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74,
772	0x6f, 0x50, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f,
773	0x74, 0x6f, 0x33,
774}
775
776var (
777	file_envoy_config_core_v3_config_source_proto_rawDescOnce sync.Once
778	file_envoy_config_core_v3_config_source_proto_rawDescData = file_envoy_config_core_v3_config_source_proto_rawDesc
779)
780
781func file_envoy_config_core_v3_config_source_proto_rawDescGZIP() []byte {
782	file_envoy_config_core_v3_config_source_proto_rawDescOnce.Do(func() {
783		file_envoy_config_core_v3_config_source_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_core_v3_config_source_proto_rawDescData)
784	})
785	return file_envoy_config_core_v3_config_source_proto_rawDescData
786}
787
788var file_envoy_config_core_v3_config_source_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
789var file_envoy_config_core_v3_config_source_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
790var file_envoy_config_core_v3_config_source_proto_goTypes = []interface{}{
791	(ApiVersion)(0),                // 0: envoy.config.core.v3.ApiVersion
792	(ApiConfigSource_ApiType)(0),   // 1: envoy.config.core.v3.ApiConfigSource.ApiType
793	(*ApiConfigSource)(nil),        // 2: envoy.config.core.v3.ApiConfigSource
794	(*AggregatedConfigSource)(nil), // 3: envoy.config.core.v3.AggregatedConfigSource
795	(*SelfConfigSource)(nil),       // 4: envoy.config.core.v3.SelfConfigSource
796	(*RateLimitSettings)(nil),      // 5: envoy.config.core.v3.RateLimitSettings
797	(*ConfigSource)(nil),           // 6: envoy.config.core.v3.ConfigSource
798	(*GrpcService)(nil),            // 7: envoy.config.core.v3.GrpcService
799	(*duration.Duration)(nil),      // 8: google.protobuf.Duration
800	(*wrappers.UInt32Value)(nil),   // 9: google.protobuf.UInt32Value
801	(*wrappers.DoubleValue)(nil),   // 10: google.protobuf.DoubleValue
802	(*v3.Authority)(nil),           // 11: xds.core.v3.Authority
803}
804var file_envoy_config_core_v3_config_source_proto_depIdxs = []int32{
805	1,  // 0: envoy.config.core.v3.ApiConfigSource.api_type:type_name -> envoy.config.core.v3.ApiConfigSource.ApiType
806	0,  // 1: envoy.config.core.v3.ApiConfigSource.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion
807	7,  // 2: envoy.config.core.v3.ApiConfigSource.grpc_services:type_name -> envoy.config.core.v3.GrpcService
808	8,  // 3: envoy.config.core.v3.ApiConfigSource.refresh_delay:type_name -> google.protobuf.Duration
809	8,  // 4: envoy.config.core.v3.ApiConfigSource.request_timeout:type_name -> google.protobuf.Duration
810	5,  // 5: envoy.config.core.v3.ApiConfigSource.rate_limit_settings:type_name -> envoy.config.core.v3.RateLimitSettings
811	0,  // 6: envoy.config.core.v3.SelfConfigSource.transport_api_version:type_name -> envoy.config.core.v3.ApiVersion
812	9,  // 7: envoy.config.core.v3.RateLimitSettings.max_tokens:type_name -> google.protobuf.UInt32Value
813	10, // 8: envoy.config.core.v3.RateLimitSettings.fill_rate:type_name -> google.protobuf.DoubleValue
814	11, // 9: envoy.config.core.v3.ConfigSource.authorities:type_name -> xds.core.v3.Authority
815	2,  // 10: envoy.config.core.v3.ConfigSource.api_config_source:type_name -> envoy.config.core.v3.ApiConfigSource
816	3,  // 11: envoy.config.core.v3.ConfigSource.ads:type_name -> envoy.config.core.v3.AggregatedConfigSource
817	4,  // 12: envoy.config.core.v3.ConfigSource.self:type_name -> envoy.config.core.v3.SelfConfigSource
818	8,  // 13: envoy.config.core.v3.ConfigSource.initial_fetch_timeout:type_name -> google.protobuf.Duration
819	0,  // 14: envoy.config.core.v3.ConfigSource.resource_api_version:type_name -> envoy.config.core.v3.ApiVersion
820	15, // [15:15] is the sub-list for method output_type
821	15, // [15:15] is the sub-list for method input_type
822	15, // [15:15] is the sub-list for extension type_name
823	15, // [15:15] is the sub-list for extension extendee
824	0,  // [0:15] is the sub-list for field type_name
825}
826
827func init() { file_envoy_config_core_v3_config_source_proto_init() }
828func file_envoy_config_core_v3_config_source_proto_init() {
829	if File_envoy_config_core_v3_config_source_proto != nil {
830		return
831	}
832	file_envoy_config_core_v3_grpc_service_proto_init()
833	if !protoimpl.UnsafeEnabled {
834		file_envoy_config_core_v3_config_source_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
835			switch v := v.(*ApiConfigSource); i {
836			case 0:
837				return &v.state
838			case 1:
839				return &v.sizeCache
840			case 2:
841				return &v.unknownFields
842			default:
843				return nil
844			}
845		}
846		file_envoy_config_core_v3_config_source_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
847			switch v := v.(*AggregatedConfigSource); i {
848			case 0:
849				return &v.state
850			case 1:
851				return &v.sizeCache
852			case 2:
853				return &v.unknownFields
854			default:
855				return nil
856			}
857		}
858		file_envoy_config_core_v3_config_source_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
859			switch v := v.(*SelfConfigSource); i {
860			case 0:
861				return &v.state
862			case 1:
863				return &v.sizeCache
864			case 2:
865				return &v.unknownFields
866			default:
867				return nil
868			}
869		}
870		file_envoy_config_core_v3_config_source_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
871			switch v := v.(*RateLimitSettings); i {
872			case 0:
873				return &v.state
874			case 1:
875				return &v.sizeCache
876			case 2:
877				return &v.unknownFields
878			default:
879				return nil
880			}
881		}
882		file_envoy_config_core_v3_config_source_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
883			switch v := v.(*ConfigSource); i {
884			case 0:
885				return &v.state
886			case 1:
887				return &v.sizeCache
888			case 2:
889				return &v.unknownFields
890			default:
891				return nil
892			}
893		}
894	}
895	file_envoy_config_core_v3_config_source_proto_msgTypes[4].OneofWrappers = []interface{}{
896		(*ConfigSource_Path)(nil),
897		(*ConfigSource_ApiConfigSource)(nil),
898		(*ConfigSource_Ads)(nil),
899		(*ConfigSource_Self)(nil),
900	}
901	type x struct{}
902	out := protoimpl.TypeBuilder{
903		File: protoimpl.DescBuilder{
904			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
905			RawDescriptor: file_envoy_config_core_v3_config_source_proto_rawDesc,
906			NumEnums:      2,
907			NumMessages:   5,
908			NumExtensions: 0,
909			NumServices:   0,
910		},
911		GoTypes:           file_envoy_config_core_v3_config_source_proto_goTypes,
912		DependencyIndexes: file_envoy_config_core_v3_config_source_proto_depIdxs,
913		EnumInfos:         file_envoy_config_core_v3_config_source_proto_enumTypes,
914		MessageInfos:      file_envoy_config_core_v3_config_source_proto_msgTypes,
915	}.Build()
916	File_envoy_config_core_v3_config_source_proto = out.File
917	file_envoy_config_core_v3_config_source_proto_rawDesc = nil
918	file_envoy_config_core_v3_config_source_proto_goTypes = nil
919	file_envoy_config_core_v3_config_source_proto_depIdxs = nil
920}
921