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