1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/rpc/context/attribute_context.proto
20
21package attribute_context
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
28	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
29	anypb "google.golang.org/protobuf/types/known/anypb"
30	durationpb "google.golang.org/protobuf/types/known/durationpb"
31	structpb "google.golang.org/protobuf/types/known/structpb"
32	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
33)
34
35const (
36	// Verify that this generated code is sufficiently up-to-date.
37	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
38	// Verify that runtime/protoimpl is sufficiently up-to-date.
39	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
40)
41
42// This message defines the standard attribute vocabulary for Google APIs.
43//
44// An attribute is a piece of metadata that describes an activity on a network
45// service. For example, the size of an HTTP request, or the status code of
46// an HTTP response.
47//
48// Each attribute has a type and a name, which is logically defined as
49// a proto message field in `AttributeContext`. The field type becomes the
50// attribute type, and the field path becomes the attribute name. For example,
51// the attribute `source.ip` maps to field `AttributeContext.source.ip`.
52//
53// This message definition is guaranteed not to have any wire breaking change.
54// So you can use it directly for passing attributes across different systems.
55//
56// NOTE: Different system may generate different subset of attributes. Please
57// verify the system specification before relying on an attribute generated
58// a system.
59type AttributeContext struct {
60	state         protoimpl.MessageState
61	sizeCache     protoimpl.SizeCache
62	unknownFields protoimpl.UnknownFields
63
64	// The origin of a network activity. In a multi hop network activity,
65	// the origin represents the sender of the first hop. For the first hop,
66	// the `source` and the `origin` must have the same content.
67	Origin *AttributeContext_Peer `protobuf:"bytes,7,opt,name=origin,proto3" json:"origin,omitempty"`
68	// The source of a network activity, such as starting a TCP connection.
69	// In a multi hop network activity, the source represents the sender of the
70	// last hop.
71	Source *AttributeContext_Peer `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
72	// The destination of a network activity, such as accepting a TCP connection.
73	// In a multi hop network activity, the destination represents the receiver of
74	// the last hop.
75	Destination *AttributeContext_Peer `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"`
76	// Represents a network request, such as an HTTP request.
77	Request *AttributeContext_Request `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"`
78	// Represents a network response, such as an HTTP response.
79	Response *AttributeContext_Response `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"`
80	// Represents a target resource that is involved with a network activity.
81	// If multiple resources are involved with an activity, this must be the
82	// primary one.
83	Resource *AttributeContext_Resource `protobuf:"bytes,5,opt,name=resource,proto3" json:"resource,omitempty"`
84	// Represents an API operation that is involved to a network activity.
85	Api *AttributeContext_Api `protobuf:"bytes,6,opt,name=api,proto3" json:"api,omitempty"`
86	// Supports extensions for advanced use cases, such as logs and metrics.
87	Extensions []*anypb.Any `protobuf:"bytes,8,rep,name=extensions,proto3" json:"extensions,omitempty"`
88}
89
90func (x *AttributeContext) Reset() {
91	*x = AttributeContext{}
92	if protoimpl.UnsafeEnabled {
93		mi := &file_google_rpc_context_attribute_context_proto_msgTypes[0]
94		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
95		ms.StoreMessageInfo(mi)
96	}
97}
98
99func (x *AttributeContext) String() string {
100	return protoimpl.X.MessageStringOf(x)
101}
102
103func (*AttributeContext) ProtoMessage() {}
104
105func (x *AttributeContext) ProtoReflect() protoreflect.Message {
106	mi := &file_google_rpc_context_attribute_context_proto_msgTypes[0]
107	if protoimpl.UnsafeEnabled && x != nil {
108		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
109		if ms.LoadMessageInfo() == nil {
110			ms.StoreMessageInfo(mi)
111		}
112		return ms
113	}
114	return mi.MessageOf(x)
115}
116
117// Deprecated: Use AttributeContext.ProtoReflect.Descriptor instead.
118func (*AttributeContext) Descriptor() ([]byte, []int) {
119	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0}
120}
121
122func (x *AttributeContext) GetOrigin() *AttributeContext_Peer {
123	if x != nil {
124		return x.Origin
125	}
126	return nil
127}
128
129func (x *AttributeContext) GetSource() *AttributeContext_Peer {
130	if x != nil {
131		return x.Source
132	}
133	return nil
134}
135
136func (x *AttributeContext) GetDestination() *AttributeContext_Peer {
137	if x != nil {
138		return x.Destination
139	}
140	return nil
141}
142
143func (x *AttributeContext) GetRequest() *AttributeContext_Request {
144	if x != nil {
145		return x.Request
146	}
147	return nil
148}
149
150func (x *AttributeContext) GetResponse() *AttributeContext_Response {
151	if x != nil {
152		return x.Response
153	}
154	return nil
155}
156
157func (x *AttributeContext) GetResource() *AttributeContext_Resource {
158	if x != nil {
159		return x.Resource
160	}
161	return nil
162}
163
164func (x *AttributeContext) GetApi() *AttributeContext_Api {
165	if x != nil {
166		return x.Api
167	}
168	return nil
169}
170
171func (x *AttributeContext) GetExtensions() []*anypb.Any {
172	if x != nil {
173		return x.Extensions
174	}
175	return nil
176}
177
178// This message defines attributes for a node that handles a network request.
179// The node can be either a service or an application that sends, forwards,
180// or receives the request. Service peers should fill in
181// `principal` and `labels` as appropriate.
182type AttributeContext_Peer struct {
183	state         protoimpl.MessageState
184	sizeCache     protoimpl.SizeCache
185	unknownFields protoimpl.UnknownFields
186
187	// The IP address of the peer.
188	Ip string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
189	// The network port of the peer.
190	Port int64 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
191	// The labels associated with the peer.
192	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
193	// The identity of this peer. Similar to `Request.auth.principal`, but
194	// relative to the peer instead of the request. For example, the
195	// idenity associated with a load balancer that forwared the request.
196	Principal string `protobuf:"bytes,7,opt,name=principal,proto3" json:"principal,omitempty"`
197	// The CLDR country/region code associated with the above IP address.
198	// If the IP address is private, the `region_code` should reflect the
199	// physical location where this peer is running.
200	RegionCode string `protobuf:"bytes,8,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
201}
202
203func (x *AttributeContext_Peer) Reset() {
204	*x = AttributeContext_Peer{}
205	if protoimpl.UnsafeEnabled {
206		mi := &file_google_rpc_context_attribute_context_proto_msgTypes[1]
207		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
208		ms.StoreMessageInfo(mi)
209	}
210}
211
212func (x *AttributeContext_Peer) String() string {
213	return protoimpl.X.MessageStringOf(x)
214}
215
216func (*AttributeContext_Peer) ProtoMessage() {}
217
218func (x *AttributeContext_Peer) ProtoReflect() protoreflect.Message {
219	mi := &file_google_rpc_context_attribute_context_proto_msgTypes[1]
220	if protoimpl.UnsafeEnabled && x != nil {
221		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
222		if ms.LoadMessageInfo() == nil {
223			ms.StoreMessageInfo(mi)
224		}
225		return ms
226	}
227	return mi.MessageOf(x)
228}
229
230// Deprecated: Use AttributeContext_Peer.ProtoReflect.Descriptor instead.
231func (*AttributeContext_Peer) Descriptor() ([]byte, []int) {
232	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 0}
233}
234
235func (x *AttributeContext_Peer) GetIp() string {
236	if x != nil {
237		return x.Ip
238	}
239	return ""
240}
241
242func (x *AttributeContext_Peer) GetPort() int64 {
243	if x != nil {
244		return x.Port
245	}
246	return 0
247}
248
249func (x *AttributeContext_Peer) GetLabels() map[string]string {
250	if x != nil {
251		return x.Labels
252	}
253	return nil
254}
255
256func (x *AttributeContext_Peer) GetPrincipal() string {
257	if x != nil {
258		return x.Principal
259	}
260	return ""
261}
262
263func (x *AttributeContext_Peer) GetRegionCode() string {
264	if x != nil {
265		return x.RegionCode
266	}
267	return ""
268}
269
270// This message defines attributes associated with API operations, such as
271// a network API request. The terminology is based on the conventions used
272// by Google APIs, Istio, and OpenAPI.
273type AttributeContext_Api struct {
274	state         protoimpl.MessageState
275	sizeCache     protoimpl.SizeCache
276	unknownFields protoimpl.UnknownFields
277
278	// The API service name. It is a logical identifier for a networked API,
279	// such as "pubsub.googleapis.com". The naming syntax depends on the
280	// API management system being used for handling the request.
281	Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
282	// The API operation name. For gRPC requests, it is the fully qualified API
283	// method name, such as "google.pubsub.v1.Publisher.Publish". For OpenAPI
284	// requests, it is the `operationId`, such as "getPet".
285	Operation string `protobuf:"bytes,2,opt,name=operation,proto3" json:"operation,omitempty"`
286	// The API protocol used for sending the request, such as "http", "https",
287	// "grpc", or "internal".
288	Protocol string `protobuf:"bytes,3,opt,name=protocol,proto3" json:"protocol,omitempty"`
289	// The API version associated with the API operation above, such as "v1" or
290	// "v1alpha1".
291	Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
292}
293
294func (x *AttributeContext_Api) Reset() {
295	*x = AttributeContext_Api{}
296	if protoimpl.UnsafeEnabled {
297		mi := &file_google_rpc_context_attribute_context_proto_msgTypes[2]
298		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
299		ms.StoreMessageInfo(mi)
300	}
301}
302
303func (x *AttributeContext_Api) String() string {
304	return protoimpl.X.MessageStringOf(x)
305}
306
307func (*AttributeContext_Api) ProtoMessage() {}
308
309func (x *AttributeContext_Api) ProtoReflect() protoreflect.Message {
310	mi := &file_google_rpc_context_attribute_context_proto_msgTypes[2]
311	if protoimpl.UnsafeEnabled && x != nil {
312		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
313		if ms.LoadMessageInfo() == nil {
314			ms.StoreMessageInfo(mi)
315		}
316		return ms
317	}
318	return mi.MessageOf(x)
319}
320
321// Deprecated: Use AttributeContext_Api.ProtoReflect.Descriptor instead.
322func (*AttributeContext_Api) Descriptor() ([]byte, []int) {
323	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 1}
324}
325
326func (x *AttributeContext_Api) GetService() string {
327	if x != nil {
328		return x.Service
329	}
330	return ""
331}
332
333func (x *AttributeContext_Api) GetOperation() string {
334	if x != nil {
335		return x.Operation
336	}
337	return ""
338}
339
340func (x *AttributeContext_Api) GetProtocol() string {
341	if x != nil {
342		return x.Protocol
343	}
344	return ""
345}
346
347func (x *AttributeContext_Api) GetVersion() string {
348	if x != nil {
349		return x.Version
350	}
351	return ""
352}
353
354// This message defines request authentication attributes. Terminology is
355// based on the JSON Web Token (JWT) standard, but the terms also
356// correlate to concepts in other standards.
357type AttributeContext_Auth struct {
358	state         protoimpl.MessageState
359	sizeCache     protoimpl.SizeCache
360	unknownFields protoimpl.UnknownFields
361
362	// The authenticated principal. Reflects the issuer (`iss`) and subject
363	// (`sub`) claims within a JWT. The issuer and subject should be `/`
364	// delimited, with `/` percent-encoded within the subject fragment. For
365	// Google accounts, the principal format is:
366	// "https://accounts.google.com/{id}"
367	Principal string `protobuf:"bytes,1,opt,name=principal,proto3" json:"principal,omitempty"`
368	// The intended audience(s) for this authentication information. Reflects
369	// the audience (`aud`) claim within a JWT. The audience
370	// value(s) depends on the `issuer`, but typically include one or more of
371	// the following pieces of information:
372	//
373	// *  The services intended to receive the credential. For example,
374	//    ["https://pubsub.googleapis.com/", "https://storage.googleapis.com/"].
375	// *  A set of service-based scopes. For example,
376	//    ["https://www.googleapis.com/auth/cloud-platform"].
377	// *  The client id of an app, such as the Firebase project id for JWTs
378	//    from Firebase Auth.
379	//
380	// Consult the documentation for the credential issuer to determine the
381	// information provided.
382	Audiences []string `protobuf:"bytes,2,rep,name=audiences,proto3" json:"audiences,omitempty"`
383	// The authorized presenter of the credential. Reflects the optional
384	// Authorized Presenter (`azp`) claim within a JWT or the
385	// OAuth client id. For example, a Google Cloud Platform client id looks
386	// as follows: "123456789012.apps.googleusercontent.com".
387	Presenter string `protobuf:"bytes,3,opt,name=presenter,proto3" json:"presenter,omitempty"`
388	// Structured claims presented with the credential. JWTs include
389	// `{key: value}` pairs for standard and private claims. The following
390	// is a subset of the standard required and optional claims that would
391	// typically be presented for a Google-based JWT:
392	//
393	//    {'iss': 'accounts.google.com',
394	//     'sub': '113289723416554971153',
395	//     'aud': ['123456789012', 'pubsub.googleapis.com'],
396	//     'azp': '123456789012.apps.googleusercontent.com',
397	//     'email': 'jsmith@example.com',
398	//     'iat': 1353601026,
399	//     'exp': 1353604926}
400	//
401	// SAML assertions are similarly specified, but with an identity provider
402	// dependent structure.
403	Claims *structpb.Struct `protobuf:"bytes,4,opt,name=claims,proto3" json:"claims,omitempty"`
404	// A list of access level resource names that allow resources to be
405	// accessed by authenticated requester. It is part of Secure GCP processing
406	// for the incoming request. An access level string has the format:
407	// "//{api_service_name}/accessPolicies/{policy_id}/accessLevels/{short_name}"
408	//
409	// Example:
410	// "//accesscontextmanager.googleapis.com/accessPolicies/MY_POLICY_ID/accessLevels/MY_LEVEL"
411	AccessLevels []string `protobuf:"bytes,5,rep,name=access_levels,json=accessLevels,proto3" json:"access_levels,omitempty"`
412}
413
414func (x *AttributeContext_Auth) Reset() {
415	*x = AttributeContext_Auth{}
416	if protoimpl.UnsafeEnabled {
417		mi := &file_google_rpc_context_attribute_context_proto_msgTypes[3]
418		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
419		ms.StoreMessageInfo(mi)
420	}
421}
422
423func (x *AttributeContext_Auth) String() string {
424	return protoimpl.X.MessageStringOf(x)
425}
426
427func (*AttributeContext_Auth) ProtoMessage() {}
428
429func (x *AttributeContext_Auth) ProtoReflect() protoreflect.Message {
430	mi := &file_google_rpc_context_attribute_context_proto_msgTypes[3]
431	if protoimpl.UnsafeEnabled && x != nil {
432		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
433		if ms.LoadMessageInfo() == nil {
434			ms.StoreMessageInfo(mi)
435		}
436		return ms
437	}
438	return mi.MessageOf(x)
439}
440
441// Deprecated: Use AttributeContext_Auth.ProtoReflect.Descriptor instead.
442func (*AttributeContext_Auth) Descriptor() ([]byte, []int) {
443	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 2}
444}
445
446func (x *AttributeContext_Auth) GetPrincipal() string {
447	if x != nil {
448		return x.Principal
449	}
450	return ""
451}
452
453func (x *AttributeContext_Auth) GetAudiences() []string {
454	if x != nil {
455		return x.Audiences
456	}
457	return nil
458}
459
460func (x *AttributeContext_Auth) GetPresenter() string {
461	if x != nil {
462		return x.Presenter
463	}
464	return ""
465}
466
467func (x *AttributeContext_Auth) GetClaims() *structpb.Struct {
468	if x != nil {
469		return x.Claims
470	}
471	return nil
472}
473
474func (x *AttributeContext_Auth) GetAccessLevels() []string {
475	if x != nil {
476		return x.AccessLevels
477	}
478	return nil
479}
480
481// This message defines attributes for an HTTP request. If the actual
482// request is not an HTTP request, the runtime system should try to map
483// the actual request to an equivalent HTTP request.
484type AttributeContext_Request struct {
485	state         protoimpl.MessageState
486	sizeCache     protoimpl.SizeCache
487	unknownFields protoimpl.UnknownFields
488
489	// The unique ID for a request, which can be propagated to downstream
490	// systems. The ID should have low probability of collision
491	// within a single day for a specific service.
492	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
493	// The HTTP request method, such as `GET`, `POST`.
494	Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
495	// The HTTP request headers. If multiple headers share the same key, they
496	// must be merged according to the HTTP spec. All header keys must be
497	// lowercased, because HTTP header keys are case-insensitive.
498	Headers map[string]string `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
499	// The HTTP URL path.
500	Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"`
501	// The HTTP request `Host` header value.
502	Host string `protobuf:"bytes,5,opt,name=host,proto3" json:"host,omitempty"`
503	// The HTTP URL scheme, such as `http` and `https`.
504	Scheme string `protobuf:"bytes,6,opt,name=scheme,proto3" json:"scheme,omitempty"`
505	// The HTTP URL query in the format of `name1=value1&name2=value2`, as it
506	// appears in the first line of the HTTP request. No decoding is performed.
507	Query string `protobuf:"bytes,7,opt,name=query,proto3" json:"query,omitempty"`
508	// The timestamp when the `destination` service receives the last byte of
509	// the request.
510	Time *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=time,proto3" json:"time,omitempty"`
511	// The HTTP request size in bytes. If unknown, it must be -1.
512	Size int64 `protobuf:"varint,10,opt,name=size,proto3" json:"size,omitempty"`
513	// The network protocol used with the request, such as "http/1.1",
514	// "spdy/3", "h2", "h2c", "webrtc", "tcp", "udp", "quic". See
515	// https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
516	// for details.
517	Protocol string `protobuf:"bytes,11,opt,name=protocol,proto3" json:"protocol,omitempty"`
518	// A special parameter for request reason. It is used by security systems
519	// to associate auditing information with a request.
520	Reason string `protobuf:"bytes,12,opt,name=reason,proto3" json:"reason,omitempty"`
521	// The request authentication. May be absent for unauthenticated requests.
522	// Derived from the HTTP request `Authorization` header or equivalent.
523	Auth *AttributeContext_Auth `protobuf:"bytes,13,opt,name=auth,proto3" json:"auth,omitempty"`
524}
525
526func (x *AttributeContext_Request) Reset() {
527	*x = AttributeContext_Request{}
528	if protoimpl.UnsafeEnabled {
529		mi := &file_google_rpc_context_attribute_context_proto_msgTypes[4]
530		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
531		ms.StoreMessageInfo(mi)
532	}
533}
534
535func (x *AttributeContext_Request) String() string {
536	return protoimpl.X.MessageStringOf(x)
537}
538
539func (*AttributeContext_Request) ProtoMessage() {}
540
541func (x *AttributeContext_Request) ProtoReflect() protoreflect.Message {
542	mi := &file_google_rpc_context_attribute_context_proto_msgTypes[4]
543	if protoimpl.UnsafeEnabled && x != nil {
544		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
545		if ms.LoadMessageInfo() == nil {
546			ms.StoreMessageInfo(mi)
547		}
548		return ms
549	}
550	return mi.MessageOf(x)
551}
552
553// Deprecated: Use AttributeContext_Request.ProtoReflect.Descriptor instead.
554func (*AttributeContext_Request) Descriptor() ([]byte, []int) {
555	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 3}
556}
557
558func (x *AttributeContext_Request) GetId() string {
559	if x != nil {
560		return x.Id
561	}
562	return ""
563}
564
565func (x *AttributeContext_Request) GetMethod() string {
566	if x != nil {
567		return x.Method
568	}
569	return ""
570}
571
572func (x *AttributeContext_Request) GetHeaders() map[string]string {
573	if x != nil {
574		return x.Headers
575	}
576	return nil
577}
578
579func (x *AttributeContext_Request) GetPath() string {
580	if x != nil {
581		return x.Path
582	}
583	return ""
584}
585
586func (x *AttributeContext_Request) GetHost() string {
587	if x != nil {
588		return x.Host
589	}
590	return ""
591}
592
593func (x *AttributeContext_Request) GetScheme() string {
594	if x != nil {
595		return x.Scheme
596	}
597	return ""
598}
599
600func (x *AttributeContext_Request) GetQuery() string {
601	if x != nil {
602		return x.Query
603	}
604	return ""
605}
606
607func (x *AttributeContext_Request) GetTime() *timestamppb.Timestamp {
608	if x != nil {
609		return x.Time
610	}
611	return nil
612}
613
614func (x *AttributeContext_Request) GetSize() int64 {
615	if x != nil {
616		return x.Size
617	}
618	return 0
619}
620
621func (x *AttributeContext_Request) GetProtocol() string {
622	if x != nil {
623		return x.Protocol
624	}
625	return ""
626}
627
628func (x *AttributeContext_Request) GetReason() string {
629	if x != nil {
630		return x.Reason
631	}
632	return ""
633}
634
635func (x *AttributeContext_Request) GetAuth() *AttributeContext_Auth {
636	if x != nil {
637		return x.Auth
638	}
639	return nil
640}
641
642// This message defines attributes for a typical network response. It
643// generally models semantics of an HTTP response.
644type AttributeContext_Response struct {
645	state         protoimpl.MessageState
646	sizeCache     protoimpl.SizeCache
647	unknownFields protoimpl.UnknownFields
648
649	// The HTTP response status code, such as `200` and `404`.
650	Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
651	// The HTTP response size in bytes. If unknown, it must be -1.
652	Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
653	// The HTTP response headers. If multiple headers share the same key, they
654	// must be merged according to HTTP spec. All header keys must be
655	// lowercased, because HTTP header keys are case-insensitive.
656	Headers map[string]string `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
657	// The timestamp when the `destination` service sends the last byte of
658	// the response.
659	Time *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=time,proto3" json:"time,omitempty"`
660	// The length of time it takes the backend service to fully respond to a
661	// request. Measured from when the destination service starts to send the
662	// request to the backend until when the destination service receives the
663	// complete response from the backend.
664	BackendLatency *durationpb.Duration `protobuf:"bytes,5,opt,name=backend_latency,json=backendLatency,proto3" json:"backend_latency,omitempty"`
665}
666
667func (x *AttributeContext_Response) Reset() {
668	*x = AttributeContext_Response{}
669	if protoimpl.UnsafeEnabled {
670		mi := &file_google_rpc_context_attribute_context_proto_msgTypes[5]
671		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
672		ms.StoreMessageInfo(mi)
673	}
674}
675
676func (x *AttributeContext_Response) String() string {
677	return protoimpl.X.MessageStringOf(x)
678}
679
680func (*AttributeContext_Response) ProtoMessage() {}
681
682func (x *AttributeContext_Response) ProtoReflect() protoreflect.Message {
683	mi := &file_google_rpc_context_attribute_context_proto_msgTypes[5]
684	if protoimpl.UnsafeEnabled && x != nil {
685		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
686		if ms.LoadMessageInfo() == nil {
687			ms.StoreMessageInfo(mi)
688		}
689		return ms
690	}
691	return mi.MessageOf(x)
692}
693
694// Deprecated: Use AttributeContext_Response.ProtoReflect.Descriptor instead.
695func (*AttributeContext_Response) Descriptor() ([]byte, []int) {
696	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 4}
697}
698
699func (x *AttributeContext_Response) GetCode() int64 {
700	if x != nil {
701		return x.Code
702	}
703	return 0
704}
705
706func (x *AttributeContext_Response) GetSize() int64 {
707	if x != nil {
708		return x.Size
709	}
710	return 0
711}
712
713func (x *AttributeContext_Response) GetHeaders() map[string]string {
714	if x != nil {
715		return x.Headers
716	}
717	return nil
718}
719
720func (x *AttributeContext_Response) GetTime() *timestamppb.Timestamp {
721	if x != nil {
722		return x.Time
723	}
724	return nil
725}
726
727func (x *AttributeContext_Response) GetBackendLatency() *durationpb.Duration {
728	if x != nil {
729		return x.BackendLatency
730	}
731	return nil
732}
733
734// This message defines core attributes for a resource. A resource is an
735// addressable (named) entity provided by the destination service. For
736// example, a file stored on a network storage service.
737type AttributeContext_Resource struct {
738	state         protoimpl.MessageState
739	sizeCache     protoimpl.SizeCache
740	unknownFields protoimpl.UnknownFields
741
742	// The name of the service that this resource belongs to, such as
743	// `pubsub.googleapis.com`. The service may be different from the DNS
744	// hostname that actually serves the request.
745	Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
746	// The stable identifier (name) of a resource on the `service`. A resource
747	// can be logically identified as "//{resource.service}/{resource.name}".
748	// The differences between a resource name and a URI are:
749	//
750	// *   Resource name is a logical identifier, independent of network
751	//     protocol and API version. For example,
752	//     `//pubsub.googleapis.com/projects/123/topics/news-feed`.
753	// *   URI often includes protocol and version information, so it can
754	//     be used directly by applications. For example,
755	//     `https://pubsub.googleapis.com/v1/projects/123/topics/news-feed`.
756	//
757	// See https://cloud.google.com/apis/design/resource_names for details.
758	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
759	// The type of the resource. The syntax is platform-specific because
760	// different platforms define their resources differently.
761	//
762	// For Google APIs, the type format must be "{service}/{kind}".
763	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
764	// The labels or tags on the resource, such as AWS resource tags and
765	// Kubernetes resource labels.
766	Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
767	// The unique identifier of the resource. UID is unique in the time
768	// and space for this resource within the scope of the service. It is
769	// typically generated by the server on successful creation of a resource
770	// and must not be changed. UID is used to uniquely identify resources
771	// with resource name reuses. This should be a UUID4.
772	Uid string `protobuf:"bytes,5,opt,name=uid,proto3" json:"uid,omitempty"`
773	// Annotations is an unstructured key-value map stored with a resource that
774	// may be set by external tools to store and retrieve arbitrary metadata.
775	// They are not queryable and should be preserved when modifying objects.
776	//
777	// More info: https://kubernetes.io/docs/user-guide/annotations
778	Annotations map[string]string `protobuf:"bytes,6,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
779	// Mutable. The display name set by clients. Must be <= 63 characters.
780	DisplayName string `protobuf:"bytes,7,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
781	// Output only. The timestamp when the resource was created. This may
782	// be either the time creation was initiated or when it was completed.
783	CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
784	// Output only. The timestamp when the resource was last updated. Any
785	// change to the resource made by users must refresh this value.
786	// Changes to a resource made by the service should refresh this value.
787	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
788	// Output only. The timestamp when the resource was deleted.
789	// If the resource is not deleted, this must be empty.
790	DeleteTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
791	// Output only. An opaque value that uniquely identifies a version or
792	// generation of a resource. It can be used to confirm that the client
793	// and server agree on the ordering of a resource being written.
794	Etag string `protobuf:"bytes,11,opt,name=etag,proto3" json:"etag,omitempty"`
795	// Immutable. The location of the resource. The location encoding is
796	// specific to the service provider, and new encoding may be introduced
797	// as the service evolves.
798	//
799	// For Google Cloud products, the encoding is what is used by Google Cloud
800	// APIs, such as `us-east1`, `aws-us-east-1`, and `azure-eastus2`. The
801	// semantics of `location` is identical to the
802	// `cloud.googleapis.com/location` label used by some Google Cloud APIs.
803	Location string `protobuf:"bytes,12,opt,name=location,proto3" json:"location,omitempty"`
804}
805
806func (x *AttributeContext_Resource) Reset() {
807	*x = AttributeContext_Resource{}
808	if protoimpl.UnsafeEnabled {
809		mi := &file_google_rpc_context_attribute_context_proto_msgTypes[6]
810		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
811		ms.StoreMessageInfo(mi)
812	}
813}
814
815func (x *AttributeContext_Resource) String() string {
816	return protoimpl.X.MessageStringOf(x)
817}
818
819func (*AttributeContext_Resource) ProtoMessage() {}
820
821func (x *AttributeContext_Resource) ProtoReflect() protoreflect.Message {
822	mi := &file_google_rpc_context_attribute_context_proto_msgTypes[6]
823	if protoimpl.UnsafeEnabled && x != nil {
824		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
825		if ms.LoadMessageInfo() == nil {
826			ms.StoreMessageInfo(mi)
827		}
828		return ms
829	}
830	return mi.MessageOf(x)
831}
832
833// Deprecated: Use AttributeContext_Resource.ProtoReflect.Descriptor instead.
834func (*AttributeContext_Resource) Descriptor() ([]byte, []int) {
835	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 5}
836}
837
838func (x *AttributeContext_Resource) GetService() string {
839	if x != nil {
840		return x.Service
841	}
842	return ""
843}
844
845func (x *AttributeContext_Resource) GetName() string {
846	if x != nil {
847		return x.Name
848	}
849	return ""
850}
851
852func (x *AttributeContext_Resource) GetType() string {
853	if x != nil {
854		return x.Type
855	}
856	return ""
857}
858
859func (x *AttributeContext_Resource) GetLabels() map[string]string {
860	if x != nil {
861		return x.Labels
862	}
863	return nil
864}
865
866func (x *AttributeContext_Resource) GetUid() string {
867	if x != nil {
868		return x.Uid
869	}
870	return ""
871}
872
873func (x *AttributeContext_Resource) GetAnnotations() map[string]string {
874	if x != nil {
875		return x.Annotations
876	}
877	return nil
878}
879
880func (x *AttributeContext_Resource) GetDisplayName() string {
881	if x != nil {
882		return x.DisplayName
883	}
884	return ""
885}
886
887func (x *AttributeContext_Resource) GetCreateTime() *timestamppb.Timestamp {
888	if x != nil {
889		return x.CreateTime
890	}
891	return nil
892}
893
894func (x *AttributeContext_Resource) GetUpdateTime() *timestamppb.Timestamp {
895	if x != nil {
896		return x.UpdateTime
897	}
898	return nil
899}
900
901func (x *AttributeContext_Resource) GetDeleteTime() *timestamppb.Timestamp {
902	if x != nil {
903		return x.DeleteTime
904	}
905	return nil
906}
907
908func (x *AttributeContext_Resource) GetEtag() string {
909	if x != nil {
910		return x.Etag
911	}
912	return ""
913}
914
915func (x *AttributeContext_Resource) GetLocation() string {
916	if x != nil {
917		return x.Location
918	}
919	return ""
920}
921
922var File_google_rpc_context_attribute_context_proto protoreflect.FileDescriptor
923
924var file_google_rpc_context_attribute_context_proto_rawDesc = []byte{
925	0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6e,
926	0x74, 0x65, 0x78, 0x74, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x63,
927	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x67, 0x6f,
928	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
929	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
930	0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f,
931	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72,
932	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
933	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
934	0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
935	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
936	0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x14, 0x0a, 0x10, 0x41,
937	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
938	0x41, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
939	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e,
940	0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f,
941	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67,
942	0x69, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
943	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
944	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
945	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x06, 0x73,
946	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
947	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
948	0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e,
949	0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
950	0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
951	0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20,
952	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
953	0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
954	0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
955	0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x65,
956	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
957	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
958	0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
959	0x78, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73,
960	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
961	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
962	0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74,
963	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65,
964	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
965	0x12, 0x3a, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
966	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65,
967	0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
968	0x65, 0x78, 0x74, 0x2e, 0x41, 0x70, 0x69, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x34, 0x0a, 0x0a,
969	0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
970	0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
971	0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
972	0x6e, 0x73, 0x1a, 0xf3, 0x01, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69,
973	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70,
974	0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12,
975	0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
976	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e,
977	0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f,
978	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
979	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1c,
980	0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28,
981	0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b,
982	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
983	0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x39, 0x0a,
984	0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
985	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
986	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
987	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x73, 0x0a, 0x03, 0x41, 0x70, 0x69, 0x12,
988	0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
989	0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65,
990	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70,
991	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
992	0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
993	0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04,
994	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xb6, 0x01,
995	0x0a, 0x04, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69,
996	0x70, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63,
997	0x69, 0x70, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65,
998	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63,
999	0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18,
1000	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x72,
1001	0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
1002	0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1003	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d,
1004	0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65,
1005	0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
1006	0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x1a, 0xcf, 0x03, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65,
1007	0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
1008	0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01,
1009	0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x53, 0x0a, 0x07, 0x68, 0x65,
1010	0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f,
1011	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
1012	0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
1013	0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
1014	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12,
1015	0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70,
1016	0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
1017	0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
1018	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12,
1019	0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
1020	0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20,
1021	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
1022	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
1023	0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20,
1024	0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f,
1025	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f,
1026	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
1027	0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x0a,
1028	0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
1029	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
1030	0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
1031	0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x1a, 0x3a, 0x0a, 0x0c,
1032	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
1033	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
1034	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
1035	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb8, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73,
1036	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
1037	0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
1038	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x54, 0x0a,
1039	0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a,
1040	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74,
1041	0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e,
1042	0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65,
1043	0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64,
1044	0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
1045	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1046	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74,
1047	0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x6c,
1048	0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
1049	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
1050	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64,
1051	0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65,
1052	0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
1053	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
1054	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
1055	0x02, 0x38, 0x01, 0x1a, 0x98, 0x05, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
1056	0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
1057	0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
1058	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
1059	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,
1060	0x70, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03,
1061	0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
1062	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
1063	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
1064	0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c,
1065	0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
1066	0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x60, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
1067	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67,
1068	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
1069	0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
1070	0x78, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
1071	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e,
1072	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73,
1073	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
1074	0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b,
1075	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
1076	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1077	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63,
1078	0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64,
1079	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
1080	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1081	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
1082	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
1083	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
1084	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
1085	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,
1086	0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28,
1087	0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
1088	0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
1089	0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
1090	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
1091	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
1092	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e,
1093	0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74,
1094	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
1095	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
1096	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x8b,
1097	0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
1098	0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x15, 0x41, 0x74, 0x74, 0x72, 0x69,
1099	0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f,
1100	0x50, 0x01, 0x5a, 0x55, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
1101	0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
1102	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f,
1103	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f,
1104	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
1105	0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72,
1106	0x6f, 0x74, 0x6f, 0x33,
1107}
1108
1109var (
1110	file_google_rpc_context_attribute_context_proto_rawDescOnce sync.Once
1111	file_google_rpc_context_attribute_context_proto_rawDescData = file_google_rpc_context_attribute_context_proto_rawDesc
1112)
1113
1114func file_google_rpc_context_attribute_context_proto_rawDescGZIP() []byte {
1115	file_google_rpc_context_attribute_context_proto_rawDescOnce.Do(func() {
1116		file_google_rpc_context_attribute_context_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_rpc_context_attribute_context_proto_rawDescData)
1117	})
1118	return file_google_rpc_context_attribute_context_proto_rawDescData
1119}
1120
1121var file_google_rpc_context_attribute_context_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
1122var file_google_rpc_context_attribute_context_proto_goTypes = []interface{}{
1123	(*AttributeContext)(nil),          // 0: google.rpc.context.AttributeContext
1124	(*AttributeContext_Peer)(nil),     // 1: google.rpc.context.AttributeContext.Peer
1125	(*AttributeContext_Api)(nil),      // 2: google.rpc.context.AttributeContext.Api
1126	(*AttributeContext_Auth)(nil),     // 3: google.rpc.context.AttributeContext.Auth
1127	(*AttributeContext_Request)(nil),  // 4: google.rpc.context.AttributeContext.Request
1128	(*AttributeContext_Response)(nil), // 5: google.rpc.context.AttributeContext.Response
1129	(*AttributeContext_Resource)(nil), // 6: google.rpc.context.AttributeContext.Resource
1130	nil,                               // 7: google.rpc.context.AttributeContext.Peer.LabelsEntry
1131	nil,                               // 8: google.rpc.context.AttributeContext.Request.HeadersEntry
1132	nil,                               // 9: google.rpc.context.AttributeContext.Response.HeadersEntry
1133	nil,                               // 10: google.rpc.context.AttributeContext.Resource.LabelsEntry
1134	nil,                               // 11: google.rpc.context.AttributeContext.Resource.AnnotationsEntry
1135	(*anypb.Any)(nil),                 // 12: google.protobuf.Any
1136	(*structpb.Struct)(nil),           // 13: google.protobuf.Struct
1137	(*timestamppb.Timestamp)(nil),     // 14: google.protobuf.Timestamp
1138	(*durationpb.Duration)(nil),       // 15: google.protobuf.Duration
1139}
1140var file_google_rpc_context_attribute_context_proto_depIdxs = []int32{
1141	1,  // 0: google.rpc.context.AttributeContext.origin:type_name -> google.rpc.context.AttributeContext.Peer
1142	1,  // 1: google.rpc.context.AttributeContext.source:type_name -> google.rpc.context.AttributeContext.Peer
1143	1,  // 2: google.rpc.context.AttributeContext.destination:type_name -> google.rpc.context.AttributeContext.Peer
1144	4,  // 3: google.rpc.context.AttributeContext.request:type_name -> google.rpc.context.AttributeContext.Request
1145	5,  // 4: google.rpc.context.AttributeContext.response:type_name -> google.rpc.context.AttributeContext.Response
1146	6,  // 5: google.rpc.context.AttributeContext.resource:type_name -> google.rpc.context.AttributeContext.Resource
1147	2,  // 6: google.rpc.context.AttributeContext.api:type_name -> google.rpc.context.AttributeContext.Api
1148	12, // 7: google.rpc.context.AttributeContext.extensions:type_name -> google.protobuf.Any
1149	7,  // 8: google.rpc.context.AttributeContext.Peer.labels:type_name -> google.rpc.context.AttributeContext.Peer.LabelsEntry
1150	13, // 9: google.rpc.context.AttributeContext.Auth.claims:type_name -> google.protobuf.Struct
1151	8,  // 10: google.rpc.context.AttributeContext.Request.headers:type_name -> google.rpc.context.AttributeContext.Request.HeadersEntry
1152	14, // 11: google.rpc.context.AttributeContext.Request.time:type_name -> google.protobuf.Timestamp
1153	3,  // 12: google.rpc.context.AttributeContext.Request.auth:type_name -> google.rpc.context.AttributeContext.Auth
1154	9,  // 13: google.rpc.context.AttributeContext.Response.headers:type_name -> google.rpc.context.AttributeContext.Response.HeadersEntry
1155	14, // 14: google.rpc.context.AttributeContext.Response.time:type_name -> google.protobuf.Timestamp
1156	15, // 15: google.rpc.context.AttributeContext.Response.backend_latency:type_name -> google.protobuf.Duration
1157	10, // 16: google.rpc.context.AttributeContext.Resource.labels:type_name -> google.rpc.context.AttributeContext.Resource.LabelsEntry
1158	11, // 17: google.rpc.context.AttributeContext.Resource.annotations:type_name -> google.rpc.context.AttributeContext.Resource.AnnotationsEntry
1159	14, // 18: google.rpc.context.AttributeContext.Resource.create_time:type_name -> google.protobuf.Timestamp
1160	14, // 19: google.rpc.context.AttributeContext.Resource.update_time:type_name -> google.protobuf.Timestamp
1161	14, // 20: google.rpc.context.AttributeContext.Resource.delete_time:type_name -> google.protobuf.Timestamp
1162	21, // [21:21] is the sub-list for method output_type
1163	21, // [21:21] is the sub-list for method input_type
1164	21, // [21:21] is the sub-list for extension type_name
1165	21, // [21:21] is the sub-list for extension extendee
1166	0,  // [0:21] is the sub-list for field type_name
1167}
1168
1169func init() { file_google_rpc_context_attribute_context_proto_init() }
1170func file_google_rpc_context_attribute_context_proto_init() {
1171	if File_google_rpc_context_attribute_context_proto != nil {
1172		return
1173	}
1174	if !protoimpl.UnsafeEnabled {
1175		file_google_rpc_context_attribute_context_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1176			switch v := v.(*AttributeContext); i {
1177			case 0:
1178				return &v.state
1179			case 1:
1180				return &v.sizeCache
1181			case 2:
1182				return &v.unknownFields
1183			default:
1184				return nil
1185			}
1186		}
1187		file_google_rpc_context_attribute_context_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1188			switch v := v.(*AttributeContext_Peer); i {
1189			case 0:
1190				return &v.state
1191			case 1:
1192				return &v.sizeCache
1193			case 2:
1194				return &v.unknownFields
1195			default:
1196				return nil
1197			}
1198		}
1199		file_google_rpc_context_attribute_context_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1200			switch v := v.(*AttributeContext_Api); i {
1201			case 0:
1202				return &v.state
1203			case 1:
1204				return &v.sizeCache
1205			case 2:
1206				return &v.unknownFields
1207			default:
1208				return nil
1209			}
1210		}
1211		file_google_rpc_context_attribute_context_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1212			switch v := v.(*AttributeContext_Auth); i {
1213			case 0:
1214				return &v.state
1215			case 1:
1216				return &v.sizeCache
1217			case 2:
1218				return &v.unknownFields
1219			default:
1220				return nil
1221			}
1222		}
1223		file_google_rpc_context_attribute_context_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1224			switch v := v.(*AttributeContext_Request); i {
1225			case 0:
1226				return &v.state
1227			case 1:
1228				return &v.sizeCache
1229			case 2:
1230				return &v.unknownFields
1231			default:
1232				return nil
1233			}
1234		}
1235		file_google_rpc_context_attribute_context_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1236			switch v := v.(*AttributeContext_Response); i {
1237			case 0:
1238				return &v.state
1239			case 1:
1240				return &v.sizeCache
1241			case 2:
1242				return &v.unknownFields
1243			default:
1244				return nil
1245			}
1246		}
1247		file_google_rpc_context_attribute_context_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1248			switch v := v.(*AttributeContext_Resource); i {
1249			case 0:
1250				return &v.state
1251			case 1:
1252				return &v.sizeCache
1253			case 2:
1254				return &v.unknownFields
1255			default:
1256				return nil
1257			}
1258		}
1259	}
1260	type x struct{}
1261	out := protoimpl.TypeBuilder{
1262		File: protoimpl.DescBuilder{
1263			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1264			RawDescriptor: file_google_rpc_context_attribute_context_proto_rawDesc,
1265			NumEnums:      0,
1266			NumMessages:   12,
1267			NumExtensions: 0,
1268			NumServices:   0,
1269		},
1270		GoTypes:           file_google_rpc_context_attribute_context_proto_goTypes,
1271		DependencyIndexes: file_google_rpc_context_attribute_context_proto_depIdxs,
1272		MessageInfos:      file_google_rpc_context_attribute_context_proto_msgTypes,
1273	}.Build()
1274	File_google_rpc_context_attribute_context_proto = out.File
1275	file_google_rpc_context_attribute_context_proto_rawDesc = nil
1276	file_google_rpc_context_attribute_context_proto_goTypes = nil
1277	file_google_rpc_context_attribute_context_proto_depIdxs = nil
1278}
1279