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