...

Source file src/google.golang.org/genproto/googleapis/rpc/context/attribute_context/attribute_context.pb.go

Documentation: google.golang.org/genproto/googleapis/rpc/context/attribute_context

     1  // Copyright 2024 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        v4.24.4
    19  // source: google/rpc/context/attribute_context.proto
    20  
    21  package attribute_context
    22  
    23  import (
    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  
    35  const (
    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.
    59  type 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  
    90  func (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  
    99  func (x *AttributeContext) String() string {
   100  	return protoimpl.X.MessageStringOf(x)
   101  }
   102  
   103  func (*AttributeContext) ProtoMessage() {}
   104  
   105  func (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.
   118  func (*AttributeContext) Descriptor() ([]byte, []int) {
   119  	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0}
   120  }
   121  
   122  func (x *AttributeContext) GetOrigin() *AttributeContext_Peer {
   123  	if x != nil {
   124  		return x.Origin
   125  	}
   126  	return nil
   127  }
   128  
   129  func (x *AttributeContext) GetSource() *AttributeContext_Peer {
   130  	if x != nil {
   131  		return x.Source
   132  	}
   133  	return nil
   134  }
   135  
   136  func (x *AttributeContext) GetDestination() *AttributeContext_Peer {
   137  	if x != nil {
   138  		return x.Destination
   139  	}
   140  	return nil
   141  }
   142  
   143  func (x *AttributeContext) GetRequest() *AttributeContext_Request {
   144  	if x != nil {
   145  		return x.Request
   146  	}
   147  	return nil
   148  }
   149  
   150  func (x *AttributeContext) GetResponse() *AttributeContext_Response {
   151  	if x != nil {
   152  		return x.Response
   153  	}
   154  	return nil
   155  }
   156  
   157  func (x *AttributeContext) GetResource() *AttributeContext_Resource {
   158  	if x != nil {
   159  		return x.Resource
   160  	}
   161  	return nil
   162  }
   163  
   164  func (x *AttributeContext) GetApi() *AttributeContext_Api {
   165  	if x != nil {
   166  		return x.Api
   167  	}
   168  	return nil
   169  }
   170  
   171  func (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.
   182  type 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  	// identity associated with a load balancer that forwarded 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  
   203  func (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  
   212  func (x *AttributeContext_Peer) String() string {
   213  	return protoimpl.X.MessageStringOf(x)
   214  }
   215  
   216  func (*AttributeContext_Peer) ProtoMessage() {}
   217  
   218  func (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.
   231  func (*AttributeContext_Peer) Descriptor() ([]byte, []int) {
   232  	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 0}
   233  }
   234  
   235  func (x *AttributeContext_Peer) GetIp() string {
   236  	if x != nil {
   237  		return x.Ip
   238  	}
   239  	return ""
   240  }
   241  
   242  func (x *AttributeContext_Peer) GetPort() int64 {
   243  	if x != nil {
   244  		return x.Port
   245  	}
   246  	return 0
   247  }
   248  
   249  func (x *AttributeContext_Peer) GetLabels() map[string]string {
   250  	if x != nil {
   251  		return x.Labels
   252  	}
   253  	return nil
   254  }
   255  
   256  func (x *AttributeContext_Peer) GetPrincipal() string {
   257  	if x != nil {
   258  		return x.Principal
   259  	}
   260  	return ""
   261  }
   262  
   263  func (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.
   273  type 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  
   294  func (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  
   303  func (x *AttributeContext_Api) String() string {
   304  	return protoimpl.X.MessageStringOf(x)
   305  }
   306  
   307  func (*AttributeContext_Api) ProtoMessage() {}
   308  
   309  func (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.
   322  func (*AttributeContext_Api) Descriptor() ([]byte, []int) {
   323  	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 1}
   324  }
   325  
   326  func (x *AttributeContext_Api) GetService() string {
   327  	if x != nil {
   328  		return x.Service
   329  	}
   330  	return ""
   331  }
   332  
   333  func (x *AttributeContext_Api) GetOperation() string {
   334  	if x != nil {
   335  		return x.Operation
   336  	}
   337  	return ""
   338  }
   339  
   340  func (x *AttributeContext_Api) GetProtocol() string {
   341  	if x != nil {
   342  		return x.Protocol
   343  	}
   344  	return ""
   345  }
   346  
   347  func (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.
   357  type 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  
   414  func (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  
   423  func (x *AttributeContext_Auth) String() string {
   424  	return protoimpl.X.MessageStringOf(x)
   425  }
   426  
   427  func (*AttributeContext_Auth) ProtoMessage() {}
   428  
   429  func (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.
   442  func (*AttributeContext_Auth) Descriptor() ([]byte, []int) {
   443  	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 2}
   444  }
   445  
   446  func (x *AttributeContext_Auth) GetPrincipal() string {
   447  	if x != nil {
   448  		return x.Principal
   449  	}
   450  	return ""
   451  }
   452  
   453  func (x *AttributeContext_Auth) GetAudiences() []string {
   454  	if x != nil {
   455  		return x.Audiences
   456  	}
   457  	return nil
   458  }
   459  
   460  func (x *AttributeContext_Auth) GetPresenter() string {
   461  	if x != nil {
   462  		return x.Presenter
   463  	}
   464  	return ""
   465  }
   466  
   467  func (x *AttributeContext_Auth) GetClaims() *structpb.Struct {
   468  	if x != nil {
   469  		return x.Claims
   470  	}
   471  	return nil
   472  }
   473  
   474  func (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.
   484  type 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, excluding the query parameters.
   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  
   526  func (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  
   535  func (x *AttributeContext_Request) String() string {
   536  	return protoimpl.X.MessageStringOf(x)
   537  }
   538  
   539  func (*AttributeContext_Request) ProtoMessage() {}
   540  
   541  func (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.
   554  func (*AttributeContext_Request) Descriptor() ([]byte, []int) {
   555  	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 3}
   556  }
   557  
   558  func (x *AttributeContext_Request) GetId() string {
   559  	if x != nil {
   560  		return x.Id
   561  	}
   562  	return ""
   563  }
   564  
   565  func (x *AttributeContext_Request) GetMethod() string {
   566  	if x != nil {
   567  		return x.Method
   568  	}
   569  	return ""
   570  }
   571  
   572  func (x *AttributeContext_Request) GetHeaders() map[string]string {
   573  	if x != nil {
   574  		return x.Headers
   575  	}
   576  	return nil
   577  }
   578  
   579  func (x *AttributeContext_Request) GetPath() string {
   580  	if x != nil {
   581  		return x.Path
   582  	}
   583  	return ""
   584  }
   585  
   586  func (x *AttributeContext_Request) GetHost() string {
   587  	if x != nil {
   588  		return x.Host
   589  	}
   590  	return ""
   591  }
   592  
   593  func (x *AttributeContext_Request) GetScheme() string {
   594  	if x != nil {
   595  		return x.Scheme
   596  	}
   597  	return ""
   598  }
   599  
   600  func (x *AttributeContext_Request) GetQuery() string {
   601  	if x != nil {
   602  		return x.Query
   603  	}
   604  	return ""
   605  }
   606  
   607  func (x *AttributeContext_Request) GetTime() *timestamppb.Timestamp {
   608  	if x != nil {
   609  		return x.Time
   610  	}
   611  	return nil
   612  }
   613  
   614  func (x *AttributeContext_Request) GetSize() int64 {
   615  	if x != nil {
   616  		return x.Size
   617  	}
   618  	return 0
   619  }
   620  
   621  func (x *AttributeContext_Request) GetProtocol() string {
   622  	if x != nil {
   623  		return x.Protocol
   624  	}
   625  	return ""
   626  }
   627  
   628  func (x *AttributeContext_Request) GetReason() string {
   629  	if x != nil {
   630  		return x.Reason
   631  	}
   632  	return ""
   633  }
   634  
   635  func (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.
   644  type 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 amount 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  
   667  func (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  
   676  func (x *AttributeContext_Response) String() string {
   677  	return protoimpl.X.MessageStringOf(x)
   678  }
   679  
   680  func (*AttributeContext_Response) ProtoMessage() {}
   681  
   682  func (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.
   695  func (*AttributeContext_Response) Descriptor() ([]byte, []int) {
   696  	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 4}
   697  }
   698  
   699  func (x *AttributeContext_Response) GetCode() int64 {
   700  	if x != nil {
   701  		return x.Code
   702  	}
   703  	return 0
   704  }
   705  
   706  func (x *AttributeContext_Response) GetSize() int64 {
   707  	if x != nil {
   708  		return x.Size
   709  	}
   710  	return 0
   711  }
   712  
   713  func (x *AttributeContext_Response) GetHeaders() map[string]string {
   714  	if x != nil {
   715  		return x.Headers
   716  	}
   717  	return nil
   718  }
   719  
   720  func (x *AttributeContext_Response) GetTime() *timestamppb.Timestamp {
   721  	if x != nil {
   722  		return x.Time
   723  	}
   724  	return nil
   725  }
   726  
   727  func (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.
   737  type 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}", such as
   763  	// "pubsub.googleapis.com/Topic".
   764  	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
   765  	// The labels or tags on the resource, such as AWS resource tags and
   766  	// Kubernetes resource labels.
   767  	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"`
   768  	// The unique identifier of the resource. UID is unique in the time
   769  	// and space for this resource within the scope of the service. It is
   770  	// typically generated by the server on successful creation of a resource
   771  	// and must not be changed. UID is used to uniquely identify resources
   772  	// with resource name reuses. This should be a UUID4.
   773  	Uid string `protobuf:"bytes,5,opt,name=uid,proto3" json:"uid,omitempty"`
   774  	// Annotations is an unstructured key-value map stored with a resource that
   775  	// may be set by external tools to store and retrieve arbitrary metadata.
   776  	// They are not queryable and should be preserved when modifying objects.
   777  	//
   778  	// More info: https://kubernetes.io/docs/user-guide/annotations
   779  	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"`
   780  	// Mutable. The display name set by clients. Must be <= 63 characters.
   781  	DisplayName string `protobuf:"bytes,7,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   782  	// Output only. The timestamp when the resource was created. This may
   783  	// be either the time creation was initiated or when it was completed.
   784  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   785  	// Output only. The timestamp when the resource was last updated. Any
   786  	// change to the resource made by users must refresh this value.
   787  	// Changes to a resource made by the service should refresh this value.
   788  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   789  	// Output only. The timestamp when the resource was deleted.
   790  	// If the resource is not deleted, this must be empty.
   791  	DeleteTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
   792  	// Output only. An opaque value that uniquely identifies a version or
   793  	// generation of a resource. It can be used to confirm that the client
   794  	// and server agree on the ordering of a resource being written.
   795  	Etag string `protobuf:"bytes,11,opt,name=etag,proto3" json:"etag,omitempty"`
   796  	// Immutable. The location of the resource. The location encoding is
   797  	// specific to the service provider, and new encoding may be introduced
   798  	// as the service evolves.
   799  	//
   800  	// For Google Cloud products, the encoding is what is used by Google Cloud
   801  	// APIs, such as `us-east1`, `aws-us-east-1`, and `azure-eastus2`. The
   802  	// semantics of `location` is identical to the
   803  	// `cloud.googleapis.com/location` label used by some Google Cloud APIs.
   804  	Location string `protobuf:"bytes,12,opt,name=location,proto3" json:"location,omitempty"`
   805  }
   806  
   807  func (x *AttributeContext_Resource) Reset() {
   808  	*x = AttributeContext_Resource{}
   809  	if protoimpl.UnsafeEnabled {
   810  		mi := &file_google_rpc_context_attribute_context_proto_msgTypes[6]
   811  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   812  		ms.StoreMessageInfo(mi)
   813  	}
   814  }
   815  
   816  func (x *AttributeContext_Resource) String() string {
   817  	return protoimpl.X.MessageStringOf(x)
   818  }
   819  
   820  func (*AttributeContext_Resource) ProtoMessage() {}
   821  
   822  func (x *AttributeContext_Resource) ProtoReflect() protoreflect.Message {
   823  	mi := &file_google_rpc_context_attribute_context_proto_msgTypes[6]
   824  	if protoimpl.UnsafeEnabled && x != nil {
   825  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   826  		if ms.LoadMessageInfo() == nil {
   827  			ms.StoreMessageInfo(mi)
   828  		}
   829  		return ms
   830  	}
   831  	return mi.MessageOf(x)
   832  }
   833  
   834  // Deprecated: Use AttributeContext_Resource.ProtoReflect.Descriptor instead.
   835  func (*AttributeContext_Resource) Descriptor() ([]byte, []int) {
   836  	return file_google_rpc_context_attribute_context_proto_rawDescGZIP(), []int{0, 5}
   837  }
   838  
   839  func (x *AttributeContext_Resource) GetService() string {
   840  	if x != nil {
   841  		return x.Service
   842  	}
   843  	return ""
   844  }
   845  
   846  func (x *AttributeContext_Resource) GetName() string {
   847  	if x != nil {
   848  		return x.Name
   849  	}
   850  	return ""
   851  }
   852  
   853  func (x *AttributeContext_Resource) GetType() string {
   854  	if x != nil {
   855  		return x.Type
   856  	}
   857  	return ""
   858  }
   859  
   860  func (x *AttributeContext_Resource) GetLabels() map[string]string {
   861  	if x != nil {
   862  		return x.Labels
   863  	}
   864  	return nil
   865  }
   866  
   867  func (x *AttributeContext_Resource) GetUid() string {
   868  	if x != nil {
   869  		return x.Uid
   870  	}
   871  	return ""
   872  }
   873  
   874  func (x *AttributeContext_Resource) GetAnnotations() map[string]string {
   875  	if x != nil {
   876  		return x.Annotations
   877  	}
   878  	return nil
   879  }
   880  
   881  func (x *AttributeContext_Resource) GetDisplayName() string {
   882  	if x != nil {
   883  		return x.DisplayName
   884  	}
   885  	return ""
   886  }
   887  
   888  func (x *AttributeContext_Resource) GetCreateTime() *timestamppb.Timestamp {
   889  	if x != nil {
   890  		return x.CreateTime
   891  	}
   892  	return nil
   893  }
   894  
   895  func (x *AttributeContext_Resource) GetUpdateTime() *timestamppb.Timestamp {
   896  	if x != nil {
   897  		return x.UpdateTime
   898  	}
   899  	return nil
   900  }
   901  
   902  func (x *AttributeContext_Resource) GetDeleteTime() *timestamppb.Timestamp {
   903  	if x != nil {
   904  		return x.DeleteTime
   905  	}
   906  	return nil
   907  }
   908  
   909  func (x *AttributeContext_Resource) GetEtag() string {
   910  	if x != nil {
   911  		return x.Etag
   912  	}
   913  	return ""
   914  }
   915  
   916  func (x *AttributeContext_Resource) GetLocation() string {
   917  	if x != nil {
   918  		return x.Location
   919  	}
   920  	return ""
   921  }
   922  
   923  var File_google_rpc_context_attribute_context_proto protoreflect.FileDescriptor
   924  
   925  var file_google_rpc_context_attribute_context_proto_rawDesc = []byte{
   926  	0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6e,
   927  	0x74, 0x65, 0x78, 0x74, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x63,
   928  	0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x67, 0x6f,
   929  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
   930  	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
   931  	0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f,
   932  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72,
   933  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
   934  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,
   935  	0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   936  	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
   937  	0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x14, 0x0a, 0x10, 0x41,
   938  	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
   939  	0x41, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
   940  	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e,
   941  	0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f,
   942  	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67,
   943  	0x69, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
   944  	0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
   945  	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
   946  	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x06, 0x73,
   947  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
   948  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
   949  	0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e,
   950  	0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
   951  	0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
   952  	0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20,
   953  	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
   954  	0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
   955  	0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
   956  	0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x65,
   957  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,
   958  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
   959  	0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
   960  	0x78, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73,
   961  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
   962  	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   963  	0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74,
   964  	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65,
   965  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
   966  	0x12, 0x3a, 0x0a, 0x03, 0x61, 0x70, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
   967  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65,
   968  	0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
   969  	0x65, 0x78, 0x74, 0x2e, 0x41, 0x70, 0x69, 0x52, 0x03, 0x61, 0x70, 0x69, 0x12, 0x34, 0x0a, 0x0a,
   970  	0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
   971  	0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   972  	0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
   973  	0x6e, 0x73, 0x1a, 0xf3, 0x01, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69,
   974  	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x70,
   975  	0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12,
   976  	0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
   977  	0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e,
   978  	0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f,
   979  	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
   980  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1c,
   981  	0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28,
   982  	0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b,
   983  	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
   984  	0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x39, 0x0a,
   985  	0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
   986  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
   987  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
   988  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x73, 0x0a, 0x03, 0x41, 0x70, 0x69, 0x12,
   989  	0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
   990  	0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65,
   991  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70,
   992  	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   993  	0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   994  	0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04,
   995  	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xb6, 0x01,
   996  	0x0a, 0x04, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69,
   997  	0x70, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63,
   998  	0x69, 0x70, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65,
   999  	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63,
  1000  	0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18,
  1001  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x72,
  1002  	0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
  1003  	0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1004  	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x61, 0x69, 0x6d,
  1005  	0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65,
  1006  	0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
  1007  	0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x1a, 0xcf, 0x03, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65,
  1008  	0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
  1009  	0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01,
  1010  	0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x53, 0x0a, 0x07, 0x68, 0x65,
  1011  	0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f,
  1012  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
  1013  	0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  1014  	0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
  1015  	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12,
  1016  	0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70,
  1017  	0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
  1018  	0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
  1019  	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12,
  1020  	0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
  1021  	0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20,
  1022  	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  1023  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
  1024  	0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20,
  1025  	0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f,
  1026  	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f,
  1027  	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
  1028  	0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x3d, 0x0a,
  1029  	0x04, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
  1030  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
  1031  	0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  1032  	0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x52, 0x04, 0x61, 0x75, 0x74, 0x68, 0x1a, 0x3a, 0x0a, 0x0c,
  1033  	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  1034  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
  1035  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
  1036  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xb8, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73,
  1037  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
  1038  	0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
  1039  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x54, 0x0a,
  1040  	0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a,
  1041  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74,
  1042  	0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e,
  1043  	0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65,
  1044  	0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64,
  1045  	0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
  1046  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1047  	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74,
  1048  	0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x6c,
  1049  	0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
  1050  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
  1051  	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64,
  1052  	0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65,
  1053  	0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
  1054  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
  1055  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
  1056  	0x02, 0x38, 0x01, 0x1a, 0x98, 0x05, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1057  	0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  1058  	0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
  1059  	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
  1060  	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,
  1061  	0x70, 0x65, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03,
  1062  	0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
  1063  	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
  1064  	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1065  	0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c,
  1066  	0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
  1067  	0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x60, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
  1068  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67,
  1069  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
  1070  	0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
  1071  	0x78, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
  1072  	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e,
  1073  	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73,
  1074  	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
  1075  	0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b,
  1076  	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
  1077  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1078  	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63,
  1079  	0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64,
  1080  	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  1081  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  1082  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
  1083  	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
  1084  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
  1085  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
  1086  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,
  1087  	0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28,
  1088  	0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  1089  	0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  1090  	0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
  1091  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  1092  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  1093  	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e,
  1094  	0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74,
  1095  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  1096  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
  1097  	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x8b,
  1098  	0x01, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
  1099  	0x63, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x15, 0x41, 0x74, 0x74, 0x72, 0x69,
  1100  	0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f,
  1101  	0x50, 0x01, 0x5a, 0x55, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
  1102  	0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
  1103  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f,
  1104  	0x6e, 0x74, 0x65, 0x78, 0x74, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f,
  1105  	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
  1106  	0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72,
  1107  	0x6f, 0x74, 0x6f, 0x33,
  1108  }
  1109  
  1110  var (
  1111  	file_google_rpc_context_attribute_context_proto_rawDescOnce sync.Once
  1112  	file_google_rpc_context_attribute_context_proto_rawDescData = file_google_rpc_context_attribute_context_proto_rawDesc
  1113  )
  1114  
  1115  func file_google_rpc_context_attribute_context_proto_rawDescGZIP() []byte {
  1116  	file_google_rpc_context_attribute_context_proto_rawDescOnce.Do(func() {
  1117  		file_google_rpc_context_attribute_context_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_rpc_context_attribute_context_proto_rawDescData)
  1118  	})
  1119  	return file_google_rpc_context_attribute_context_proto_rawDescData
  1120  }
  1121  
  1122  var file_google_rpc_context_attribute_context_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
  1123  var file_google_rpc_context_attribute_context_proto_goTypes = []interface{}{
  1124  	(*AttributeContext)(nil),          // 0: google.rpc.context.AttributeContext
  1125  	(*AttributeContext_Peer)(nil),     // 1: google.rpc.context.AttributeContext.Peer
  1126  	(*AttributeContext_Api)(nil),      // 2: google.rpc.context.AttributeContext.Api
  1127  	(*AttributeContext_Auth)(nil),     // 3: google.rpc.context.AttributeContext.Auth
  1128  	(*AttributeContext_Request)(nil),  // 4: google.rpc.context.AttributeContext.Request
  1129  	(*AttributeContext_Response)(nil), // 5: google.rpc.context.AttributeContext.Response
  1130  	(*AttributeContext_Resource)(nil), // 6: google.rpc.context.AttributeContext.Resource
  1131  	nil,                               // 7: google.rpc.context.AttributeContext.Peer.LabelsEntry
  1132  	nil,                               // 8: google.rpc.context.AttributeContext.Request.HeadersEntry
  1133  	nil,                               // 9: google.rpc.context.AttributeContext.Response.HeadersEntry
  1134  	nil,                               // 10: google.rpc.context.AttributeContext.Resource.LabelsEntry
  1135  	nil,                               // 11: google.rpc.context.AttributeContext.Resource.AnnotationsEntry
  1136  	(*anypb.Any)(nil),                 // 12: google.protobuf.Any
  1137  	(*structpb.Struct)(nil),           // 13: google.protobuf.Struct
  1138  	(*timestamppb.Timestamp)(nil),     // 14: google.protobuf.Timestamp
  1139  	(*durationpb.Duration)(nil),       // 15: google.protobuf.Duration
  1140  }
  1141  var file_google_rpc_context_attribute_context_proto_depIdxs = []int32{
  1142  	1,  // 0: google.rpc.context.AttributeContext.origin:type_name -> google.rpc.context.AttributeContext.Peer
  1143  	1,  // 1: google.rpc.context.AttributeContext.source:type_name -> google.rpc.context.AttributeContext.Peer
  1144  	1,  // 2: google.rpc.context.AttributeContext.destination:type_name -> google.rpc.context.AttributeContext.Peer
  1145  	4,  // 3: google.rpc.context.AttributeContext.request:type_name -> google.rpc.context.AttributeContext.Request
  1146  	5,  // 4: google.rpc.context.AttributeContext.response:type_name -> google.rpc.context.AttributeContext.Response
  1147  	6,  // 5: google.rpc.context.AttributeContext.resource:type_name -> google.rpc.context.AttributeContext.Resource
  1148  	2,  // 6: google.rpc.context.AttributeContext.api:type_name -> google.rpc.context.AttributeContext.Api
  1149  	12, // 7: google.rpc.context.AttributeContext.extensions:type_name -> google.protobuf.Any
  1150  	7,  // 8: google.rpc.context.AttributeContext.Peer.labels:type_name -> google.rpc.context.AttributeContext.Peer.LabelsEntry
  1151  	13, // 9: google.rpc.context.AttributeContext.Auth.claims:type_name -> google.protobuf.Struct
  1152  	8,  // 10: google.rpc.context.AttributeContext.Request.headers:type_name -> google.rpc.context.AttributeContext.Request.HeadersEntry
  1153  	14, // 11: google.rpc.context.AttributeContext.Request.time:type_name -> google.protobuf.Timestamp
  1154  	3,  // 12: google.rpc.context.AttributeContext.Request.auth:type_name -> google.rpc.context.AttributeContext.Auth
  1155  	9,  // 13: google.rpc.context.AttributeContext.Response.headers:type_name -> google.rpc.context.AttributeContext.Response.HeadersEntry
  1156  	14, // 14: google.rpc.context.AttributeContext.Response.time:type_name -> google.protobuf.Timestamp
  1157  	15, // 15: google.rpc.context.AttributeContext.Response.backend_latency:type_name -> google.protobuf.Duration
  1158  	10, // 16: google.rpc.context.AttributeContext.Resource.labels:type_name -> google.rpc.context.AttributeContext.Resource.LabelsEntry
  1159  	11, // 17: google.rpc.context.AttributeContext.Resource.annotations:type_name -> google.rpc.context.AttributeContext.Resource.AnnotationsEntry
  1160  	14, // 18: google.rpc.context.AttributeContext.Resource.create_time:type_name -> google.protobuf.Timestamp
  1161  	14, // 19: google.rpc.context.AttributeContext.Resource.update_time:type_name -> google.protobuf.Timestamp
  1162  	14, // 20: google.rpc.context.AttributeContext.Resource.delete_time:type_name -> google.protobuf.Timestamp
  1163  	21, // [21:21] is the sub-list for method output_type
  1164  	21, // [21:21] is the sub-list for method input_type
  1165  	21, // [21:21] is the sub-list for extension type_name
  1166  	21, // [21:21] is the sub-list for extension extendee
  1167  	0,  // [0:21] is the sub-list for field type_name
  1168  }
  1169  
  1170  func init() { file_google_rpc_context_attribute_context_proto_init() }
  1171  func file_google_rpc_context_attribute_context_proto_init() {
  1172  	if File_google_rpc_context_attribute_context_proto != nil {
  1173  		return
  1174  	}
  1175  	if !protoimpl.UnsafeEnabled {
  1176  		file_google_rpc_context_attribute_context_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1177  			switch v := v.(*AttributeContext); i {
  1178  			case 0:
  1179  				return &v.state
  1180  			case 1:
  1181  				return &v.sizeCache
  1182  			case 2:
  1183  				return &v.unknownFields
  1184  			default:
  1185  				return nil
  1186  			}
  1187  		}
  1188  		file_google_rpc_context_attribute_context_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1189  			switch v := v.(*AttributeContext_Peer); i {
  1190  			case 0:
  1191  				return &v.state
  1192  			case 1:
  1193  				return &v.sizeCache
  1194  			case 2:
  1195  				return &v.unknownFields
  1196  			default:
  1197  				return nil
  1198  			}
  1199  		}
  1200  		file_google_rpc_context_attribute_context_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1201  			switch v := v.(*AttributeContext_Api); i {
  1202  			case 0:
  1203  				return &v.state
  1204  			case 1:
  1205  				return &v.sizeCache
  1206  			case 2:
  1207  				return &v.unknownFields
  1208  			default:
  1209  				return nil
  1210  			}
  1211  		}
  1212  		file_google_rpc_context_attribute_context_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1213  			switch v := v.(*AttributeContext_Auth); i {
  1214  			case 0:
  1215  				return &v.state
  1216  			case 1:
  1217  				return &v.sizeCache
  1218  			case 2:
  1219  				return &v.unknownFields
  1220  			default:
  1221  				return nil
  1222  			}
  1223  		}
  1224  		file_google_rpc_context_attribute_context_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1225  			switch v := v.(*AttributeContext_Request); i {
  1226  			case 0:
  1227  				return &v.state
  1228  			case 1:
  1229  				return &v.sizeCache
  1230  			case 2:
  1231  				return &v.unknownFields
  1232  			default:
  1233  				return nil
  1234  			}
  1235  		}
  1236  		file_google_rpc_context_attribute_context_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1237  			switch v := v.(*AttributeContext_Response); i {
  1238  			case 0:
  1239  				return &v.state
  1240  			case 1:
  1241  				return &v.sizeCache
  1242  			case 2:
  1243  				return &v.unknownFields
  1244  			default:
  1245  				return nil
  1246  			}
  1247  		}
  1248  		file_google_rpc_context_attribute_context_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1249  			switch v := v.(*AttributeContext_Resource); i {
  1250  			case 0:
  1251  				return &v.state
  1252  			case 1:
  1253  				return &v.sizeCache
  1254  			case 2:
  1255  				return &v.unknownFields
  1256  			default:
  1257  				return nil
  1258  			}
  1259  		}
  1260  	}
  1261  	type x struct{}
  1262  	out := protoimpl.TypeBuilder{
  1263  		File: protoimpl.DescBuilder{
  1264  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1265  			RawDescriptor: file_google_rpc_context_attribute_context_proto_rawDesc,
  1266  			NumEnums:      0,
  1267  			NumMessages:   12,
  1268  			NumExtensions: 0,
  1269  			NumServices:   0,
  1270  		},
  1271  		GoTypes:           file_google_rpc_context_attribute_context_proto_goTypes,
  1272  		DependencyIndexes: file_google_rpc_context_attribute_context_proto_depIdxs,
  1273  		MessageInfos:      file_google_rpc_context_attribute_context_proto_msgTypes,
  1274  	}.Build()
  1275  	File_google_rpc_context_attribute_context_proto = out.File
  1276  	file_google_rpc_context_attribute_context_proto_rawDesc = nil
  1277  	file_google_rpc_context_attribute_context_proto_goTypes = nil
  1278  	file_google_rpc_context_attribute_context_proto_depIdxs = nil
  1279  }
  1280  

View as plain text