...

Source file src/google.golang.org/genproto/googleapis/rpc/errdetails/error_details.pb.go

Documentation: google.golang.org/genproto/googleapis/rpc/errdetails

     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/error_details.proto
    20  
    21  package errdetails
    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  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // Describes the cause of the error with structured details.
    40  //
    41  // Example of an error when contacting the "pubsub.googleapis.com" API when it
    42  // is not enabled:
    43  //
    44  //	{ "reason": "API_DISABLED"
    45  //	  "domain": "googleapis.com"
    46  //	  "metadata": {
    47  //	    "resource": "projects/123",
    48  //	    "service": "pubsub.googleapis.com"
    49  //	  }
    50  //	}
    51  //
    52  // This response indicates that the pubsub.googleapis.com API is not enabled.
    53  //
    54  // Example of an error that is returned when attempting to create a Spanner
    55  // instance in a region that is out of stock:
    56  //
    57  //	{ "reason": "STOCKOUT"
    58  //	  "domain": "spanner.googleapis.com",
    59  //	  "metadata": {
    60  //	    "availableRegions": "us-central1,us-east2"
    61  //	  }
    62  //	}
    63  type ErrorInfo struct {
    64  	state         protoimpl.MessageState
    65  	sizeCache     protoimpl.SizeCache
    66  	unknownFields protoimpl.UnknownFields
    67  
    68  	// The reason of the error. This is a constant value that identifies the
    69  	// proximate cause of the error. Error reasons are unique within a particular
    70  	// domain of errors. This should be at most 63 characters and match a
    71  	// regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents
    72  	// UPPER_SNAKE_CASE.
    73  	Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"`
    74  	// The logical grouping to which the "reason" belongs. The error domain
    75  	// is typically the registered service name of the tool or product that
    76  	// generates the error. Example: "pubsub.googleapis.com". If the error is
    77  	// generated by some common infrastructure, the error domain must be a
    78  	// globally unique value that identifies the infrastructure. For Google API
    79  	// infrastructure, the error domain is "googleapis.com".
    80  	Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
    81  	// Additional structured details about this error.
    82  	//
    83  	// Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
    84  	// length. When identifying the current value of an exceeded limit, the units
    85  	// should be contained in the key, not the value.  For example, rather than
    86  	// {"instanceLimit": "100/request"}, should be returned as,
    87  	// {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
    88  	// instances that can be created in a single (batch) request.
    89  	Metadata map[string]string `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    90  }
    91  
    92  func (x *ErrorInfo) Reset() {
    93  	*x = ErrorInfo{}
    94  	if protoimpl.UnsafeEnabled {
    95  		mi := &file_google_rpc_error_details_proto_msgTypes[0]
    96  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    97  		ms.StoreMessageInfo(mi)
    98  	}
    99  }
   100  
   101  func (x *ErrorInfo) String() string {
   102  	return protoimpl.X.MessageStringOf(x)
   103  }
   104  
   105  func (*ErrorInfo) ProtoMessage() {}
   106  
   107  func (x *ErrorInfo) ProtoReflect() protoreflect.Message {
   108  	mi := &file_google_rpc_error_details_proto_msgTypes[0]
   109  	if protoimpl.UnsafeEnabled && x != nil {
   110  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   111  		if ms.LoadMessageInfo() == nil {
   112  			ms.StoreMessageInfo(mi)
   113  		}
   114  		return ms
   115  	}
   116  	return mi.MessageOf(x)
   117  }
   118  
   119  // Deprecated: Use ErrorInfo.ProtoReflect.Descriptor instead.
   120  func (*ErrorInfo) Descriptor() ([]byte, []int) {
   121  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{0}
   122  }
   123  
   124  func (x *ErrorInfo) GetReason() string {
   125  	if x != nil {
   126  		return x.Reason
   127  	}
   128  	return ""
   129  }
   130  
   131  func (x *ErrorInfo) GetDomain() string {
   132  	if x != nil {
   133  		return x.Domain
   134  	}
   135  	return ""
   136  }
   137  
   138  func (x *ErrorInfo) GetMetadata() map[string]string {
   139  	if x != nil {
   140  		return x.Metadata
   141  	}
   142  	return nil
   143  }
   144  
   145  // Describes when the clients can retry a failed request. Clients could ignore
   146  // the recommendation here or retry when this information is missing from error
   147  // responses.
   148  //
   149  // It's always recommended that clients should use exponential backoff when
   150  // retrying.
   151  //
   152  // Clients should wait until `retry_delay` amount of time has passed since
   153  // receiving the error response before retrying.  If retrying requests also
   154  // fail, clients should use an exponential backoff scheme to gradually increase
   155  // the delay between retries based on `retry_delay`, until either a maximum
   156  // number of retries have been reached or a maximum retry delay cap has been
   157  // reached.
   158  type RetryInfo struct {
   159  	state         protoimpl.MessageState
   160  	sizeCache     protoimpl.SizeCache
   161  	unknownFields protoimpl.UnknownFields
   162  
   163  	// Clients should wait at least this long between retrying the same request.
   164  	RetryDelay *durationpb.Duration `protobuf:"bytes,1,opt,name=retry_delay,json=retryDelay,proto3" json:"retry_delay,omitempty"`
   165  }
   166  
   167  func (x *RetryInfo) Reset() {
   168  	*x = RetryInfo{}
   169  	if protoimpl.UnsafeEnabled {
   170  		mi := &file_google_rpc_error_details_proto_msgTypes[1]
   171  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   172  		ms.StoreMessageInfo(mi)
   173  	}
   174  }
   175  
   176  func (x *RetryInfo) String() string {
   177  	return protoimpl.X.MessageStringOf(x)
   178  }
   179  
   180  func (*RetryInfo) ProtoMessage() {}
   181  
   182  func (x *RetryInfo) ProtoReflect() protoreflect.Message {
   183  	mi := &file_google_rpc_error_details_proto_msgTypes[1]
   184  	if protoimpl.UnsafeEnabled && x != nil {
   185  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   186  		if ms.LoadMessageInfo() == nil {
   187  			ms.StoreMessageInfo(mi)
   188  		}
   189  		return ms
   190  	}
   191  	return mi.MessageOf(x)
   192  }
   193  
   194  // Deprecated: Use RetryInfo.ProtoReflect.Descriptor instead.
   195  func (*RetryInfo) Descriptor() ([]byte, []int) {
   196  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{1}
   197  }
   198  
   199  func (x *RetryInfo) GetRetryDelay() *durationpb.Duration {
   200  	if x != nil {
   201  		return x.RetryDelay
   202  	}
   203  	return nil
   204  }
   205  
   206  // Describes additional debugging info.
   207  type DebugInfo struct {
   208  	state         protoimpl.MessageState
   209  	sizeCache     protoimpl.SizeCache
   210  	unknownFields protoimpl.UnknownFields
   211  
   212  	// The stack trace entries indicating where the error occurred.
   213  	StackEntries []string `protobuf:"bytes,1,rep,name=stack_entries,json=stackEntries,proto3" json:"stack_entries,omitempty"`
   214  	// Additional debugging information provided by the server.
   215  	Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"`
   216  }
   217  
   218  func (x *DebugInfo) Reset() {
   219  	*x = DebugInfo{}
   220  	if protoimpl.UnsafeEnabled {
   221  		mi := &file_google_rpc_error_details_proto_msgTypes[2]
   222  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   223  		ms.StoreMessageInfo(mi)
   224  	}
   225  }
   226  
   227  func (x *DebugInfo) String() string {
   228  	return protoimpl.X.MessageStringOf(x)
   229  }
   230  
   231  func (*DebugInfo) ProtoMessage() {}
   232  
   233  func (x *DebugInfo) ProtoReflect() protoreflect.Message {
   234  	mi := &file_google_rpc_error_details_proto_msgTypes[2]
   235  	if protoimpl.UnsafeEnabled && x != nil {
   236  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   237  		if ms.LoadMessageInfo() == nil {
   238  			ms.StoreMessageInfo(mi)
   239  		}
   240  		return ms
   241  	}
   242  	return mi.MessageOf(x)
   243  }
   244  
   245  // Deprecated: Use DebugInfo.ProtoReflect.Descriptor instead.
   246  func (*DebugInfo) Descriptor() ([]byte, []int) {
   247  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{2}
   248  }
   249  
   250  func (x *DebugInfo) GetStackEntries() []string {
   251  	if x != nil {
   252  		return x.StackEntries
   253  	}
   254  	return nil
   255  }
   256  
   257  func (x *DebugInfo) GetDetail() string {
   258  	if x != nil {
   259  		return x.Detail
   260  	}
   261  	return ""
   262  }
   263  
   264  // Describes how a quota check failed.
   265  //
   266  // For example if a daily limit was exceeded for the calling project,
   267  // a service could respond with a QuotaFailure detail containing the project
   268  // id and the description of the quota limit that was exceeded.  If the
   269  // calling project hasn't enabled the service in the developer console, then
   270  // a service could respond with the project id and set `service_disabled`
   271  // to true.
   272  //
   273  // Also see RetryInfo and Help types for other details about handling a
   274  // quota failure.
   275  type QuotaFailure struct {
   276  	state         protoimpl.MessageState
   277  	sizeCache     protoimpl.SizeCache
   278  	unknownFields protoimpl.UnknownFields
   279  
   280  	// Describes all quota violations.
   281  	Violations []*QuotaFailure_Violation `protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"`
   282  }
   283  
   284  func (x *QuotaFailure) Reset() {
   285  	*x = QuotaFailure{}
   286  	if protoimpl.UnsafeEnabled {
   287  		mi := &file_google_rpc_error_details_proto_msgTypes[3]
   288  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   289  		ms.StoreMessageInfo(mi)
   290  	}
   291  }
   292  
   293  func (x *QuotaFailure) String() string {
   294  	return protoimpl.X.MessageStringOf(x)
   295  }
   296  
   297  func (*QuotaFailure) ProtoMessage() {}
   298  
   299  func (x *QuotaFailure) ProtoReflect() protoreflect.Message {
   300  	mi := &file_google_rpc_error_details_proto_msgTypes[3]
   301  	if protoimpl.UnsafeEnabled && x != nil {
   302  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   303  		if ms.LoadMessageInfo() == nil {
   304  			ms.StoreMessageInfo(mi)
   305  		}
   306  		return ms
   307  	}
   308  	return mi.MessageOf(x)
   309  }
   310  
   311  // Deprecated: Use QuotaFailure.ProtoReflect.Descriptor instead.
   312  func (*QuotaFailure) Descriptor() ([]byte, []int) {
   313  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{3}
   314  }
   315  
   316  func (x *QuotaFailure) GetViolations() []*QuotaFailure_Violation {
   317  	if x != nil {
   318  		return x.Violations
   319  	}
   320  	return nil
   321  }
   322  
   323  // Describes what preconditions have failed.
   324  //
   325  // For example, if an RPC failed because it required the Terms of Service to be
   326  // acknowledged, it could list the terms of service violation in the
   327  // PreconditionFailure message.
   328  type PreconditionFailure struct {
   329  	state         protoimpl.MessageState
   330  	sizeCache     protoimpl.SizeCache
   331  	unknownFields protoimpl.UnknownFields
   332  
   333  	// Describes all precondition violations.
   334  	Violations []*PreconditionFailure_Violation `protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"`
   335  }
   336  
   337  func (x *PreconditionFailure) Reset() {
   338  	*x = PreconditionFailure{}
   339  	if protoimpl.UnsafeEnabled {
   340  		mi := &file_google_rpc_error_details_proto_msgTypes[4]
   341  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   342  		ms.StoreMessageInfo(mi)
   343  	}
   344  }
   345  
   346  func (x *PreconditionFailure) String() string {
   347  	return protoimpl.X.MessageStringOf(x)
   348  }
   349  
   350  func (*PreconditionFailure) ProtoMessage() {}
   351  
   352  func (x *PreconditionFailure) ProtoReflect() protoreflect.Message {
   353  	mi := &file_google_rpc_error_details_proto_msgTypes[4]
   354  	if protoimpl.UnsafeEnabled && x != nil {
   355  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   356  		if ms.LoadMessageInfo() == nil {
   357  			ms.StoreMessageInfo(mi)
   358  		}
   359  		return ms
   360  	}
   361  	return mi.MessageOf(x)
   362  }
   363  
   364  // Deprecated: Use PreconditionFailure.ProtoReflect.Descriptor instead.
   365  func (*PreconditionFailure) Descriptor() ([]byte, []int) {
   366  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{4}
   367  }
   368  
   369  func (x *PreconditionFailure) GetViolations() []*PreconditionFailure_Violation {
   370  	if x != nil {
   371  		return x.Violations
   372  	}
   373  	return nil
   374  }
   375  
   376  // Describes violations in a client request. This error type focuses on the
   377  // syntactic aspects of the request.
   378  type BadRequest struct {
   379  	state         protoimpl.MessageState
   380  	sizeCache     protoimpl.SizeCache
   381  	unknownFields protoimpl.UnknownFields
   382  
   383  	// Describes all violations in a client request.
   384  	FieldViolations []*BadRequest_FieldViolation `protobuf:"bytes,1,rep,name=field_violations,json=fieldViolations,proto3" json:"field_violations,omitempty"`
   385  }
   386  
   387  func (x *BadRequest) Reset() {
   388  	*x = BadRequest{}
   389  	if protoimpl.UnsafeEnabled {
   390  		mi := &file_google_rpc_error_details_proto_msgTypes[5]
   391  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   392  		ms.StoreMessageInfo(mi)
   393  	}
   394  }
   395  
   396  func (x *BadRequest) String() string {
   397  	return protoimpl.X.MessageStringOf(x)
   398  }
   399  
   400  func (*BadRequest) ProtoMessage() {}
   401  
   402  func (x *BadRequest) ProtoReflect() protoreflect.Message {
   403  	mi := &file_google_rpc_error_details_proto_msgTypes[5]
   404  	if protoimpl.UnsafeEnabled && x != nil {
   405  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   406  		if ms.LoadMessageInfo() == nil {
   407  			ms.StoreMessageInfo(mi)
   408  		}
   409  		return ms
   410  	}
   411  	return mi.MessageOf(x)
   412  }
   413  
   414  // Deprecated: Use BadRequest.ProtoReflect.Descriptor instead.
   415  func (*BadRequest) Descriptor() ([]byte, []int) {
   416  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{5}
   417  }
   418  
   419  func (x *BadRequest) GetFieldViolations() []*BadRequest_FieldViolation {
   420  	if x != nil {
   421  		return x.FieldViolations
   422  	}
   423  	return nil
   424  }
   425  
   426  // Contains metadata about the request that clients can attach when filing a bug
   427  // or providing other forms of feedback.
   428  type RequestInfo struct {
   429  	state         protoimpl.MessageState
   430  	sizeCache     protoimpl.SizeCache
   431  	unknownFields protoimpl.UnknownFields
   432  
   433  	// An opaque string that should only be interpreted by the service generating
   434  	// it. For example, it can be used to identify requests in the service's logs.
   435  	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
   436  	// Any data that was used to serve this request. For example, an encrypted
   437  	// stack trace that can be sent back to the service provider for debugging.
   438  	ServingData string `protobuf:"bytes,2,opt,name=serving_data,json=servingData,proto3" json:"serving_data,omitempty"`
   439  }
   440  
   441  func (x *RequestInfo) Reset() {
   442  	*x = RequestInfo{}
   443  	if protoimpl.UnsafeEnabled {
   444  		mi := &file_google_rpc_error_details_proto_msgTypes[6]
   445  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   446  		ms.StoreMessageInfo(mi)
   447  	}
   448  }
   449  
   450  func (x *RequestInfo) String() string {
   451  	return protoimpl.X.MessageStringOf(x)
   452  }
   453  
   454  func (*RequestInfo) ProtoMessage() {}
   455  
   456  func (x *RequestInfo) ProtoReflect() protoreflect.Message {
   457  	mi := &file_google_rpc_error_details_proto_msgTypes[6]
   458  	if protoimpl.UnsafeEnabled && x != nil {
   459  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   460  		if ms.LoadMessageInfo() == nil {
   461  			ms.StoreMessageInfo(mi)
   462  		}
   463  		return ms
   464  	}
   465  	return mi.MessageOf(x)
   466  }
   467  
   468  // Deprecated: Use RequestInfo.ProtoReflect.Descriptor instead.
   469  func (*RequestInfo) Descriptor() ([]byte, []int) {
   470  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{6}
   471  }
   472  
   473  func (x *RequestInfo) GetRequestId() string {
   474  	if x != nil {
   475  		return x.RequestId
   476  	}
   477  	return ""
   478  }
   479  
   480  func (x *RequestInfo) GetServingData() string {
   481  	if x != nil {
   482  		return x.ServingData
   483  	}
   484  	return ""
   485  }
   486  
   487  // Describes the resource that is being accessed.
   488  type ResourceInfo struct {
   489  	state         protoimpl.MessageState
   490  	sizeCache     protoimpl.SizeCache
   491  	unknownFields protoimpl.UnknownFields
   492  
   493  	// A name for the type of resource being accessed, e.g. "sql table",
   494  	// "cloud storage bucket", "file", "Google calendar"; or the type URL
   495  	// of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic".
   496  	ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
   497  	// The name of the resource being accessed.  For example, a shared calendar
   498  	// name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current
   499  	// error is
   500  	// [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].
   501  	ResourceName string `protobuf:"bytes,2,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
   502  	// The owner of the resource (optional).
   503  	// For example, "user:<owner email>" or "project:<Google developer project
   504  	// id>".
   505  	Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"`
   506  	// Describes what error is encountered when accessing this resource.
   507  	// For example, updating a cloud project may require the `writer` permission
   508  	// on the developer console project.
   509  	Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
   510  }
   511  
   512  func (x *ResourceInfo) Reset() {
   513  	*x = ResourceInfo{}
   514  	if protoimpl.UnsafeEnabled {
   515  		mi := &file_google_rpc_error_details_proto_msgTypes[7]
   516  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   517  		ms.StoreMessageInfo(mi)
   518  	}
   519  }
   520  
   521  func (x *ResourceInfo) String() string {
   522  	return protoimpl.X.MessageStringOf(x)
   523  }
   524  
   525  func (*ResourceInfo) ProtoMessage() {}
   526  
   527  func (x *ResourceInfo) ProtoReflect() protoreflect.Message {
   528  	mi := &file_google_rpc_error_details_proto_msgTypes[7]
   529  	if protoimpl.UnsafeEnabled && x != nil {
   530  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   531  		if ms.LoadMessageInfo() == nil {
   532  			ms.StoreMessageInfo(mi)
   533  		}
   534  		return ms
   535  	}
   536  	return mi.MessageOf(x)
   537  }
   538  
   539  // Deprecated: Use ResourceInfo.ProtoReflect.Descriptor instead.
   540  func (*ResourceInfo) Descriptor() ([]byte, []int) {
   541  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{7}
   542  }
   543  
   544  func (x *ResourceInfo) GetResourceType() string {
   545  	if x != nil {
   546  		return x.ResourceType
   547  	}
   548  	return ""
   549  }
   550  
   551  func (x *ResourceInfo) GetResourceName() string {
   552  	if x != nil {
   553  		return x.ResourceName
   554  	}
   555  	return ""
   556  }
   557  
   558  func (x *ResourceInfo) GetOwner() string {
   559  	if x != nil {
   560  		return x.Owner
   561  	}
   562  	return ""
   563  }
   564  
   565  func (x *ResourceInfo) GetDescription() string {
   566  	if x != nil {
   567  		return x.Description
   568  	}
   569  	return ""
   570  }
   571  
   572  // Provides links to documentation or for performing an out of band action.
   573  //
   574  // For example, if a quota check failed with an error indicating the calling
   575  // project hasn't enabled the accessed service, this can contain a URL pointing
   576  // directly to the right place in the developer console to flip the bit.
   577  type Help struct {
   578  	state         protoimpl.MessageState
   579  	sizeCache     protoimpl.SizeCache
   580  	unknownFields protoimpl.UnknownFields
   581  
   582  	// URL(s) pointing to additional information on handling the current error.
   583  	Links []*Help_Link `protobuf:"bytes,1,rep,name=links,proto3" json:"links,omitempty"`
   584  }
   585  
   586  func (x *Help) Reset() {
   587  	*x = Help{}
   588  	if protoimpl.UnsafeEnabled {
   589  		mi := &file_google_rpc_error_details_proto_msgTypes[8]
   590  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   591  		ms.StoreMessageInfo(mi)
   592  	}
   593  }
   594  
   595  func (x *Help) String() string {
   596  	return protoimpl.X.MessageStringOf(x)
   597  }
   598  
   599  func (*Help) ProtoMessage() {}
   600  
   601  func (x *Help) ProtoReflect() protoreflect.Message {
   602  	mi := &file_google_rpc_error_details_proto_msgTypes[8]
   603  	if protoimpl.UnsafeEnabled && x != nil {
   604  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   605  		if ms.LoadMessageInfo() == nil {
   606  			ms.StoreMessageInfo(mi)
   607  		}
   608  		return ms
   609  	}
   610  	return mi.MessageOf(x)
   611  }
   612  
   613  // Deprecated: Use Help.ProtoReflect.Descriptor instead.
   614  func (*Help) Descriptor() ([]byte, []int) {
   615  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{8}
   616  }
   617  
   618  func (x *Help) GetLinks() []*Help_Link {
   619  	if x != nil {
   620  		return x.Links
   621  	}
   622  	return nil
   623  }
   624  
   625  // Provides a localized error message that is safe to return to the user
   626  // which can be attached to an RPC error.
   627  type LocalizedMessage struct {
   628  	state         protoimpl.MessageState
   629  	sizeCache     protoimpl.SizeCache
   630  	unknownFields protoimpl.UnknownFields
   631  
   632  	// The locale used following the specification defined at
   633  	// https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
   634  	// Examples are: "en-US", "fr-CH", "es-MX"
   635  	Locale string `protobuf:"bytes,1,opt,name=locale,proto3" json:"locale,omitempty"`
   636  	// The localized error message in the above locale.
   637  	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
   638  }
   639  
   640  func (x *LocalizedMessage) Reset() {
   641  	*x = LocalizedMessage{}
   642  	if protoimpl.UnsafeEnabled {
   643  		mi := &file_google_rpc_error_details_proto_msgTypes[9]
   644  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   645  		ms.StoreMessageInfo(mi)
   646  	}
   647  }
   648  
   649  func (x *LocalizedMessage) String() string {
   650  	return protoimpl.X.MessageStringOf(x)
   651  }
   652  
   653  func (*LocalizedMessage) ProtoMessage() {}
   654  
   655  func (x *LocalizedMessage) ProtoReflect() protoreflect.Message {
   656  	mi := &file_google_rpc_error_details_proto_msgTypes[9]
   657  	if protoimpl.UnsafeEnabled && x != nil {
   658  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   659  		if ms.LoadMessageInfo() == nil {
   660  			ms.StoreMessageInfo(mi)
   661  		}
   662  		return ms
   663  	}
   664  	return mi.MessageOf(x)
   665  }
   666  
   667  // Deprecated: Use LocalizedMessage.ProtoReflect.Descriptor instead.
   668  func (*LocalizedMessage) Descriptor() ([]byte, []int) {
   669  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{9}
   670  }
   671  
   672  func (x *LocalizedMessage) GetLocale() string {
   673  	if x != nil {
   674  		return x.Locale
   675  	}
   676  	return ""
   677  }
   678  
   679  func (x *LocalizedMessage) GetMessage() string {
   680  	if x != nil {
   681  		return x.Message
   682  	}
   683  	return ""
   684  }
   685  
   686  // A message type used to describe a single quota violation.  For example, a
   687  // daily quota or a custom quota that was exceeded.
   688  type QuotaFailure_Violation struct {
   689  	state         protoimpl.MessageState
   690  	sizeCache     protoimpl.SizeCache
   691  	unknownFields protoimpl.UnknownFields
   692  
   693  	// The subject on which the quota check failed.
   694  	// For example, "clientip:<ip address of client>" or "project:<Google
   695  	// developer project id>".
   696  	Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`
   697  	// A description of how the quota check failed. Clients can use this
   698  	// description to find more about the quota configuration in the service's
   699  	// public documentation, or find the relevant quota limit to adjust through
   700  	// developer console.
   701  	//
   702  	// For example: "Service disabled" or "Daily Limit for read operations
   703  	// exceeded".
   704  	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
   705  }
   706  
   707  func (x *QuotaFailure_Violation) Reset() {
   708  	*x = QuotaFailure_Violation{}
   709  	if protoimpl.UnsafeEnabled {
   710  		mi := &file_google_rpc_error_details_proto_msgTypes[11]
   711  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   712  		ms.StoreMessageInfo(mi)
   713  	}
   714  }
   715  
   716  func (x *QuotaFailure_Violation) String() string {
   717  	return protoimpl.X.MessageStringOf(x)
   718  }
   719  
   720  func (*QuotaFailure_Violation) ProtoMessage() {}
   721  
   722  func (x *QuotaFailure_Violation) ProtoReflect() protoreflect.Message {
   723  	mi := &file_google_rpc_error_details_proto_msgTypes[11]
   724  	if protoimpl.UnsafeEnabled && x != nil {
   725  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   726  		if ms.LoadMessageInfo() == nil {
   727  			ms.StoreMessageInfo(mi)
   728  		}
   729  		return ms
   730  	}
   731  	return mi.MessageOf(x)
   732  }
   733  
   734  // Deprecated: Use QuotaFailure_Violation.ProtoReflect.Descriptor instead.
   735  func (*QuotaFailure_Violation) Descriptor() ([]byte, []int) {
   736  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{3, 0}
   737  }
   738  
   739  func (x *QuotaFailure_Violation) GetSubject() string {
   740  	if x != nil {
   741  		return x.Subject
   742  	}
   743  	return ""
   744  }
   745  
   746  func (x *QuotaFailure_Violation) GetDescription() string {
   747  	if x != nil {
   748  		return x.Description
   749  	}
   750  	return ""
   751  }
   752  
   753  // A message type used to describe a single precondition failure.
   754  type PreconditionFailure_Violation struct {
   755  	state         protoimpl.MessageState
   756  	sizeCache     protoimpl.SizeCache
   757  	unknownFields protoimpl.UnknownFields
   758  
   759  	// The type of PreconditionFailure. We recommend using a service-specific
   760  	// enum type to define the supported precondition violation subjects. For
   761  	// example, "TOS" for "Terms of Service violation".
   762  	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
   763  	// The subject, relative to the type, that failed.
   764  	// For example, "google.com/cloud" relative to the "TOS" type would indicate
   765  	// which terms of service is being referenced.
   766  	Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`
   767  	// A description of how the precondition failed. Developers can use this
   768  	// description to understand how to fix the failure.
   769  	//
   770  	// For example: "Terms of service not accepted".
   771  	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
   772  }
   773  
   774  func (x *PreconditionFailure_Violation) Reset() {
   775  	*x = PreconditionFailure_Violation{}
   776  	if protoimpl.UnsafeEnabled {
   777  		mi := &file_google_rpc_error_details_proto_msgTypes[12]
   778  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   779  		ms.StoreMessageInfo(mi)
   780  	}
   781  }
   782  
   783  func (x *PreconditionFailure_Violation) String() string {
   784  	return protoimpl.X.MessageStringOf(x)
   785  }
   786  
   787  func (*PreconditionFailure_Violation) ProtoMessage() {}
   788  
   789  func (x *PreconditionFailure_Violation) ProtoReflect() protoreflect.Message {
   790  	mi := &file_google_rpc_error_details_proto_msgTypes[12]
   791  	if protoimpl.UnsafeEnabled && x != nil {
   792  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   793  		if ms.LoadMessageInfo() == nil {
   794  			ms.StoreMessageInfo(mi)
   795  		}
   796  		return ms
   797  	}
   798  	return mi.MessageOf(x)
   799  }
   800  
   801  // Deprecated: Use PreconditionFailure_Violation.ProtoReflect.Descriptor instead.
   802  func (*PreconditionFailure_Violation) Descriptor() ([]byte, []int) {
   803  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{4, 0}
   804  }
   805  
   806  func (x *PreconditionFailure_Violation) GetType() string {
   807  	if x != nil {
   808  		return x.Type
   809  	}
   810  	return ""
   811  }
   812  
   813  func (x *PreconditionFailure_Violation) GetSubject() string {
   814  	if x != nil {
   815  		return x.Subject
   816  	}
   817  	return ""
   818  }
   819  
   820  func (x *PreconditionFailure_Violation) GetDescription() string {
   821  	if x != nil {
   822  		return x.Description
   823  	}
   824  	return ""
   825  }
   826  
   827  // A message type used to describe a single bad request field.
   828  type BadRequest_FieldViolation struct {
   829  	state         protoimpl.MessageState
   830  	sizeCache     protoimpl.SizeCache
   831  	unknownFields protoimpl.UnknownFields
   832  
   833  	// A path that leads to a field in the request body. The value will be a
   834  	// sequence of dot-separated identifiers that identify a protocol buffer
   835  	// field.
   836  	//
   837  	// Consider the following:
   838  	//
   839  	//	message CreateContactRequest {
   840  	//	  message EmailAddress {
   841  	//	    enum Type {
   842  	//	      TYPE_UNSPECIFIED = 0;
   843  	//	      HOME = 1;
   844  	//	      WORK = 2;
   845  	//	    }
   846  	//
   847  	//	    optional string email = 1;
   848  	//	    repeated EmailType type = 2;
   849  	//	  }
   850  	//
   851  	//	  string full_name = 1;
   852  	//	  repeated EmailAddress email_addresses = 2;
   853  	//	}
   854  	//
   855  	// In this example, in proto `field` could take one of the following values:
   856  	//
   857  	//   - `full_name` for a violation in the `full_name` value
   858  	//   - `email_addresses[1].email` for a violation in the `email` field of the
   859  	//     first `email_addresses` message
   860  	//   - `email_addresses[3].type[2]` for a violation in the second `type`
   861  	//     value in the third `email_addresses` message.
   862  	//
   863  	// In JSON, the same values are represented as:
   864  	//
   865  	//   - `fullName` for a violation in the `fullName` value
   866  	//   - `emailAddresses[1].email` for a violation in the `email` field of the
   867  	//     first `emailAddresses` message
   868  	//   - `emailAddresses[3].type[2]` for a violation in the second `type`
   869  	//     value in the third `emailAddresses` message.
   870  	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
   871  	// A description of why the request element is bad.
   872  	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
   873  }
   874  
   875  func (x *BadRequest_FieldViolation) Reset() {
   876  	*x = BadRequest_FieldViolation{}
   877  	if protoimpl.UnsafeEnabled {
   878  		mi := &file_google_rpc_error_details_proto_msgTypes[13]
   879  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   880  		ms.StoreMessageInfo(mi)
   881  	}
   882  }
   883  
   884  func (x *BadRequest_FieldViolation) String() string {
   885  	return protoimpl.X.MessageStringOf(x)
   886  }
   887  
   888  func (*BadRequest_FieldViolation) ProtoMessage() {}
   889  
   890  func (x *BadRequest_FieldViolation) ProtoReflect() protoreflect.Message {
   891  	mi := &file_google_rpc_error_details_proto_msgTypes[13]
   892  	if protoimpl.UnsafeEnabled && x != nil {
   893  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   894  		if ms.LoadMessageInfo() == nil {
   895  			ms.StoreMessageInfo(mi)
   896  		}
   897  		return ms
   898  	}
   899  	return mi.MessageOf(x)
   900  }
   901  
   902  // Deprecated: Use BadRequest_FieldViolation.ProtoReflect.Descriptor instead.
   903  func (*BadRequest_FieldViolation) Descriptor() ([]byte, []int) {
   904  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{5, 0}
   905  }
   906  
   907  func (x *BadRequest_FieldViolation) GetField() string {
   908  	if x != nil {
   909  		return x.Field
   910  	}
   911  	return ""
   912  }
   913  
   914  func (x *BadRequest_FieldViolation) GetDescription() string {
   915  	if x != nil {
   916  		return x.Description
   917  	}
   918  	return ""
   919  }
   920  
   921  // Describes a URL link.
   922  type Help_Link struct {
   923  	state         protoimpl.MessageState
   924  	sizeCache     protoimpl.SizeCache
   925  	unknownFields protoimpl.UnknownFields
   926  
   927  	// Describes what the link offers.
   928  	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
   929  	// The URL of the link.
   930  	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
   931  }
   932  
   933  func (x *Help_Link) Reset() {
   934  	*x = Help_Link{}
   935  	if protoimpl.UnsafeEnabled {
   936  		mi := &file_google_rpc_error_details_proto_msgTypes[14]
   937  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   938  		ms.StoreMessageInfo(mi)
   939  	}
   940  }
   941  
   942  func (x *Help_Link) String() string {
   943  	return protoimpl.X.MessageStringOf(x)
   944  }
   945  
   946  func (*Help_Link) ProtoMessage() {}
   947  
   948  func (x *Help_Link) ProtoReflect() protoreflect.Message {
   949  	mi := &file_google_rpc_error_details_proto_msgTypes[14]
   950  	if protoimpl.UnsafeEnabled && x != nil {
   951  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   952  		if ms.LoadMessageInfo() == nil {
   953  			ms.StoreMessageInfo(mi)
   954  		}
   955  		return ms
   956  	}
   957  	return mi.MessageOf(x)
   958  }
   959  
   960  // Deprecated: Use Help_Link.ProtoReflect.Descriptor instead.
   961  func (*Help_Link) Descriptor() ([]byte, []int) {
   962  	return file_google_rpc_error_details_proto_rawDescGZIP(), []int{8, 0}
   963  }
   964  
   965  func (x *Help_Link) GetDescription() string {
   966  	if x != nil {
   967  		return x.Description
   968  	}
   969  	return ""
   970  }
   971  
   972  func (x *Help_Link) GetUrl() string {
   973  	if x != nil {
   974  		return x.Url
   975  	}
   976  	return ""
   977  }
   978  
   979  var File_google_rpc_error_details_proto protoreflect.FileDescriptor
   980  
   981  var file_google_rpc_error_details_proto_rawDesc = []byte{
   982  	0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x65, 0x72, 0x72,
   983  	0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   984  	0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x1e, 0x67, 0x6f,
   985  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
   986  	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a,
   987  	0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65,
   988  	0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73,
   989  	0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01,
   990  	0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65,
   991  	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
   992  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49,
   993  	0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72,
   994  	0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d,
   995  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
   996  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
   997  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
   998  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x47, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72,
   999  	0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x64,
  1000  	0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
  1001  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
  1002  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x61,
  1003  	0x79, 0x22, 0x48, 0x0a, 0x09, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23,
  1004  	0x0a, 0x0d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18,
  1005  	0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72,
  1006  	0x69, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20,
  1007  	0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x9b, 0x01, 0x0a, 0x0c,
  1008  	0x51, 0x75, 0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x42, 0x0a, 0x0a,
  1009  	0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
  1010  	0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75,
  1011  	0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61,
  1012  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  1013  	0x1a, 0x47, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
  1014  	0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
  1015  	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
  1016  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
  1017  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x50, 0x72,
  1018  	0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72,
  1019  	0x65, 0x12, 0x49, 0x0a, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  1020  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72,
  1021  	0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46,
  1022  	0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1023  	0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x5b, 0x0a, 0x09,
  1024  	0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
  1025  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a,
  1026  	0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
  1027  	0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
  1028  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
  1029  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x0a, 0x42, 0x61,
  1030  	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x10, 0x66, 0x69, 0x65, 0x6c,
  1031  	0x64, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03,
  1032  	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
  1033  	0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
  1034  	0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x69, 0x65, 0x6c, 0x64,
  1035  	0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x48, 0x0a, 0x0e, 0x46, 0x69,
  1036  	0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05,
  1037  	0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65,
  1038  	0x6c, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
  1039  	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
  1040  	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
  1041  	0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
  1042  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1043  	0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61,
  1044  	0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e,
  1045  	0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x90, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1046  	0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1047  	0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72,
  1048  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72,
  1049  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
  1050  	0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
  1051  	0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  1052  	0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
  1053  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
  1054  	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70,
  1055  	0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1056  	0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x6c,
  1057  	0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x1a, 0x3a, 0x0a,
  1058  	0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
  1059  	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
  1060  	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02,
  1061  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x44, 0x0a, 0x10, 0x4c, 0x6f, 0x63,
  1062  	0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a,
  1063  	0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c,
  1064  	0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
  1065  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42,
  1066  	0x6c, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70,
  1067  	0x63, 0x42, 0x11, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x50,
  1068  	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
  1069  	0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f,
  1070  	0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x72, 0x70,
  1071  	0x63, 0x2f, 0x65, 0x72, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x3b, 0x65, 0x72, 0x72,
  1072  	0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0xa2, 0x02, 0x03, 0x52, 0x50, 0x43, 0x62, 0x06, 0x70,
  1073  	0x72, 0x6f, 0x74, 0x6f, 0x33,
  1074  }
  1075  
  1076  var (
  1077  	file_google_rpc_error_details_proto_rawDescOnce sync.Once
  1078  	file_google_rpc_error_details_proto_rawDescData = file_google_rpc_error_details_proto_rawDesc
  1079  )
  1080  
  1081  func file_google_rpc_error_details_proto_rawDescGZIP() []byte {
  1082  	file_google_rpc_error_details_proto_rawDescOnce.Do(func() {
  1083  		file_google_rpc_error_details_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_rpc_error_details_proto_rawDescData)
  1084  	})
  1085  	return file_google_rpc_error_details_proto_rawDescData
  1086  }
  1087  
  1088  var file_google_rpc_error_details_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
  1089  var file_google_rpc_error_details_proto_goTypes = []interface{}{
  1090  	(*ErrorInfo)(nil),                     // 0: google.rpc.ErrorInfo
  1091  	(*RetryInfo)(nil),                     // 1: google.rpc.RetryInfo
  1092  	(*DebugInfo)(nil),                     // 2: google.rpc.DebugInfo
  1093  	(*QuotaFailure)(nil),                  // 3: google.rpc.QuotaFailure
  1094  	(*PreconditionFailure)(nil),           // 4: google.rpc.PreconditionFailure
  1095  	(*BadRequest)(nil),                    // 5: google.rpc.BadRequest
  1096  	(*RequestInfo)(nil),                   // 6: google.rpc.RequestInfo
  1097  	(*ResourceInfo)(nil),                  // 7: google.rpc.ResourceInfo
  1098  	(*Help)(nil),                          // 8: google.rpc.Help
  1099  	(*LocalizedMessage)(nil),              // 9: google.rpc.LocalizedMessage
  1100  	nil,                                   // 10: google.rpc.ErrorInfo.MetadataEntry
  1101  	(*QuotaFailure_Violation)(nil),        // 11: google.rpc.QuotaFailure.Violation
  1102  	(*PreconditionFailure_Violation)(nil), // 12: google.rpc.PreconditionFailure.Violation
  1103  	(*BadRequest_FieldViolation)(nil),     // 13: google.rpc.BadRequest.FieldViolation
  1104  	(*Help_Link)(nil),                     // 14: google.rpc.Help.Link
  1105  	(*durationpb.Duration)(nil),           // 15: google.protobuf.Duration
  1106  }
  1107  var file_google_rpc_error_details_proto_depIdxs = []int32{
  1108  	10, // 0: google.rpc.ErrorInfo.metadata:type_name -> google.rpc.ErrorInfo.MetadataEntry
  1109  	15, // 1: google.rpc.RetryInfo.retry_delay:type_name -> google.protobuf.Duration
  1110  	11, // 2: google.rpc.QuotaFailure.violations:type_name -> google.rpc.QuotaFailure.Violation
  1111  	12, // 3: google.rpc.PreconditionFailure.violations:type_name -> google.rpc.PreconditionFailure.Violation
  1112  	13, // 4: google.rpc.BadRequest.field_violations:type_name -> google.rpc.BadRequest.FieldViolation
  1113  	14, // 5: google.rpc.Help.links:type_name -> google.rpc.Help.Link
  1114  	6,  // [6:6] is the sub-list for method output_type
  1115  	6,  // [6:6] is the sub-list for method input_type
  1116  	6,  // [6:6] is the sub-list for extension type_name
  1117  	6,  // [6:6] is the sub-list for extension extendee
  1118  	0,  // [0:6] is the sub-list for field type_name
  1119  }
  1120  
  1121  func init() { file_google_rpc_error_details_proto_init() }
  1122  func file_google_rpc_error_details_proto_init() {
  1123  	if File_google_rpc_error_details_proto != nil {
  1124  		return
  1125  	}
  1126  	if !protoimpl.UnsafeEnabled {
  1127  		file_google_rpc_error_details_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1128  			switch v := v.(*ErrorInfo); i {
  1129  			case 0:
  1130  				return &v.state
  1131  			case 1:
  1132  				return &v.sizeCache
  1133  			case 2:
  1134  				return &v.unknownFields
  1135  			default:
  1136  				return nil
  1137  			}
  1138  		}
  1139  		file_google_rpc_error_details_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1140  			switch v := v.(*RetryInfo); i {
  1141  			case 0:
  1142  				return &v.state
  1143  			case 1:
  1144  				return &v.sizeCache
  1145  			case 2:
  1146  				return &v.unknownFields
  1147  			default:
  1148  				return nil
  1149  			}
  1150  		}
  1151  		file_google_rpc_error_details_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1152  			switch v := v.(*DebugInfo); i {
  1153  			case 0:
  1154  				return &v.state
  1155  			case 1:
  1156  				return &v.sizeCache
  1157  			case 2:
  1158  				return &v.unknownFields
  1159  			default:
  1160  				return nil
  1161  			}
  1162  		}
  1163  		file_google_rpc_error_details_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1164  			switch v := v.(*QuotaFailure); i {
  1165  			case 0:
  1166  				return &v.state
  1167  			case 1:
  1168  				return &v.sizeCache
  1169  			case 2:
  1170  				return &v.unknownFields
  1171  			default:
  1172  				return nil
  1173  			}
  1174  		}
  1175  		file_google_rpc_error_details_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1176  			switch v := v.(*PreconditionFailure); 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_error_details_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1188  			switch v := v.(*BadRequest); 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_error_details_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1200  			switch v := v.(*RequestInfo); 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_error_details_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1212  			switch v := v.(*ResourceInfo); 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_error_details_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1224  			switch v := v.(*Help); 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_error_details_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1236  			switch v := v.(*LocalizedMessage); 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_error_details_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1248  			switch v := v.(*QuotaFailure_Violation); 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  		file_google_rpc_error_details_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1260  			switch v := v.(*PreconditionFailure_Violation); i {
  1261  			case 0:
  1262  				return &v.state
  1263  			case 1:
  1264  				return &v.sizeCache
  1265  			case 2:
  1266  				return &v.unknownFields
  1267  			default:
  1268  				return nil
  1269  			}
  1270  		}
  1271  		file_google_rpc_error_details_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  1272  			switch v := v.(*BadRequest_FieldViolation); i {
  1273  			case 0:
  1274  				return &v.state
  1275  			case 1:
  1276  				return &v.sizeCache
  1277  			case 2:
  1278  				return &v.unknownFields
  1279  			default:
  1280  				return nil
  1281  			}
  1282  		}
  1283  		file_google_rpc_error_details_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  1284  			switch v := v.(*Help_Link); i {
  1285  			case 0:
  1286  				return &v.state
  1287  			case 1:
  1288  				return &v.sizeCache
  1289  			case 2:
  1290  				return &v.unknownFields
  1291  			default:
  1292  				return nil
  1293  			}
  1294  		}
  1295  	}
  1296  	type x struct{}
  1297  	out := protoimpl.TypeBuilder{
  1298  		File: protoimpl.DescBuilder{
  1299  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1300  			RawDescriptor: file_google_rpc_error_details_proto_rawDesc,
  1301  			NumEnums:      0,
  1302  			NumMessages:   15,
  1303  			NumExtensions: 0,
  1304  			NumServices:   0,
  1305  		},
  1306  		GoTypes:           file_google_rpc_error_details_proto_goTypes,
  1307  		DependencyIndexes: file_google_rpc_error_details_proto_depIdxs,
  1308  		MessageInfos:      file_google_rpc_error_details_proto_msgTypes,
  1309  	}.Build()
  1310  	File_google_rpc_error_details_proto = out.File
  1311  	file_google_rpc_error_details_proto_rawDesc = nil
  1312  	file_google_rpc_error_details_proto_goTypes = nil
  1313  	file_google_rpc_error_details_proto_depIdxs = nil
  1314  }
  1315  

View as plain text