error_details.pb.go raw
1 // Copyright 2025 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 must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
84 // ideally be lowerCamelCase. Also, they must be limited to 64 characters in
85 // length. When identifying the current value of an exceeded limit, the units
86 // should be contained in the key, not the value. For example, rather than
87 // `{"instanceLimit": "100/request"}`, should be returned as,
88 // `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
89 // instances that can be created in a single (batch) request.
90 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"`
91 }
92
93 func (x *ErrorInfo) Reset() {
94 *x = ErrorInfo{}
95 if protoimpl.UnsafeEnabled {
96 mi := &file_google_rpc_error_details_proto_msgTypes[0]
97 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
98 ms.StoreMessageInfo(mi)
99 }
100 }
101
102 func (x *ErrorInfo) String() string {
103 return protoimpl.X.MessageStringOf(x)
104 }
105
106 func (*ErrorInfo) ProtoMessage() {}
107
108 func (x *ErrorInfo) ProtoReflect() protoreflect.Message {
109 mi := &file_google_rpc_error_details_proto_msgTypes[0]
110 if protoimpl.UnsafeEnabled && x != nil {
111 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
112 if ms.LoadMessageInfo() == nil {
113 ms.StoreMessageInfo(mi)
114 }
115 return ms
116 }
117 return mi.MessageOf(x)
118 }
119
120 // Deprecated: Use ErrorInfo.ProtoReflect.Descriptor instead.
121 func (*ErrorInfo) Descriptor() ([]byte, []int) {
122 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{0}
123 }
124
125 func (x *ErrorInfo) GetReason() string {
126 if x != nil {
127 return x.Reason
128 }
129 return ""
130 }
131
132 func (x *ErrorInfo) GetDomain() string {
133 if x != nil {
134 return x.Domain
135 }
136 return ""
137 }
138
139 func (x *ErrorInfo) GetMetadata() map[string]string {
140 if x != nil {
141 return x.Metadata
142 }
143 return nil
144 }
145
146 // Describes when the clients can retry a failed request. Clients could ignore
147 // the recommendation here or retry when this information is missing from error
148 // responses.
149 //
150 // It's always recommended that clients should use exponential backoff when
151 // retrying.
152 //
153 // Clients should wait until `retry_delay` amount of time has passed since
154 // receiving the error response before retrying. If retrying requests also
155 // fail, clients should use an exponential backoff scheme to gradually increase
156 // the delay between retries based on `retry_delay`, until either a maximum
157 // number of retries have been reached or a maximum retry delay cap has been
158 // reached.
159 type RetryInfo struct {
160 state protoimpl.MessageState
161 sizeCache protoimpl.SizeCache
162 unknownFields protoimpl.UnknownFields
163
164 // Clients should wait at least this long between retrying the same request.
165 RetryDelay *durationpb.Duration `protobuf:"bytes,1,opt,name=retry_delay,json=retryDelay,proto3" json:"retry_delay,omitempty"`
166 }
167
168 func (x *RetryInfo) Reset() {
169 *x = RetryInfo{}
170 if protoimpl.UnsafeEnabled {
171 mi := &file_google_rpc_error_details_proto_msgTypes[1]
172 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
173 ms.StoreMessageInfo(mi)
174 }
175 }
176
177 func (x *RetryInfo) String() string {
178 return protoimpl.X.MessageStringOf(x)
179 }
180
181 func (*RetryInfo) ProtoMessage() {}
182
183 func (x *RetryInfo) ProtoReflect() protoreflect.Message {
184 mi := &file_google_rpc_error_details_proto_msgTypes[1]
185 if protoimpl.UnsafeEnabled && x != nil {
186 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
187 if ms.LoadMessageInfo() == nil {
188 ms.StoreMessageInfo(mi)
189 }
190 return ms
191 }
192 return mi.MessageOf(x)
193 }
194
195 // Deprecated: Use RetryInfo.ProtoReflect.Descriptor instead.
196 func (*RetryInfo) Descriptor() ([]byte, []int) {
197 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{1}
198 }
199
200 func (x *RetryInfo) GetRetryDelay() *durationpb.Duration {
201 if x != nil {
202 return x.RetryDelay
203 }
204 return nil
205 }
206
207 // Describes additional debugging info.
208 type DebugInfo struct {
209 state protoimpl.MessageState
210 sizeCache protoimpl.SizeCache
211 unknownFields protoimpl.UnknownFields
212
213 // The stack trace entries indicating where the error occurred.
214 StackEntries []string `protobuf:"bytes,1,rep,name=stack_entries,json=stackEntries,proto3" json:"stack_entries,omitempty"`
215 // Additional debugging information provided by the server.
216 Detail string `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"`
217 }
218
219 func (x *DebugInfo) Reset() {
220 *x = DebugInfo{}
221 if protoimpl.UnsafeEnabled {
222 mi := &file_google_rpc_error_details_proto_msgTypes[2]
223 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
224 ms.StoreMessageInfo(mi)
225 }
226 }
227
228 func (x *DebugInfo) String() string {
229 return protoimpl.X.MessageStringOf(x)
230 }
231
232 func (*DebugInfo) ProtoMessage() {}
233
234 func (x *DebugInfo) ProtoReflect() protoreflect.Message {
235 mi := &file_google_rpc_error_details_proto_msgTypes[2]
236 if protoimpl.UnsafeEnabled && x != nil {
237 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
238 if ms.LoadMessageInfo() == nil {
239 ms.StoreMessageInfo(mi)
240 }
241 return ms
242 }
243 return mi.MessageOf(x)
244 }
245
246 // Deprecated: Use DebugInfo.ProtoReflect.Descriptor instead.
247 func (*DebugInfo) Descriptor() ([]byte, []int) {
248 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{2}
249 }
250
251 func (x *DebugInfo) GetStackEntries() []string {
252 if x != nil {
253 return x.StackEntries
254 }
255 return nil
256 }
257
258 func (x *DebugInfo) GetDetail() string {
259 if x != nil {
260 return x.Detail
261 }
262 return ""
263 }
264
265 // Describes how a quota check failed.
266 //
267 // For example if a daily limit was exceeded for the calling project,
268 // a service could respond with a QuotaFailure detail containing the project
269 // id and the description of the quota limit that was exceeded. If the
270 // calling project hasn't enabled the service in the developer console, then
271 // a service could respond with the project id and set `service_disabled`
272 // to true.
273 //
274 // Also see RetryInfo and Help types for other details about handling a
275 // quota failure.
276 type QuotaFailure struct {
277 state protoimpl.MessageState
278 sizeCache protoimpl.SizeCache
279 unknownFields protoimpl.UnknownFields
280
281 // Describes all quota violations.
282 Violations []*QuotaFailure_Violation `protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"`
283 }
284
285 func (x *QuotaFailure) Reset() {
286 *x = QuotaFailure{}
287 if protoimpl.UnsafeEnabled {
288 mi := &file_google_rpc_error_details_proto_msgTypes[3]
289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
290 ms.StoreMessageInfo(mi)
291 }
292 }
293
294 func (x *QuotaFailure) String() string {
295 return protoimpl.X.MessageStringOf(x)
296 }
297
298 func (*QuotaFailure) ProtoMessage() {}
299
300 func (x *QuotaFailure) ProtoReflect() protoreflect.Message {
301 mi := &file_google_rpc_error_details_proto_msgTypes[3]
302 if protoimpl.UnsafeEnabled && x != nil {
303 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
304 if ms.LoadMessageInfo() == nil {
305 ms.StoreMessageInfo(mi)
306 }
307 return ms
308 }
309 return mi.MessageOf(x)
310 }
311
312 // Deprecated: Use QuotaFailure.ProtoReflect.Descriptor instead.
313 func (*QuotaFailure) Descriptor() ([]byte, []int) {
314 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{3}
315 }
316
317 func (x *QuotaFailure) GetViolations() []*QuotaFailure_Violation {
318 if x != nil {
319 return x.Violations
320 }
321 return nil
322 }
323
324 // Describes what preconditions have failed.
325 //
326 // For example, if an RPC failed because it required the Terms of Service to be
327 // acknowledged, it could list the terms of service violation in the
328 // PreconditionFailure message.
329 type PreconditionFailure struct {
330 state protoimpl.MessageState
331 sizeCache protoimpl.SizeCache
332 unknownFields protoimpl.UnknownFields
333
334 // Describes all precondition violations.
335 Violations []*PreconditionFailure_Violation `protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"`
336 }
337
338 func (x *PreconditionFailure) Reset() {
339 *x = PreconditionFailure{}
340 if protoimpl.UnsafeEnabled {
341 mi := &file_google_rpc_error_details_proto_msgTypes[4]
342 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
343 ms.StoreMessageInfo(mi)
344 }
345 }
346
347 func (x *PreconditionFailure) String() string {
348 return protoimpl.X.MessageStringOf(x)
349 }
350
351 func (*PreconditionFailure) ProtoMessage() {}
352
353 func (x *PreconditionFailure) ProtoReflect() protoreflect.Message {
354 mi := &file_google_rpc_error_details_proto_msgTypes[4]
355 if protoimpl.UnsafeEnabled && x != nil {
356 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
357 if ms.LoadMessageInfo() == nil {
358 ms.StoreMessageInfo(mi)
359 }
360 return ms
361 }
362 return mi.MessageOf(x)
363 }
364
365 // Deprecated: Use PreconditionFailure.ProtoReflect.Descriptor instead.
366 func (*PreconditionFailure) Descriptor() ([]byte, []int) {
367 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{4}
368 }
369
370 func (x *PreconditionFailure) GetViolations() []*PreconditionFailure_Violation {
371 if x != nil {
372 return x.Violations
373 }
374 return nil
375 }
376
377 // Describes violations in a client request. This error type focuses on the
378 // syntactic aspects of the request.
379 type BadRequest struct {
380 state protoimpl.MessageState
381 sizeCache protoimpl.SizeCache
382 unknownFields protoimpl.UnknownFields
383
384 // Describes all violations in a client request.
385 FieldViolations []*BadRequest_FieldViolation `protobuf:"bytes,1,rep,name=field_violations,json=fieldViolations,proto3" json:"field_violations,omitempty"`
386 }
387
388 func (x *BadRequest) Reset() {
389 *x = BadRequest{}
390 if protoimpl.UnsafeEnabled {
391 mi := &file_google_rpc_error_details_proto_msgTypes[5]
392 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
393 ms.StoreMessageInfo(mi)
394 }
395 }
396
397 func (x *BadRequest) String() string {
398 return protoimpl.X.MessageStringOf(x)
399 }
400
401 func (*BadRequest) ProtoMessage() {}
402
403 func (x *BadRequest) ProtoReflect() protoreflect.Message {
404 mi := &file_google_rpc_error_details_proto_msgTypes[5]
405 if protoimpl.UnsafeEnabled && x != nil {
406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
407 if ms.LoadMessageInfo() == nil {
408 ms.StoreMessageInfo(mi)
409 }
410 return ms
411 }
412 return mi.MessageOf(x)
413 }
414
415 // Deprecated: Use BadRequest.ProtoReflect.Descriptor instead.
416 func (*BadRequest) Descriptor() ([]byte, []int) {
417 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{5}
418 }
419
420 func (x *BadRequest) GetFieldViolations() []*BadRequest_FieldViolation {
421 if x != nil {
422 return x.FieldViolations
423 }
424 return nil
425 }
426
427 // Contains metadata about the request that clients can attach when filing a bug
428 // or providing other forms of feedback.
429 type RequestInfo struct {
430 state protoimpl.MessageState
431 sizeCache protoimpl.SizeCache
432 unknownFields protoimpl.UnknownFields
433
434 // An opaque string that should only be interpreted by the service generating
435 // it. For example, it can be used to identify requests in the service's logs.
436 RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
437 // Any data that was used to serve this request. For example, an encrypted
438 // stack trace that can be sent back to the service provider for debugging.
439 ServingData string `protobuf:"bytes,2,opt,name=serving_data,json=servingData,proto3" json:"serving_data,omitempty"`
440 }
441
442 func (x *RequestInfo) Reset() {
443 *x = RequestInfo{}
444 if protoimpl.UnsafeEnabled {
445 mi := &file_google_rpc_error_details_proto_msgTypes[6]
446 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
447 ms.StoreMessageInfo(mi)
448 }
449 }
450
451 func (x *RequestInfo) String() string {
452 return protoimpl.X.MessageStringOf(x)
453 }
454
455 func (*RequestInfo) ProtoMessage() {}
456
457 func (x *RequestInfo) ProtoReflect() protoreflect.Message {
458 mi := &file_google_rpc_error_details_proto_msgTypes[6]
459 if protoimpl.UnsafeEnabled && x != nil {
460 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
461 if ms.LoadMessageInfo() == nil {
462 ms.StoreMessageInfo(mi)
463 }
464 return ms
465 }
466 return mi.MessageOf(x)
467 }
468
469 // Deprecated: Use RequestInfo.ProtoReflect.Descriptor instead.
470 func (*RequestInfo) Descriptor() ([]byte, []int) {
471 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{6}
472 }
473
474 func (x *RequestInfo) GetRequestId() string {
475 if x != nil {
476 return x.RequestId
477 }
478 return ""
479 }
480
481 func (x *RequestInfo) GetServingData() string {
482 if x != nil {
483 return x.ServingData
484 }
485 return ""
486 }
487
488 // Describes the resource that is being accessed.
489 type ResourceInfo struct {
490 state protoimpl.MessageState
491 sizeCache protoimpl.SizeCache
492 unknownFields protoimpl.UnknownFields
493
494 // A name for the type of resource being accessed, e.g. "sql table",
495 // "cloud storage bucket", "file", "Google calendar"; or the type URL
496 // of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic".
497 ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
498 // The name of the resource being accessed. For example, a shared calendar
499 // name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current
500 // error is
501 // [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].
502 ResourceName string `protobuf:"bytes,2,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
503 // The owner of the resource (optional).
504 // For example, "user:<owner email>" or "project:<Google developer project
505 // id>".
506 Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"`
507 // Describes what error is encountered when accessing this resource.
508 // For example, updating a cloud project may require the `writer` permission
509 // on the developer console project.
510 Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
511 }
512
513 func (x *ResourceInfo) Reset() {
514 *x = ResourceInfo{}
515 if protoimpl.UnsafeEnabled {
516 mi := &file_google_rpc_error_details_proto_msgTypes[7]
517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
518 ms.StoreMessageInfo(mi)
519 }
520 }
521
522 func (x *ResourceInfo) String() string {
523 return protoimpl.X.MessageStringOf(x)
524 }
525
526 func (*ResourceInfo) ProtoMessage() {}
527
528 func (x *ResourceInfo) ProtoReflect() protoreflect.Message {
529 mi := &file_google_rpc_error_details_proto_msgTypes[7]
530 if protoimpl.UnsafeEnabled && x != nil {
531 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
532 if ms.LoadMessageInfo() == nil {
533 ms.StoreMessageInfo(mi)
534 }
535 return ms
536 }
537 return mi.MessageOf(x)
538 }
539
540 // Deprecated: Use ResourceInfo.ProtoReflect.Descriptor instead.
541 func (*ResourceInfo) Descriptor() ([]byte, []int) {
542 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{7}
543 }
544
545 func (x *ResourceInfo) GetResourceType() string {
546 if x != nil {
547 return x.ResourceType
548 }
549 return ""
550 }
551
552 func (x *ResourceInfo) GetResourceName() string {
553 if x != nil {
554 return x.ResourceName
555 }
556 return ""
557 }
558
559 func (x *ResourceInfo) GetOwner() string {
560 if x != nil {
561 return x.Owner
562 }
563 return ""
564 }
565
566 func (x *ResourceInfo) GetDescription() string {
567 if x != nil {
568 return x.Description
569 }
570 return ""
571 }
572
573 // Provides links to documentation or for performing an out of band action.
574 //
575 // For example, if a quota check failed with an error indicating the calling
576 // project hasn't enabled the accessed service, this can contain a URL pointing
577 // directly to the right place in the developer console to flip the bit.
578 type Help struct {
579 state protoimpl.MessageState
580 sizeCache protoimpl.SizeCache
581 unknownFields protoimpl.UnknownFields
582
583 // URL(s) pointing to additional information on handling the current error.
584 Links []*Help_Link `protobuf:"bytes,1,rep,name=links,proto3" json:"links,omitempty"`
585 }
586
587 func (x *Help) Reset() {
588 *x = Help{}
589 if protoimpl.UnsafeEnabled {
590 mi := &file_google_rpc_error_details_proto_msgTypes[8]
591 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
592 ms.StoreMessageInfo(mi)
593 }
594 }
595
596 func (x *Help) String() string {
597 return protoimpl.X.MessageStringOf(x)
598 }
599
600 func (*Help) ProtoMessage() {}
601
602 func (x *Help) ProtoReflect() protoreflect.Message {
603 mi := &file_google_rpc_error_details_proto_msgTypes[8]
604 if protoimpl.UnsafeEnabled && x != nil {
605 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
606 if ms.LoadMessageInfo() == nil {
607 ms.StoreMessageInfo(mi)
608 }
609 return ms
610 }
611 return mi.MessageOf(x)
612 }
613
614 // Deprecated: Use Help.ProtoReflect.Descriptor instead.
615 func (*Help) Descriptor() ([]byte, []int) {
616 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{8}
617 }
618
619 func (x *Help) GetLinks() []*Help_Link {
620 if x != nil {
621 return x.Links
622 }
623 return nil
624 }
625
626 // Provides a localized error message that is safe to return to the user
627 // which can be attached to an RPC error.
628 type LocalizedMessage struct {
629 state protoimpl.MessageState
630 sizeCache protoimpl.SizeCache
631 unknownFields protoimpl.UnknownFields
632
633 // The locale used following the specification defined at
634 // https://www.rfc-editor.org/rfc/bcp/bcp47.txt.
635 // Examples are: "en-US", "fr-CH", "es-MX"
636 Locale string `protobuf:"bytes,1,opt,name=locale,proto3" json:"locale,omitempty"`
637 // The localized error message in the above locale.
638 Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
639 }
640
641 func (x *LocalizedMessage) Reset() {
642 *x = LocalizedMessage{}
643 if protoimpl.UnsafeEnabled {
644 mi := &file_google_rpc_error_details_proto_msgTypes[9]
645 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
646 ms.StoreMessageInfo(mi)
647 }
648 }
649
650 func (x *LocalizedMessage) String() string {
651 return protoimpl.X.MessageStringOf(x)
652 }
653
654 func (*LocalizedMessage) ProtoMessage() {}
655
656 func (x *LocalizedMessage) ProtoReflect() protoreflect.Message {
657 mi := &file_google_rpc_error_details_proto_msgTypes[9]
658 if protoimpl.UnsafeEnabled && x != nil {
659 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
660 if ms.LoadMessageInfo() == nil {
661 ms.StoreMessageInfo(mi)
662 }
663 return ms
664 }
665 return mi.MessageOf(x)
666 }
667
668 // Deprecated: Use LocalizedMessage.ProtoReflect.Descriptor instead.
669 func (*LocalizedMessage) Descriptor() ([]byte, []int) {
670 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{9}
671 }
672
673 func (x *LocalizedMessage) GetLocale() string {
674 if x != nil {
675 return x.Locale
676 }
677 return ""
678 }
679
680 func (x *LocalizedMessage) GetMessage() string {
681 if x != nil {
682 return x.Message
683 }
684 return ""
685 }
686
687 // A message type used to describe a single quota violation. For example, a
688 // daily quota or a custom quota that was exceeded.
689 type QuotaFailure_Violation struct {
690 state protoimpl.MessageState
691 sizeCache protoimpl.SizeCache
692 unknownFields protoimpl.UnknownFields
693
694 // The subject on which the quota check failed.
695 // For example, "clientip:<ip address of client>" or "project:<Google
696 // developer project id>".
697 Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`
698 // A description of how the quota check failed. Clients can use this
699 // description to find more about the quota configuration in the service's
700 // public documentation, or find the relevant quota limit to adjust through
701 // developer console.
702 //
703 // For example: "Service disabled" or "Daily Limit for read operations
704 // exceeded".
705 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
706 // The API Service from which the `QuotaFailure.Violation` orginates. In
707 // some cases, Quota issues originate from an API Service other than the one
708 // that was called. In other words, a dependency of the called API Service
709 // could be the cause of the `QuotaFailure`, and this field would have the
710 // dependency API service name.
711 //
712 // For example, if the called API is Kubernetes Engine API
713 // (container.googleapis.com), and a quota violation occurs in the
714 // Kubernetes Engine API itself, this field would be
715 // "container.googleapis.com". On the other hand, if the quota violation
716 // occurs when the Kubernetes Engine API creates VMs in the Compute Engine
717 // API (compute.googleapis.com), this field would be
718 // "compute.googleapis.com".
719 ApiService string `protobuf:"bytes,3,opt,name=api_service,json=apiService,proto3" json:"api_service,omitempty"`
720 // The metric of the violated quota. A quota metric is a named counter to
721 // measure usage, such as API requests or CPUs. When an activity occurs in a
722 // service, such as Virtual Machine allocation, one or more quota metrics
723 // may be affected.
724 //
725 // For example, "compute.googleapis.com/cpus_per_vm_family",
726 // "storage.googleapis.com/internet_egress_bandwidth".
727 QuotaMetric string `protobuf:"bytes,4,opt,name=quota_metric,json=quotaMetric,proto3" json:"quota_metric,omitempty"`
728 // The id of the violated quota. Also know as "limit name", this is the
729 // unique identifier of a quota in the context of an API service.
730 //
731 // For example, "CPUS-PER-VM-FAMILY-per-project-region".
732 QuotaId string `protobuf:"bytes,5,opt,name=quota_id,json=quotaId,proto3" json:"quota_id,omitempty"`
733 // The dimensions of the violated quota. Every non-global quota is enforced
734 // on a set of dimensions. While quota metric defines what to count, the
735 // dimensions specify for what aspects the counter should be increased.
736 //
737 // For example, the quota "CPUs per region per VM family" enforces a limit
738 // on the metric "compute.googleapis.com/cpus_per_vm_family" on dimensions
739 // "region" and "vm_family". And if the violation occurred in region
740 // "us-central1" and for VM family "n1", the quota_dimensions would be,
741 //
742 // {
743 // "region": "us-central1",
744 // "vm_family": "n1",
745 // }
746 //
747 // When a quota is enforced globally, the quota_dimensions would always be
748 // empty.
749 QuotaDimensions map[string]string `protobuf:"bytes,6,rep,name=quota_dimensions,json=quotaDimensions,proto3" json:"quota_dimensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
750 // The enforced quota value at the time of the `QuotaFailure`.
751 //
752 // For example, if the enforced quota value at the time of the
753 // `QuotaFailure` on the number of CPUs is "10", then the value of this
754 // field would reflect this quantity.
755 QuotaValue int64 `protobuf:"varint,7,opt,name=quota_value,json=quotaValue,proto3" json:"quota_value,omitempty"`
756 // The new quota value being rolled out at the time of the violation. At the
757 // completion of the rollout, this value will be enforced in place of
758 // quota_value. If no rollout is in progress at the time of the violation,
759 // this field is not set.
760 //
761 // For example, if at the time of the violation a rollout is in progress
762 // changing the number of CPUs quota from 10 to 20, 20 would be the value of
763 // this field.
764 FutureQuotaValue *int64 `protobuf:"varint,8,opt,name=future_quota_value,json=futureQuotaValue,proto3,oneof" json:"future_quota_value,omitempty"`
765 }
766
767 func (x *QuotaFailure_Violation) Reset() {
768 *x = QuotaFailure_Violation{}
769 if protoimpl.UnsafeEnabled {
770 mi := &file_google_rpc_error_details_proto_msgTypes[11]
771 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
772 ms.StoreMessageInfo(mi)
773 }
774 }
775
776 func (x *QuotaFailure_Violation) String() string {
777 return protoimpl.X.MessageStringOf(x)
778 }
779
780 func (*QuotaFailure_Violation) ProtoMessage() {}
781
782 func (x *QuotaFailure_Violation) ProtoReflect() protoreflect.Message {
783 mi := &file_google_rpc_error_details_proto_msgTypes[11]
784 if protoimpl.UnsafeEnabled && x != nil {
785 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
786 if ms.LoadMessageInfo() == nil {
787 ms.StoreMessageInfo(mi)
788 }
789 return ms
790 }
791 return mi.MessageOf(x)
792 }
793
794 // Deprecated: Use QuotaFailure_Violation.ProtoReflect.Descriptor instead.
795 func (*QuotaFailure_Violation) Descriptor() ([]byte, []int) {
796 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{3, 0}
797 }
798
799 func (x *QuotaFailure_Violation) GetSubject() string {
800 if x != nil {
801 return x.Subject
802 }
803 return ""
804 }
805
806 func (x *QuotaFailure_Violation) GetDescription() string {
807 if x != nil {
808 return x.Description
809 }
810 return ""
811 }
812
813 func (x *QuotaFailure_Violation) GetApiService() string {
814 if x != nil {
815 return x.ApiService
816 }
817 return ""
818 }
819
820 func (x *QuotaFailure_Violation) GetQuotaMetric() string {
821 if x != nil {
822 return x.QuotaMetric
823 }
824 return ""
825 }
826
827 func (x *QuotaFailure_Violation) GetQuotaId() string {
828 if x != nil {
829 return x.QuotaId
830 }
831 return ""
832 }
833
834 func (x *QuotaFailure_Violation) GetQuotaDimensions() map[string]string {
835 if x != nil {
836 return x.QuotaDimensions
837 }
838 return nil
839 }
840
841 func (x *QuotaFailure_Violation) GetQuotaValue() int64 {
842 if x != nil {
843 return x.QuotaValue
844 }
845 return 0
846 }
847
848 func (x *QuotaFailure_Violation) GetFutureQuotaValue() int64 {
849 if x != nil && x.FutureQuotaValue != nil {
850 return *x.FutureQuotaValue
851 }
852 return 0
853 }
854
855 // A message type used to describe a single precondition failure.
856 type PreconditionFailure_Violation struct {
857 state protoimpl.MessageState
858 sizeCache protoimpl.SizeCache
859 unknownFields protoimpl.UnknownFields
860
861 // The type of PreconditionFailure. We recommend using a service-specific
862 // enum type to define the supported precondition violation subjects. For
863 // example, "TOS" for "Terms of Service violation".
864 Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
865 // The subject, relative to the type, that failed.
866 // For example, "google.com/cloud" relative to the "TOS" type would indicate
867 // which terms of service is being referenced.
868 Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`
869 // A description of how the precondition failed. Developers can use this
870 // description to understand how to fix the failure.
871 //
872 // For example: "Terms of service not accepted".
873 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
874 }
875
876 func (x *PreconditionFailure_Violation) Reset() {
877 *x = PreconditionFailure_Violation{}
878 if protoimpl.UnsafeEnabled {
879 mi := &file_google_rpc_error_details_proto_msgTypes[13]
880 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
881 ms.StoreMessageInfo(mi)
882 }
883 }
884
885 func (x *PreconditionFailure_Violation) String() string {
886 return protoimpl.X.MessageStringOf(x)
887 }
888
889 func (*PreconditionFailure_Violation) ProtoMessage() {}
890
891 func (x *PreconditionFailure_Violation) ProtoReflect() protoreflect.Message {
892 mi := &file_google_rpc_error_details_proto_msgTypes[13]
893 if protoimpl.UnsafeEnabled && x != nil {
894 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
895 if ms.LoadMessageInfo() == nil {
896 ms.StoreMessageInfo(mi)
897 }
898 return ms
899 }
900 return mi.MessageOf(x)
901 }
902
903 // Deprecated: Use PreconditionFailure_Violation.ProtoReflect.Descriptor instead.
904 func (*PreconditionFailure_Violation) Descriptor() ([]byte, []int) {
905 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{4, 0}
906 }
907
908 func (x *PreconditionFailure_Violation) GetType() string {
909 if x != nil {
910 return x.Type
911 }
912 return ""
913 }
914
915 func (x *PreconditionFailure_Violation) GetSubject() string {
916 if x != nil {
917 return x.Subject
918 }
919 return ""
920 }
921
922 func (x *PreconditionFailure_Violation) GetDescription() string {
923 if x != nil {
924 return x.Description
925 }
926 return ""
927 }
928
929 // A message type used to describe a single bad request field.
930 type BadRequest_FieldViolation struct {
931 state protoimpl.MessageState
932 sizeCache protoimpl.SizeCache
933 unknownFields protoimpl.UnknownFields
934
935 // A path that leads to a field in the request body. The value will be a
936 // sequence of dot-separated identifiers that identify a protocol buffer
937 // field.
938 //
939 // Consider the following:
940 //
941 // message CreateContactRequest {
942 // message EmailAddress {
943 // enum Type {
944 // TYPE_UNSPECIFIED = 0;
945 // HOME = 1;
946 // WORK = 2;
947 // }
948 //
949 // optional string email = 1;
950 // repeated EmailType type = 2;
951 // }
952 //
953 // string full_name = 1;
954 // repeated EmailAddress email_addresses = 2;
955 // }
956 //
957 // In this example, in proto `field` could take one of the following values:
958 //
959 // - `full_name` for a violation in the `full_name` value
960 // - `email_addresses[1].email` for a violation in the `email` field of the
961 // first `email_addresses` message
962 // - `email_addresses[3].type[2]` for a violation in the second `type`
963 // value in the third `email_addresses` message.
964 //
965 // In JSON, the same values are represented as:
966 //
967 // - `fullName` for a violation in the `fullName` value
968 // - `emailAddresses[1].email` for a violation in the `email` field of the
969 // first `emailAddresses` message
970 // - `emailAddresses[3].type[2]` for a violation in the second `type`
971 // value in the third `emailAddresses` message.
972 Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
973 // A description of why the request element is bad.
974 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
975 // The reason of the field-level error. This is a constant value that
976 // identifies the proximate cause of the field-level error. It should
977 // uniquely identify the type of the FieldViolation within the scope of the
978 // google.rpc.ErrorInfo.domain. This should be at most 63
979 // characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
980 // which represents UPPER_SNAKE_CASE.
981 Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`
982 // Provides a localized error message for field-level errors that is safe to
983 // return to the API consumer.
984 LocalizedMessage *LocalizedMessage `protobuf:"bytes,4,opt,name=localized_message,json=localizedMessage,proto3" json:"localized_message,omitempty"`
985 }
986
987 func (x *BadRequest_FieldViolation) Reset() {
988 *x = BadRequest_FieldViolation{}
989 if protoimpl.UnsafeEnabled {
990 mi := &file_google_rpc_error_details_proto_msgTypes[14]
991 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
992 ms.StoreMessageInfo(mi)
993 }
994 }
995
996 func (x *BadRequest_FieldViolation) String() string {
997 return protoimpl.X.MessageStringOf(x)
998 }
999
1000 func (*BadRequest_FieldViolation) ProtoMessage() {}
1001
1002 func (x *BadRequest_FieldViolation) ProtoReflect() protoreflect.Message {
1003 mi := &file_google_rpc_error_details_proto_msgTypes[14]
1004 if protoimpl.UnsafeEnabled && x != nil {
1005 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1006 if ms.LoadMessageInfo() == nil {
1007 ms.StoreMessageInfo(mi)
1008 }
1009 return ms
1010 }
1011 return mi.MessageOf(x)
1012 }
1013
1014 // Deprecated: Use BadRequest_FieldViolation.ProtoReflect.Descriptor instead.
1015 func (*BadRequest_FieldViolation) Descriptor() ([]byte, []int) {
1016 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{5, 0}
1017 }
1018
1019 func (x *BadRequest_FieldViolation) GetField() string {
1020 if x != nil {
1021 return x.Field
1022 }
1023 return ""
1024 }
1025
1026 func (x *BadRequest_FieldViolation) GetDescription() string {
1027 if x != nil {
1028 return x.Description
1029 }
1030 return ""
1031 }
1032
1033 func (x *BadRequest_FieldViolation) GetReason() string {
1034 if x != nil {
1035 return x.Reason
1036 }
1037 return ""
1038 }
1039
1040 func (x *BadRequest_FieldViolation) GetLocalizedMessage() *LocalizedMessage {
1041 if x != nil {
1042 return x.LocalizedMessage
1043 }
1044 return nil
1045 }
1046
1047 // Describes a URL link.
1048 type Help_Link struct {
1049 state protoimpl.MessageState
1050 sizeCache protoimpl.SizeCache
1051 unknownFields protoimpl.UnknownFields
1052
1053 // Describes what the link offers.
1054 Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
1055 // The URL of the link.
1056 Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
1057 }
1058
1059 func (x *Help_Link) Reset() {
1060 *x = Help_Link{}
1061 if protoimpl.UnsafeEnabled {
1062 mi := &file_google_rpc_error_details_proto_msgTypes[15]
1063 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1064 ms.StoreMessageInfo(mi)
1065 }
1066 }
1067
1068 func (x *Help_Link) String() string {
1069 return protoimpl.X.MessageStringOf(x)
1070 }
1071
1072 func (*Help_Link) ProtoMessage() {}
1073
1074 func (x *Help_Link) ProtoReflect() protoreflect.Message {
1075 mi := &file_google_rpc_error_details_proto_msgTypes[15]
1076 if protoimpl.UnsafeEnabled && x != nil {
1077 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1078 if ms.LoadMessageInfo() == nil {
1079 ms.StoreMessageInfo(mi)
1080 }
1081 return ms
1082 }
1083 return mi.MessageOf(x)
1084 }
1085
1086 // Deprecated: Use Help_Link.ProtoReflect.Descriptor instead.
1087 func (*Help_Link) Descriptor() ([]byte, []int) {
1088 return file_google_rpc_error_details_proto_rawDescGZIP(), []int{8, 0}
1089 }
1090
1091 func (x *Help_Link) GetDescription() string {
1092 if x != nil {
1093 return x.Description
1094 }
1095 return ""
1096 }
1097
1098 func (x *Help_Link) GetUrl() string {
1099 if x != nil {
1100 return x.Url
1101 }
1102 return ""
1103 }
1104
1105 var File_google_rpc_error_details_proto protoreflect.FileDescriptor
1106
1107 var file_google_rpc_error_details_proto_rawDesc = []byte{
1108 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x65, 0x72, 0x72,
1109 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1110 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x1e, 0x67, 0x6f,
1111 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
1112 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a,
1113 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65,
1114 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73,
1115 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01,
1116 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65,
1117 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
1118 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49,
1119 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72,
1120 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d,
1121 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
1122 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
1123 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
1124 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x47, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72,
1125 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x64,
1126 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
1127 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
1128 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x61,
1129 0x79, 0x22, 0x48, 0x0a, 0x09, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23,
1130 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18,
1131 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72,
1132 0x69, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20,
1133 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x8e, 0x04, 0x0a, 0x0c,
1134 0x51, 0x75, 0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x42, 0x0a, 0x0a,
1135 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
1136 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75,
1137 0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61,
1138 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
1139 0x1a, 0xb9, 0x03, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,
1140 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
1141 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
1142 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
1143 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70,
1144 0x69, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
1145 0x0a, 0x61, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x71,
1146 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28,
1147 0x09, 0x52, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x19,
1148 0x0a, 0x08, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
1149 0x52, 0x07, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x10, 0x71, 0x75, 0x6f,
1150 0x74, 0x61, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20,
1151 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,
1152 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69,
1153 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x44, 0x69, 0x6d,
1154 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x71, 0x75,
1155 0x6f, 0x74, 0x61, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a,
1156 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01,
1157 0x28, 0x03, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x31,
1158 0x0a, 0x12, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x76,
1159 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x10, 0x66, 0x75,
1160 0x74, 0x75, 0x72, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01,
1161 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73,
1162 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
1163 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
1164 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
1165 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65,
1166 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbd, 0x01, 0x0a,
1167 0x13, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69,
1168 0x6c, 0x75, 0x72, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f,
1169 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1170 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
1171 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74,
1172 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a,
1173 0x5b, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
1174 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
1175 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
1176 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
1177 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
1178 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x02, 0x0a,
1179 0x0a, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x10, 0x66,
1180 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
1181 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72,
1182 0x70, 0x63, 0x2e, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69,
1183 0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x69,
1184 0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xab, 0x01,
1185 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1186 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
1187 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
1188 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
1189 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
1190 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
1191 0x12, 0x49, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x65,
1192 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
1193 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a,
1194 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
1195 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4f, 0x0a, 0x0b, 0x52,
1196 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65,
1197 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
1198 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72,
1199 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
1200 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x90, 0x01, 0x0a,
1201 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a,
1202 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
1203 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79,
1204 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e,
1205 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75,
1206 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72,
1207 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x20, 0x0a,
1208 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
1209 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
1210 0x6f, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73,
1211 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1212 0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c,
1213 0x69, 0x6e, 0x6b, 0x73, 0x1a, 0x3a, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0b,
1214 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
1215 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
1216 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c,
1217 0x22, 0x44, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73,
1218 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01,
1219 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07,
1220 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d,
1221 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6c, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
1222 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x11, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44,
1223 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67,
1224 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,
1225 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1226 0x61, 0x70, 0x69, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x65, 0x72, 0x72, 0x64, 0x65, 0x74, 0x61,
1227 0x69, 0x6c, 0x73, 0x3b, 0x65, 0x72, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0xa2, 0x02,
1228 0x03, 0x52, 0x50, 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1229 }
1230
1231 var (
1232 file_google_rpc_error_details_proto_rawDescOnce sync.Once
1233 file_google_rpc_error_details_proto_rawDescData = file_google_rpc_error_details_proto_rawDesc
1234 )
1235
1236 func file_google_rpc_error_details_proto_rawDescGZIP() []byte {
1237 file_google_rpc_error_details_proto_rawDescOnce.Do(func() {
1238 file_google_rpc_error_details_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_rpc_error_details_proto_rawDescData)
1239 })
1240 return file_google_rpc_error_details_proto_rawDescData
1241 }
1242
1243 var file_google_rpc_error_details_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
1244 var file_google_rpc_error_details_proto_goTypes = []interface{}{
1245 (*ErrorInfo)(nil), // 0: google.rpc.ErrorInfo
1246 (*RetryInfo)(nil), // 1: google.rpc.RetryInfo
1247 (*DebugInfo)(nil), // 2: google.rpc.DebugInfo
1248 (*QuotaFailure)(nil), // 3: google.rpc.QuotaFailure
1249 (*PreconditionFailure)(nil), // 4: google.rpc.PreconditionFailure
1250 (*BadRequest)(nil), // 5: google.rpc.BadRequest
1251 (*RequestInfo)(nil), // 6: google.rpc.RequestInfo
1252 (*ResourceInfo)(nil), // 7: google.rpc.ResourceInfo
1253 (*Help)(nil), // 8: google.rpc.Help
1254 (*LocalizedMessage)(nil), // 9: google.rpc.LocalizedMessage
1255 nil, // 10: google.rpc.ErrorInfo.MetadataEntry
1256 (*QuotaFailure_Violation)(nil), // 11: google.rpc.QuotaFailure.Violation
1257 nil, // 12: google.rpc.QuotaFailure.Violation.QuotaDimensionsEntry
1258 (*PreconditionFailure_Violation)(nil), // 13: google.rpc.PreconditionFailure.Violation
1259 (*BadRequest_FieldViolation)(nil), // 14: google.rpc.BadRequest.FieldViolation
1260 (*Help_Link)(nil), // 15: google.rpc.Help.Link
1261 (*durationpb.Duration)(nil), // 16: google.protobuf.Duration
1262 }
1263 var file_google_rpc_error_details_proto_depIdxs = []int32{
1264 10, // 0: google.rpc.ErrorInfo.metadata:type_name -> google.rpc.ErrorInfo.MetadataEntry
1265 16, // 1: google.rpc.RetryInfo.retry_delay:type_name -> google.protobuf.Duration
1266 11, // 2: google.rpc.QuotaFailure.violations:type_name -> google.rpc.QuotaFailure.Violation
1267 13, // 3: google.rpc.PreconditionFailure.violations:type_name -> google.rpc.PreconditionFailure.Violation
1268 14, // 4: google.rpc.BadRequest.field_violations:type_name -> google.rpc.BadRequest.FieldViolation
1269 15, // 5: google.rpc.Help.links:type_name -> google.rpc.Help.Link
1270 12, // 6: google.rpc.QuotaFailure.Violation.quota_dimensions:type_name -> google.rpc.QuotaFailure.Violation.QuotaDimensionsEntry
1271 9, // 7: google.rpc.BadRequest.FieldViolation.localized_message:type_name -> google.rpc.LocalizedMessage
1272 8, // [8:8] is the sub-list for method output_type
1273 8, // [8:8] is the sub-list for method input_type
1274 8, // [8:8] is the sub-list for extension type_name
1275 8, // [8:8] is the sub-list for extension extendee
1276 0, // [0:8] is the sub-list for field type_name
1277 }
1278
1279 func init() { file_google_rpc_error_details_proto_init() }
1280 func file_google_rpc_error_details_proto_init() {
1281 if File_google_rpc_error_details_proto != nil {
1282 return
1283 }
1284 if !protoimpl.UnsafeEnabled {
1285 file_google_rpc_error_details_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1286 switch v := v.(*ErrorInfo); i {
1287 case 0:
1288 return &v.state
1289 case 1:
1290 return &v.sizeCache
1291 case 2:
1292 return &v.unknownFields
1293 default:
1294 return nil
1295 }
1296 }
1297 file_google_rpc_error_details_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1298 switch v := v.(*RetryInfo); i {
1299 case 0:
1300 return &v.state
1301 case 1:
1302 return &v.sizeCache
1303 case 2:
1304 return &v.unknownFields
1305 default:
1306 return nil
1307 }
1308 }
1309 file_google_rpc_error_details_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1310 switch v := v.(*DebugInfo); i {
1311 case 0:
1312 return &v.state
1313 case 1:
1314 return &v.sizeCache
1315 case 2:
1316 return &v.unknownFields
1317 default:
1318 return nil
1319 }
1320 }
1321 file_google_rpc_error_details_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1322 switch v := v.(*QuotaFailure); i {
1323 case 0:
1324 return &v.state
1325 case 1:
1326 return &v.sizeCache
1327 case 2:
1328 return &v.unknownFields
1329 default:
1330 return nil
1331 }
1332 }
1333 file_google_rpc_error_details_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1334 switch v := v.(*PreconditionFailure); i {
1335 case 0:
1336 return &v.state
1337 case 1:
1338 return &v.sizeCache
1339 case 2:
1340 return &v.unknownFields
1341 default:
1342 return nil
1343 }
1344 }
1345 file_google_rpc_error_details_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1346 switch v := v.(*BadRequest); i {
1347 case 0:
1348 return &v.state
1349 case 1:
1350 return &v.sizeCache
1351 case 2:
1352 return &v.unknownFields
1353 default:
1354 return nil
1355 }
1356 }
1357 file_google_rpc_error_details_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1358 switch v := v.(*RequestInfo); i {
1359 case 0:
1360 return &v.state
1361 case 1:
1362 return &v.sizeCache
1363 case 2:
1364 return &v.unknownFields
1365 default:
1366 return nil
1367 }
1368 }
1369 file_google_rpc_error_details_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1370 switch v := v.(*ResourceInfo); i {
1371 case 0:
1372 return &v.state
1373 case 1:
1374 return &v.sizeCache
1375 case 2:
1376 return &v.unknownFields
1377 default:
1378 return nil
1379 }
1380 }
1381 file_google_rpc_error_details_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1382 switch v := v.(*Help); i {
1383 case 0:
1384 return &v.state
1385 case 1:
1386 return &v.sizeCache
1387 case 2:
1388 return &v.unknownFields
1389 default:
1390 return nil
1391 }
1392 }
1393 file_google_rpc_error_details_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1394 switch v := v.(*LocalizedMessage); i {
1395 case 0:
1396 return &v.state
1397 case 1:
1398 return &v.sizeCache
1399 case 2:
1400 return &v.unknownFields
1401 default:
1402 return nil
1403 }
1404 }
1405 file_google_rpc_error_details_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
1406 switch v := v.(*QuotaFailure_Violation); i {
1407 case 0:
1408 return &v.state
1409 case 1:
1410 return &v.sizeCache
1411 case 2:
1412 return &v.unknownFields
1413 default:
1414 return nil
1415 }
1416 }
1417 file_google_rpc_error_details_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
1418 switch v := v.(*PreconditionFailure_Violation); i {
1419 case 0:
1420 return &v.state
1421 case 1:
1422 return &v.sizeCache
1423 case 2:
1424 return &v.unknownFields
1425 default:
1426 return nil
1427 }
1428 }
1429 file_google_rpc_error_details_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
1430 switch v := v.(*BadRequest_FieldViolation); i {
1431 case 0:
1432 return &v.state
1433 case 1:
1434 return &v.sizeCache
1435 case 2:
1436 return &v.unknownFields
1437 default:
1438 return nil
1439 }
1440 }
1441 file_google_rpc_error_details_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
1442 switch v := v.(*Help_Link); i {
1443 case 0:
1444 return &v.state
1445 case 1:
1446 return &v.sizeCache
1447 case 2:
1448 return &v.unknownFields
1449 default:
1450 return nil
1451 }
1452 }
1453 }
1454 file_google_rpc_error_details_proto_msgTypes[11].OneofWrappers = []interface{}{}
1455 type x struct{}
1456 out := protoimpl.TypeBuilder{
1457 File: protoimpl.DescBuilder{
1458 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1459 RawDescriptor: file_google_rpc_error_details_proto_rawDesc,
1460 NumEnums: 0,
1461 NumMessages: 16,
1462 NumExtensions: 0,
1463 NumServices: 0,
1464 },
1465 GoTypes: file_google_rpc_error_details_proto_goTypes,
1466 DependencyIndexes: file_google_rpc_error_details_proto_depIdxs,
1467 MessageInfos: file_google_rpc_error_details_proto_msgTypes,
1468 }.Build()
1469 File_google_rpc_error_details_proto = out.File
1470 file_google_rpc_error_details_proto_rawDesc = nil
1471 file_google_rpc_error_details_proto_goTypes = nil
1472 file_google_rpc_error_details_proto_depIdxs = nil
1473 }
1474