1// Code generated by protoc-gen-go. DO NOT EDIT.
2// versions:
3// 	protoc-gen-go v1.25.0
4// 	protoc        v3.16.0
5// source: envoy/service/discovery/v3/discovery.proto
6
7package envoy_service_discovery_v3
8
9import (
10	_ "github.com/cncf/xds/go/udpa/annotations"
11	v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
12	proto "github.com/golang/protobuf/proto"
13	any "github.com/golang/protobuf/ptypes/any"
14	duration "github.com/golang/protobuf/ptypes/duration"
15	status "google.golang.org/genproto/googleapis/rpc/status"
16	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
17	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
18	reflect "reflect"
19	sync "sync"
20)
21
22const (
23	// Verify that this generated code is sufficiently up-to-date.
24	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
25	// Verify that runtime/protoimpl is sufficiently up-to-date.
26	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
27)
28
29// This is a compile-time assertion that a sufficiently up-to-date version
30// of the legacy proto package is being used.
31const _ = proto.ProtoPackageIsVersion4
32
33// A DiscoveryRequest requests a set of versioned resources of the same type for
34// a given Envoy node on some API.
35// [#next-free-field: 7]
36type DiscoveryRequest struct {
37	state         protoimpl.MessageState
38	sizeCache     protoimpl.SizeCache
39	unknownFields protoimpl.UnknownFields
40
41	// The version_info provided in the request messages will be the version_info
42	// received with the most recent successfully processed response or empty on
43	// the first request. It is expected that no new request is sent after a
44	// response is received until the Envoy instance is ready to ACK/NACK the new
45	// configuration. ACK/NACK takes place by returning the new API config version
46	// as applied or the previous API config version respectively. Each type_url
47	// (see below) has an independent version associated with it.
48	VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
49	// The node making the request.
50	Node *v3.Node `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
51	// List of resources to subscribe to, e.g. list of cluster names or a route
52	// configuration name. If this is empty, all resources for the API are
53	// returned. LDS/CDS may have empty resource_names, which will cause all
54	// resources for the Envoy instance to be returned. The LDS and CDS responses
55	// will then imply a number of resources that need to be fetched via EDS/RDS,
56	// which will be explicitly enumerated in resource_names.
57	ResourceNames []string `protobuf:"bytes,3,rep,name=resource_names,json=resourceNames,proto3" json:"resource_names,omitempty"`
58	// Type of the resource that is being requested, e.g.
59	// "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
60	// in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
61	// required for ADS.
62	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
63	// nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
64	// discussion on version_info and the DiscoveryResponse nonce comment. This
65	// may be empty only if 1) this is a non-persistent-stream xDS such as HTTP,
66	// or 2) the client has not yet accepted an update in this xDS stream (unlike
67	// delta, where it is populated only for new explicit ACKs).
68	ResponseNonce string `protobuf:"bytes,5,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
69	// This is populated when the previous :ref:`DiscoveryResponse <envoy_v3_api_msg_service.discovery.v3.DiscoveryResponse>`
70	// failed to update configuration. The *message* field in *error_details* provides the Envoy
71	// internal exception related to the failure. It is only intended for consumption during manual
72	// debugging, the string provided is not guaranteed to be stable across Envoy versions.
73	ErrorDetail *status.Status `protobuf:"bytes,6,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
74}
75
76func (x *DiscoveryRequest) Reset() {
77	*x = DiscoveryRequest{}
78	if protoimpl.UnsafeEnabled {
79		mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[0]
80		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
81		ms.StoreMessageInfo(mi)
82	}
83}
84
85func (x *DiscoveryRequest) String() string {
86	return protoimpl.X.MessageStringOf(x)
87}
88
89func (*DiscoveryRequest) ProtoMessage() {}
90
91func (x *DiscoveryRequest) ProtoReflect() protoreflect.Message {
92	mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[0]
93	if protoimpl.UnsafeEnabled && x != nil {
94		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
95		if ms.LoadMessageInfo() == nil {
96			ms.StoreMessageInfo(mi)
97		}
98		return ms
99	}
100	return mi.MessageOf(x)
101}
102
103// Deprecated: Use DiscoveryRequest.ProtoReflect.Descriptor instead.
104func (*DiscoveryRequest) Descriptor() ([]byte, []int) {
105	return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{0}
106}
107
108func (x *DiscoveryRequest) GetVersionInfo() string {
109	if x != nil {
110		return x.VersionInfo
111	}
112	return ""
113}
114
115func (x *DiscoveryRequest) GetNode() *v3.Node {
116	if x != nil {
117		return x.Node
118	}
119	return nil
120}
121
122func (x *DiscoveryRequest) GetResourceNames() []string {
123	if x != nil {
124		return x.ResourceNames
125	}
126	return nil
127}
128
129func (x *DiscoveryRequest) GetTypeUrl() string {
130	if x != nil {
131		return x.TypeUrl
132	}
133	return ""
134}
135
136func (x *DiscoveryRequest) GetResponseNonce() string {
137	if x != nil {
138		return x.ResponseNonce
139	}
140	return ""
141}
142
143func (x *DiscoveryRequest) GetErrorDetail() *status.Status {
144	if x != nil {
145		return x.ErrorDetail
146	}
147	return nil
148}
149
150// [#next-free-field: 7]
151type DiscoveryResponse struct {
152	state         protoimpl.MessageState
153	sizeCache     protoimpl.SizeCache
154	unknownFields protoimpl.UnknownFields
155
156	// The version of the response data.
157	VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
158	// The response resources. These resources are typed and depend on the API being called.
159	Resources []*any.Any `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"`
160	// [#not-implemented-hide:]
161	// Canary is used to support two Envoy command line flags:
162	//
163	// * --terminate-on-canary-transition-failure. When set, Envoy is able to
164	//   terminate if it detects that configuration is stuck at canary. Consider
165	//   this example sequence of updates:
166	//   - Management server applies a canary config successfully.
167	//   - Management server rolls back to a production config.
168	//   - Envoy rejects the new production config.
169	//   Since there is no sensible way to continue receiving configuration
170	//   updates, Envoy will then terminate and apply production config from a
171	//   clean slate.
172	// * --dry-run-canary. When set, a canary response will never be applied, only
173	//   validated via a dry run.
174	Canary bool `protobuf:"varint,3,opt,name=canary,proto3" json:"canary,omitempty"`
175	// Type URL for resources. Identifies the xDS API when muxing over ADS.
176	// Must be consistent with the type_url in the 'resources' repeated Any (if non-empty).
177	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
178	// For gRPC based subscriptions, the nonce provides a way to explicitly ack a
179	// specific DiscoveryResponse in a following DiscoveryRequest. Additional
180	// messages may have been sent by Envoy to the management server for the
181	// previous version on the stream prior to this DiscoveryResponse, that were
182	// unprocessed at response send time. The nonce allows the management server
183	// to ignore any further DiscoveryRequests for the previous version until a
184	// DiscoveryRequest bearing the nonce. The nonce is optional and is not
185	// required for non-stream based xDS implementations.
186	Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`
187	// The control plane instance that sent the response.
188	ControlPlane *v3.ControlPlane `protobuf:"bytes,6,opt,name=control_plane,json=controlPlane,proto3" json:"control_plane,omitempty"`
189}
190
191func (x *DiscoveryResponse) Reset() {
192	*x = DiscoveryResponse{}
193	if protoimpl.UnsafeEnabled {
194		mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[1]
195		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
196		ms.StoreMessageInfo(mi)
197	}
198}
199
200func (x *DiscoveryResponse) String() string {
201	return protoimpl.X.MessageStringOf(x)
202}
203
204func (*DiscoveryResponse) ProtoMessage() {}
205
206func (x *DiscoveryResponse) ProtoReflect() protoreflect.Message {
207	mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[1]
208	if protoimpl.UnsafeEnabled && x != nil {
209		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
210		if ms.LoadMessageInfo() == nil {
211			ms.StoreMessageInfo(mi)
212		}
213		return ms
214	}
215	return mi.MessageOf(x)
216}
217
218// Deprecated: Use DiscoveryResponse.ProtoReflect.Descriptor instead.
219func (*DiscoveryResponse) Descriptor() ([]byte, []int) {
220	return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{1}
221}
222
223func (x *DiscoveryResponse) GetVersionInfo() string {
224	if x != nil {
225		return x.VersionInfo
226	}
227	return ""
228}
229
230func (x *DiscoveryResponse) GetResources() []*any.Any {
231	if x != nil {
232		return x.Resources
233	}
234	return nil
235}
236
237func (x *DiscoveryResponse) GetCanary() bool {
238	if x != nil {
239		return x.Canary
240	}
241	return false
242}
243
244func (x *DiscoveryResponse) GetTypeUrl() string {
245	if x != nil {
246		return x.TypeUrl
247	}
248	return ""
249}
250
251func (x *DiscoveryResponse) GetNonce() string {
252	if x != nil {
253		return x.Nonce
254	}
255	return ""
256}
257
258func (x *DiscoveryResponse) GetControlPlane() *v3.ControlPlane {
259	if x != nil {
260		return x.ControlPlane
261	}
262	return nil
263}
264
265// DeltaDiscoveryRequest and DeltaDiscoveryResponse are used in a new gRPC
266// endpoint for Delta xDS.
267//
268// With Delta xDS, the DeltaDiscoveryResponses do not need to include a full
269// snapshot of the tracked resources. Instead, DeltaDiscoveryResponses are a
270// diff to the state of a xDS client.
271// In Delta XDS there are per-resource versions, which allow tracking state at
272// the resource granularity.
273// An xDS Delta session is always in the context of a gRPC bidirectional
274// stream. This allows the xDS server to keep track of the state of xDS clients
275// connected to it.
276//
277// In Delta xDS the nonce field is required and used to pair
278// DeltaDiscoveryResponse to a DeltaDiscoveryRequest ACK or NACK.
279// Optionally, a response message level system_version_info is present for
280// debugging purposes only.
281//
282// DeltaDiscoveryRequest plays two independent roles. Any DeltaDiscoveryRequest
283// can be either or both of: [1] informing the server of what resources the
284// client has gained/lost interest in (using resource_names_subscribe and
285// resource_names_unsubscribe), or [2] (N)ACKing an earlier resource update from
286// the server (using response_nonce, with presence of error_detail making it a NACK).
287// Additionally, the first message (for a given type_url) of a reconnected gRPC stream
288// has a third role: informing the server of the resources (and their versions)
289// that the client already possesses, using the initial_resource_versions field.
290//
291// As with state-of-the-world, when multiple resource types are multiplexed (ADS),
292// all requests/acknowledgments/updates are logically walled off by type_url:
293// a Cluster ACK exists in a completely separate world from a prior Route NACK.
294// In particular, initial_resource_versions being sent at the "start" of every
295// gRPC stream actually entails a message for each type_url, each with its own
296// initial_resource_versions.
297// [#next-free-field: 8]
298type DeltaDiscoveryRequest struct {
299	state         protoimpl.MessageState
300	sizeCache     protoimpl.SizeCache
301	unknownFields protoimpl.UnknownFields
302
303	// The node making the request.
304	Node *v3.Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
305	// Type of the resource that is being requested, e.g.
306	// "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This does not need to be set if
307	// resources are only referenced via *xds_resource_subscribe* and
308	// *xds_resources_unsubscribe*.
309	TypeUrl string `protobuf:"bytes,2,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
310	// DeltaDiscoveryRequests allow the client to add or remove individual
311	// resources to the set of tracked resources in the context of a stream.
312	// All resource names in the resource_names_subscribe list are added to the
313	// set of tracked resources and all resource names in the resource_names_unsubscribe
314	// list are removed from the set of tracked resources.
315	//
316	// *Unlike* state-of-the-world xDS, an empty resource_names_subscribe or
317	// resource_names_unsubscribe list simply means that no resources are to be
318	// added or removed to the resource list.
319	// *Like* state-of-the-world xDS, the server must send updates for all tracked
320	// resources, but can also send updates for resources the client has not subscribed to.
321	//
322	// NOTE: the server must respond with all resources listed in resource_names_subscribe,
323	// even if it believes the client has the most recent version of them. The reason:
324	// the client may have dropped them, but then regained interest before it had a chance
325	// to send the unsubscribe message. See DeltaSubscriptionStateTest.RemoveThenAdd.
326	//
327	// These two fields can be set in any DeltaDiscoveryRequest, including ACKs
328	// and initial_resource_versions.
329	//
330	// A list of Resource names to add to the list of tracked resources.
331	ResourceNamesSubscribe []string `protobuf:"bytes,3,rep,name=resource_names_subscribe,json=resourceNamesSubscribe,proto3" json:"resource_names_subscribe,omitempty"`
332	// A list of Resource names to remove from the list of tracked resources.
333	ResourceNamesUnsubscribe []string `protobuf:"bytes,4,rep,name=resource_names_unsubscribe,json=resourceNamesUnsubscribe,proto3" json:"resource_names_unsubscribe,omitempty"`
334	// Informs the server of the versions of the resources the xDS client knows of, to enable the
335	// client to continue the same logical xDS session even in the face of gRPC stream reconnection.
336	// It will not be populated: [1] in the very first stream of a session, since the client will
337	// not yet have any resources,  [2] in any message after the first in a stream (for a given
338	// type_url), since the server will already be correctly tracking the client's state.
339	// (In ADS, the first message *of each type_url* of a reconnected stream populates this map.)
340	// The map's keys are names of xDS resources known to the xDS client.
341	// The map's values are opaque resource versions.
342	InitialResourceVersions map[string]string `protobuf:"bytes,5,rep,name=initial_resource_versions,json=initialResourceVersions,proto3" json:"initial_resource_versions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
343	// When the DeltaDiscoveryRequest is a ACK or NACK message in response
344	// to a previous DeltaDiscoveryResponse, the response_nonce must be the
345	// nonce in the DeltaDiscoveryResponse.
346	// Otherwise (unlike in DiscoveryRequest) response_nonce must be omitted.
347	ResponseNonce string `protobuf:"bytes,6,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
348	// This is populated when the previous :ref:`DiscoveryResponse <envoy_v3_api_msg_service.discovery.v3.DiscoveryResponse>`
349	// failed to update configuration. The *message* field in *error_details*
350	// provides the Envoy internal exception related to the failure.
351	ErrorDetail *status.Status `protobuf:"bytes,7,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
352}
353
354func (x *DeltaDiscoveryRequest) Reset() {
355	*x = DeltaDiscoveryRequest{}
356	if protoimpl.UnsafeEnabled {
357		mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[2]
358		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
359		ms.StoreMessageInfo(mi)
360	}
361}
362
363func (x *DeltaDiscoveryRequest) String() string {
364	return protoimpl.X.MessageStringOf(x)
365}
366
367func (*DeltaDiscoveryRequest) ProtoMessage() {}
368
369func (x *DeltaDiscoveryRequest) ProtoReflect() protoreflect.Message {
370	mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[2]
371	if protoimpl.UnsafeEnabled && x != nil {
372		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
373		if ms.LoadMessageInfo() == nil {
374			ms.StoreMessageInfo(mi)
375		}
376		return ms
377	}
378	return mi.MessageOf(x)
379}
380
381// Deprecated: Use DeltaDiscoveryRequest.ProtoReflect.Descriptor instead.
382func (*DeltaDiscoveryRequest) Descriptor() ([]byte, []int) {
383	return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{2}
384}
385
386func (x *DeltaDiscoveryRequest) GetNode() *v3.Node {
387	if x != nil {
388		return x.Node
389	}
390	return nil
391}
392
393func (x *DeltaDiscoveryRequest) GetTypeUrl() string {
394	if x != nil {
395		return x.TypeUrl
396	}
397	return ""
398}
399
400func (x *DeltaDiscoveryRequest) GetResourceNamesSubscribe() []string {
401	if x != nil {
402		return x.ResourceNamesSubscribe
403	}
404	return nil
405}
406
407func (x *DeltaDiscoveryRequest) GetResourceNamesUnsubscribe() []string {
408	if x != nil {
409		return x.ResourceNamesUnsubscribe
410	}
411	return nil
412}
413
414func (x *DeltaDiscoveryRequest) GetInitialResourceVersions() map[string]string {
415	if x != nil {
416		return x.InitialResourceVersions
417	}
418	return nil
419}
420
421func (x *DeltaDiscoveryRequest) GetResponseNonce() string {
422	if x != nil {
423		return x.ResponseNonce
424	}
425	return ""
426}
427
428func (x *DeltaDiscoveryRequest) GetErrorDetail() *status.Status {
429	if x != nil {
430		return x.ErrorDetail
431	}
432	return nil
433}
434
435// [#next-free-field: 8]
436type DeltaDiscoveryResponse struct {
437	state         protoimpl.MessageState
438	sizeCache     protoimpl.SizeCache
439	unknownFields protoimpl.UnknownFields
440
441	// The version of the response data (used for debugging).
442	SystemVersionInfo string `protobuf:"bytes,1,opt,name=system_version_info,json=systemVersionInfo,proto3" json:"system_version_info,omitempty"`
443	// The response resources. These are typed resources, whose types must match
444	// the type_url field.
445	Resources []*Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"`
446	// Type URL for resources. Identifies the xDS API when muxing over ADS.
447	// Must be consistent with the type_url in the Any within 'resources' if 'resources' is non-empty.
448	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
449	// Resources names of resources that have be deleted and to be removed from the xDS Client.
450	// Removed resources for missing resources can be ignored.
451	RemovedResources []string `protobuf:"bytes,6,rep,name=removed_resources,json=removedResources,proto3" json:"removed_resources,omitempty"`
452	// The nonce provides a way for DeltaDiscoveryRequests to uniquely
453	// reference a DeltaDiscoveryResponse when (N)ACKing. The nonce is required.
454	Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`
455	// [#not-implemented-hide:]
456	// The control plane instance that sent the response.
457	ControlPlane *v3.ControlPlane `protobuf:"bytes,7,opt,name=control_plane,json=controlPlane,proto3" json:"control_plane,omitempty"`
458}
459
460func (x *DeltaDiscoveryResponse) Reset() {
461	*x = DeltaDiscoveryResponse{}
462	if protoimpl.UnsafeEnabled {
463		mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[3]
464		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
465		ms.StoreMessageInfo(mi)
466	}
467}
468
469func (x *DeltaDiscoveryResponse) String() string {
470	return protoimpl.X.MessageStringOf(x)
471}
472
473func (*DeltaDiscoveryResponse) ProtoMessage() {}
474
475func (x *DeltaDiscoveryResponse) ProtoReflect() protoreflect.Message {
476	mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[3]
477	if protoimpl.UnsafeEnabled && x != nil {
478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479		if ms.LoadMessageInfo() == nil {
480			ms.StoreMessageInfo(mi)
481		}
482		return ms
483	}
484	return mi.MessageOf(x)
485}
486
487// Deprecated: Use DeltaDiscoveryResponse.ProtoReflect.Descriptor instead.
488func (*DeltaDiscoveryResponse) Descriptor() ([]byte, []int) {
489	return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{3}
490}
491
492func (x *DeltaDiscoveryResponse) GetSystemVersionInfo() string {
493	if x != nil {
494		return x.SystemVersionInfo
495	}
496	return ""
497}
498
499func (x *DeltaDiscoveryResponse) GetResources() []*Resource {
500	if x != nil {
501		return x.Resources
502	}
503	return nil
504}
505
506func (x *DeltaDiscoveryResponse) GetTypeUrl() string {
507	if x != nil {
508		return x.TypeUrl
509	}
510	return ""
511}
512
513func (x *DeltaDiscoveryResponse) GetRemovedResources() []string {
514	if x != nil {
515		return x.RemovedResources
516	}
517	return nil
518}
519
520func (x *DeltaDiscoveryResponse) GetNonce() string {
521	if x != nil {
522		return x.Nonce
523	}
524	return ""
525}
526
527func (x *DeltaDiscoveryResponse) GetControlPlane() *v3.ControlPlane {
528	if x != nil {
529		return x.ControlPlane
530	}
531	return nil
532}
533
534// [#next-free-field: 8]
535type Resource struct {
536	state         protoimpl.MessageState
537	sizeCache     protoimpl.SizeCache
538	unknownFields protoimpl.UnknownFields
539
540	// The resource's name, to distinguish it from others of the same type of resource.
541	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
542	// The aliases are a list of other names that this resource can go by.
543	Aliases []string `protobuf:"bytes,4,rep,name=aliases,proto3" json:"aliases,omitempty"`
544	// The resource level version. It allows xDS to track the state of individual
545	// resources.
546	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
547	// The resource being tracked.
548	Resource *any.Any `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
549	// Time-to-live value for the resource. For each resource, a timer is started. The timer is
550	// reset each time the resource is received with a new TTL. If the resource is received with
551	// no TTL set, the timer is removed for the resource. Upon expiration of the timer, the
552	// configuration for the resource will be removed.
553	//
554	// The TTL can be refreshed or changed by sending a response that doesn't change the resource
555	// version. In this case the resource field does not need to be populated, which allows for
556	// light-weight "heartbeat" updates to keep a resource with a TTL alive.
557	//
558	// The TTL feature is meant to support configurations that should be removed in the event of
559	// a management server failure. For example, the feature may be used for fault injection
560	// testing where the fault injection should be terminated in the event that Envoy loses contact
561	// with the management server.
562	Ttl *duration.Duration `protobuf:"bytes,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
563	// Cache control properties for the resource.
564	// [#not-implemented-hide:]
565	CacheControl *Resource_CacheControl `protobuf:"bytes,7,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"`
566}
567
568func (x *Resource) Reset() {
569	*x = Resource{}
570	if protoimpl.UnsafeEnabled {
571		mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[4]
572		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
573		ms.StoreMessageInfo(mi)
574	}
575}
576
577func (x *Resource) String() string {
578	return protoimpl.X.MessageStringOf(x)
579}
580
581func (*Resource) ProtoMessage() {}
582
583func (x *Resource) ProtoReflect() protoreflect.Message {
584	mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[4]
585	if protoimpl.UnsafeEnabled && x != nil {
586		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
587		if ms.LoadMessageInfo() == nil {
588			ms.StoreMessageInfo(mi)
589		}
590		return ms
591	}
592	return mi.MessageOf(x)
593}
594
595// Deprecated: Use Resource.ProtoReflect.Descriptor instead.
596func (*Resource) Descriptor() ([]byte, []int) {
597	return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{4}
598}
599
600func (x *Resource) GetName() string {
601	if x != nil {
602		return x.Name
603	}
604	return ""
605}
606
607func (x *Resource) GetAliases() []string {
608	if x != nil {
609		return x.Aliases
610	}
611	return nil
612}
613
614func (x *Resource) GetVersion() string {
615	if x != nil {
616		return x.Version
617	}
618	return ""
619}
620
621func (x *Resource) GetResource() *any.Any {
622	if x != nil {
623		return x.Resource
624	}
625	return nil
626}
627
628func (x *Resource) GetTtl() *duration.Duration {
629	if x != nil {
630		return x.Ttl
631	}
632	return nil
633}
634
635func (x *Resource) GetCacheControl() *Resource_CacheControl {
636	if x != nil {
637		return x.CacheControl
638	}
639	return nil
640}
641
642// Cache control properties for the resource.
643// [#not-implemented-hide:]
644type Resource_CacheControl struct {
645	state         protoimpl.MessageState
646	sizeCache     protoimpl.SizeCache
647	unknownFields protoimpl.UnknownFields
648
649	// If true, xDS proxies may not cache this resource.
650	// Note that this does not apply to clients other than xDS proxies, which must cache resources
651	// for their own use, regardless of the value of this field.
652	DoNotCache bool `protobuf:"varint,1,opt,name=do_not_cache,json=doNotCache,proto3" json:"do_not_cache,omitempty"`
653}
654
655func (x *Resource_CacheControl) Reset() {
656	*x = Resource_CacheControl{}
657	if protoimpl.UnsafeEnabled {
658		mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[6]
659		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
660		ms.StoreMessageInfo(mi)
661	}
662}
663
664func (x *Resource_CacheControl) String() string {
665	return protoimpl.X.MessageStringOf(x)
666}
667
668func (*Resource_CacheControl) ProtoMessage() {}
669
670func (x *Resource_CacheControl) ProtoReflect() protoreflect.Message {
671	mi := &file_envoy_service_discovery_v3_discovery_proto_msgTypes[6]
672	if protoimpl.UnsafeEnabled && x != nil {
673		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
674		if ms.LoadMessageInfo() == nil {
675			ms.StoreMessageInfo(mi)
676		}
677		return ms
678	}
679	return mi.MessageOf(x)
680}
681
682// Deprecated: Use Resource_CacheControl.ProtoReflect.Descriptor instead.
683func (*Resource_CacheControl) Descriptor() ([]byte, []int) {
684	return file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP(), []int{4, 0}
685}
686
687func (x *Resource_CacheControl) GetDoNotCache() bool {
688	if x != nil {
689		return x.DoNotCache
690	}
691	return false
692}
693
694var File_envoy_service_discovery_v3_discovery_proto protoreflect.FileDescriptor
695
696var file_envoy_service_discovery_v3_discovery_proto_rawDesc = []byte{
697	0x0a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f,
698	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73,
699	0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x65, 0x6e,
700	0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63,
701	0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f,
702	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62,
703	0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
704	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70,
705	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
706	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
707	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63,
708	0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75,
709	0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
710	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64,
711	0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76,
712	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
713	0xab, 0x02, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71,
714	0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
715	0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73,
716	0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18,
717	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
718	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64,
719	0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75,
720	0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52,
721	0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x19,
722	0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
723	0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73,
724	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
725	0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x65,
726	0x12, 0x35, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
727	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
728	0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f,
729	0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x24, 0x9a, 0xc5, 0x88, 0x1e, 0x1f, 0x0a, 0x1d,
730	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73,
731	0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa3, 0x02,
732	0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
733	0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
734	0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69,
735	0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
736	0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
737	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
738	0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61,
739	0x6e, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x61, 0x6e, 0x61,
740	0x72, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04,
741	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a,
742	0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f,
743	0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70,
744	0x6c, 0x61, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76,
745	0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76,
746	0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x52, 0x0c,
747	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x3a, 0x25, 0x9a, 0xc5,
748	0x88, 0x1e, 0x20, 0x0a, 0x1e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
749	0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
750	0x6e, 0x73, 0x65, 0x22, 0xbc, 0x04, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73,
751	0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a,
752	0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e,
753	0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e,
754	0x76, 0x33, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a,
755	0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
756	0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x73, 0x6f,
757	0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63,
758	0x72, 0x69, 0x62, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f,
759	0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
760	0x62, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e,
761	0x61, 0x6d, 0x65, 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
762	0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
763	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x55, 0x6e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
764	0x12, 0x8a, 0x01, 0x0a, 0x19, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73,
765	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05,
766	0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72,
767	0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76,
768	0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
769	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52,
770	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45,
771	0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73,
772	0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a,
773	0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18,
774	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4e,
775	0x6f, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65,
776	0x74, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f,
777	0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b,
778	0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x1a, 0x4a, 0x0a, 0x1c, 0x49,
779	0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65,
780	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
781	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
782	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
783	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x29, 0x9a, 0xc5, 0x88, 0x1e, 0x24, 0x0a, 0x22,
784	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c,
785	0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
786	0x73, 0x74, 0x22, 0xdf, 0x02, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63,
787	0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a,
788	0x13, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
789	0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x79, 0x73, 0x74,
790	0x65, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a,
791	0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
792	0x32, 0x24, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
793	0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65,
794	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
795	0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20,
796	0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x2b, 0x0a, 0x11,
797	0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
798	0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64,
799	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e,
800	0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12,
801	0x47, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65,
802	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63,
803	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f,
804	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74,
805	0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x3a, 0x2a, 0x9a, 0xc5, 0x88, 0x1e, 0x25, 0x0a,
806	0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65,
807	0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
808	0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd9, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
809	0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
810	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73,
811	0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12,
812	0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
813	0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x08, 0x72, 0x65, 0x73,
814	0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
815	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
816	0x79, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x03, 0x74,
817	0x74, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
818	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
819	0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x56, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68,
820	0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
821	0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
822	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73,
823	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72,
824	0x6f, 0x6c, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
825	0x1a, 0x30, 0x0a, 0x0c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
826	0x12, 0x20, 0x0a, 0x0c, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65,
827	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x43, 0x61, 0x63,
828	0x68, 0x65, 0x3a, 0x1c, 0x9a, 0xc5, 0x88, 0x1e, 0x17, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79,
829	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
830	0x42, 0x44, 0x0a, 0x28, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78,
831	0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
832	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x44, 0x69,
833	0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xba, 0x80,
834	0xc8, 0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
835}
836
837var (
838	file_envoy_service_discovery_v3_discovery_proto_rawDescOnce sync.Once
839	file_envoy_service_discovery_v3_discovery_proto_rawDescData = file_envoy_service_discovery_v3_discovery_proto_rawDesc
840)
841
842func file_envoy_service_discovery_v3_discovery_proto_rawDescGZIP() []byte {
843	file_envoy_service_discovery_v3_discovery_proto_rawDescOnce.Do(func() {
844		file_envoy_service_discovery_v3_discovery_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_service_discovery_v3_discovery_proto_rawDescData)
845	})
846	return file_envoy_service_discovery_v3_discovery_proto_rawDescData
847}
848
849var file_envoy_service_discovery_v3_discovery_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
850var file_envoy_service_discovery_v3_discovery_proto_goTypes = []interface{}{
851	(*DiscoveryRequest)(nil),       // 0: envoy.service.discovery.v3.DiscoveryRequest
852	(*DiscoveryResponse)(nil),      // 1: envoy.service.discovery.v3.DiscoveryResponse
853	(*DeltaDiscoveryRequest)(nil),  // 2: envoy.service.discovery.v3.DeltaDiscoveryRequest
854	(*DeltaDiscoveryResponse)(nil), // 3: envoy.service.discovery.v3.DeltaDiscoveryResponse
855	(*Resource)(nil),               // 4: envoy.service.discovery.v3.Resource
856	nil,                            // 5: envoy.service.discovery.v3.DeltaDiscoveryRequest.InitialResourceVersionsEntry
857	(*Resource_CacheControl)(nil),  // 6: envoy.service.discovery.v3.Resource.CacheControl
858	(*v3.Node)(nil),                // 7: envoy.config.core.v3.Node
859	(*status.Status)(nil),          // 8: google.rpc.Status
860	(*any.Any)(nil),                // 9: google.protobuf.Any
861	(*v3.ControlPlane)(nil),        // 10: envoy.config.core.v3.ControlPlane
862	(*duration.Duration)(nil),      // 11: google.protobuf.Duration
863}
864var file_envoy_service_discovery_v3_discovery_proto_depIdxs = []int32{
865	7,  // 0: envoy.service.discovery.v3.DiscoveryRequest.node:type_name -> envoy.config.core.v3.Node
866	8,  // 1: envoy.service.discovery.v3.DiscoveryRequest.error_detail:type_name -> google.rpc.Status
867	9,  // 2: envoy.service.discovery.v3.DiscoveryResponse.resources:type_name -> google.protobuf.Any
868	10, // 3: envoy.service.discovery.v3.DiscoveryResponse.control_plane:type_name -> envoy.config.core.v3.ControlPlane
869	7,  // 4: envoy.service.discovery.v3.DeltaDiscoveryRequest.node:type_name -> envoy.config.core.v3.Node
870	5,  // 5: envoy.service.discovery.v3.DeltaDiscoveryRequest.initial_resource_versions:type_name -> envoy.service.discovery.v3.DeltaDiscoveryRequest.InitialResourceVersionsEntry
871	8,  // 6: envoy.service.discovery.v3.DeltaDiscoveryRequest.error_detail:type_name -> google.rpc.Status
872	4,  // 7: envoy.service.discovery.v3.DeltaDiscoveryResponse.resources:type_name -> envoy.service.discovery.v3.Resource
873	10, // 8: envoy.service.discovery.v3.DeltaDiscoveryResponse.control_plane:type_name -> envoy.config.core.v3.ControlPlane
874	9,  // 9: envoy.service.discovery.v3.Resource.resource:type_name -> google.protobuf.Any
875	11, // 10: envoy.service.discovery.v3.Resource.ttl:type_name -> google.protobuf.Duration
876	6,  // 11: envoy.service.discovery.v3.Resource.cache_control:type_name -> envoy.service.discovery.v3.Resource.CacheControl
877	12, // [12:12] is the sub-list for method output_type
878	12, // [12:12] is the sub-list for method input_type
879	12, // [12:12] is the sub-list for extension type_name
880	12, // [12:12] is the sub-list for extension extendee
881	0,  // [0:12] is the sub-list for field type_name
882}
883
884func init() { file_envoy_service_discovery_v3_discovery_proto_init() }
885func file_envoy_service_discovery_v3_discovery_proto_init() {
886	if File_envoy_service_discovery_v3_discovery_proto != nil {
887		return
888	}
889	if !protoimpl.UnsafeEnabled {
890		file_envoy_service_discovery_v3_discovery_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
891			switch v := v.(*DiscoveryRequest); i {
892			case 0:
893				return &v.state
894			case 1:
895				return &v.sizeCache
896			case 2:
897				return &v.unknownFields
898			default:
899				return nil
900			}
901		}
902		file_envoy_service_discovery_v3_discovery_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
903			switch v := v.(*DiscoveryResponse); i {
904			case 0:
905				return &v.state
906			case 1:
907				return &v.sizeCache
908			case 2:
909				return &v.unknownFields
910			default:
911				return nil
912			}
913		}
914		file_envoy_service_discovery_v3_discovery_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
915			switch v := v.(*DeltaDiscoveryRequest); i {
916			case 0:
917				return &v.state
918			case 1:
919				return &v.sizeCache
920			case 2:
921				return &v.unknownFields
922			default:
923				return nil
924			}
925		}
926		file_envoy_service_discovery_v3_discovery_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
927			switch v := v.(*DeltaDiscoveryResponse); i {
928			case 0:
929				return &v.state
930			case 1:
931				return &v.sizeCache
932			case 2:
933				return &v.unknownFields
934			default:
935				return nil
936			}
937		}
938		file_envoy_service_discovery_v3_discovery_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
939			switch v := v.(*Resource); i {
940			case 0:
941				return &v.state
942			case 1:
943				return &v.sizeCache
944			case 2:
945				return &v.unknownFields
946			default:
947				return nil
948			}
949		}
950		file_envoy_service_discovery_v3_discovery_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
951			switch v := v.(*Resource_CacheControl); i {
952			case 0:
953				return &v.state
954			case 1:
955				return &v.sizeCache
956			case 2:
957				return &v.unknownFields
958			default:
959				return nil
960			}
961		}
962	}
963	type x struct{}
964	out := protoimpl.TypeBuilder{
965		File: protoimpl.DescBuilder{
966			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
967			RawDescriptor: file_envoy_service_discovery_v3_discovery_proto_rawDesc,
968			NumEnums:      0,
969			NumMessages:   7,
970			NumExtensions: 0,
971			NumServices:   0,
972		},
973		GoTypes:           file_envoy_service_discovery_v3_discovery_proto_goTypes,
974		DependencyIndexes: file_envoy_service_discovery_v3_discovery_proto_depIdxs,
975		MessageInfos:      file_envoy_service_discovery_v3_discovery_proto_msgTypes,
976	}.Build()
977	File_envoy_service_discovery_v3_discovery_proto = out.File
978	file_envoy_service_discovery_v3_discovery_proto_rawDesc = nil
979	file_envoy_service_discovery_v3_discovery_proto_goTypes = nil
980	file_envoy_service_discovery_v3_discovery_proto_depIdxs = nil
981}
982