1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/rpc/error_details.proto
3
4package errdetails
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	duration "github.com/golang/protobuf/ptypes/duration"
12)
13
14// Reference imports to suppress errors if they are not otherwise used.
15var _ = proto.Marshal
16var _ = fmt.Errorf
17var _ = math.Inf
18
19// This is a compile-time assertion to ensure that this generated file
20// is compatible with the proto package it is being compiled against.
21// A compilation error at this line likely means your copy of the
22// proto package needs to be updated.
23const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
24
25// Describes when the clients can retry a failed request. Clients could ignore
26// the recommendation here or retry when this information is missing from error
27// responses.
28//
29// It's always recommended that clients should use exponential backoff when
30// retrying.
31//
32// Clients should wait until `retry_delay` amount of time has passed since
33// receiving the error response before retrying.  If retrying requests also
34// fail, clients should use an exponential backoff scheme to gradually increase
35// the delay between retries based on `retry_delay`, until either a maximum
36// number of retries have been reached or a maximum retry delay cap has been
37// reached.
38type RetryInfo struct {
39	// Clients should wait at least this long between retrying the same request.
40	RetryDelay           *duration.Duration `protobuf:"bytes,1,opt,name=retry_delay,json=retryDelay,proto3" json:"retry_delay,omitempty"`
41	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
42	XXX_unrecognized     []byte             `json:"-"`
43	XXX_sizecache        int32              `json:"-"`
44}
45
46func (m *RetryInfo) Reset()         { *m = RetryInfo{} }
47func (m *RetryInfo) String() string { return proto.CompactTextString(m) }
48func (*RetryInfo) ProtoMessage()    {}
49func (*RetryInfo) Descriptor() ([]byte, []int) {
50	return fileDescriptor_851816e4d6b6361a, []int{0}
51}
52
53func (m *RetryInfo) XXX_Unmarshal(b []byte) error {
54	return xxx_messageInfo_RetryInfo.Unmarshal(m, b)
55}
56func (m *RetryInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
57	return xxx_messageInfo_RetryInfo.Marshal(b, m, deterministic)
58}
59func (m *RetryInfo) XXX_Merge(src proto.Message) {
60	xxx_messageInfo_RetryInfo.Merge(m, src)
61}
62func (m *RetryInfo) XXX_Size() int {
63	return xxx_messageInfo_RetryInfo.Size(m)
64}
65func (m *RetryInfo) XXX_DiscardUnknown() {
66	xxx_messageInfo_RetryInfo.DiscardUnknown(m)
67}
68
69var xxx_messageInfo_RetryInfo proto.InternalMessageInfo
70
71func (m *RetryInfo) GetRetryDelay() *duration.Duration {
72	if m != nil {
73		return m.RetryDelay
74	}
75	return nil
76}
77
78// Describes additional debugging info.
79type DebugInfo struct {
80	// The stack trace entries indicating where the error occurred.
81	StackEntries []string `protobuf:"bytes,1,rep,name=stack_entries,json=stackEntries,proto3" json:"stack_entries,omitempty"`
82	// Additional debugging information provided by the server.
83	Detail               string   `protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"`
84	XXX_NoUnkeyedLiteral struct{} `json:"-"`
85	XXX_unrecognized     []byte   `json:"-"`
86	XXX_sizecache        int32    `json:"-"`
87}
88
89func (m *DebugInfo) Reset()         { *m = DebugInfo{} }
90func (m *DebugInfo) String() string { return proto.CompactTextString(m) }
91func (*DebugInfo) ProtoMessage()    {}
92func (*DebugInfo) Descriptor() ([]byte, []int) {
93	return fileDescriptor_851816e4d6b6361a, []int{1}
94}
95
96func (m *DebugInfo) XXX_Unmarshal(b []byte) error {
97	return xxx_messageInfo_DebugInfo.Unmarshal(m, b)
98}
99func (m *DebugInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
100	return xxx_messageInfo_DebugInfo.Marshal(b, m, deterministic)
101}
102func (m *DebugInfo) XXX_Merge(src proto.Message) {
103	xxx_messageInfo_DebugInfo.Merge(m, src)
104}
105func (m *DebugInfo) XXX_Size() int {
106	return xxx_messageInfo_DebugInfo.Size(m)
107}
108func (m *DebugInfo) XXX_DiscardUnknown() {
109	xxx_messageInfo_DebugInfo.DiscardUnknown(m)
110}
111
112var xxx_messageInfo_DebugInfo proto.InternalMessageInfo
113
114func (m *DebugInfo) GetStackEntries() []string {
115	if m != nil {
116		return m.StackEntries
117	}
118	return nil
119}
120
121func (m *DebugInfo) GetDetail() string {
122	if m != nil {
123		return m.Detail
124	}
125	return ""
126}
127
128// Describes how a quota check failed.
129//
130// For example if a daily limit was exceeded for the calling project,
131// a service could respond with a QuotaFailure detail containing the project
132// id and the description of the quota limit that was exceeded.  If the
133// calling project hasn't enabled the service in the developer console, then
134// a service could respond with the project id and set `service_disabled`
135// to true.
136//
137// Also see RetryInfo and Help types for other details about handling a
138// quota failure.
139type QuotaFailure struct {
140	// Describes all quota violations.
141	Violations           []*QuotaFailure_Violation `protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"`
142	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
143	XXX_unrecognized     []byte                    `json:"-"`
144	XXX_sizecache        int32                     `json:"-"`
145}
146
147func (m *QuotaFailure) Reset()         { *m = QuotaFailure{} }
148func (m *QuotaFailure) String() string { return proto.CompactTextString(m) }
149func (*QuotaFailure) ProtoMessage()    {}
150func (*QuotaFailure) Descriptor() ([]byte, []int) {
151	return fileDescriptor_851816e4d6b6361a, []int{2}
152}
153
154func (m *QuotaFailure) XXX_Unmarshal(b []byte) error {
155	return xxx_messageInfo_QuotaFailure.Unmarshal(m, b)
156}
157func (m *QuotaFailure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
158	return xxx_messageInfo_QuotaFailure.Marshal(b, m, deterministic)
159}
160func (m *QuotaFailure) XXX_Merge(src proto.Message) {
161	xxx_messageInfo_QuotaFailure.Merge(m, src)
162}
163func (m *QuotaFailure) XXX_Size() int {
164	return xxx_messageInfo_QuotaFailure.Size(m)
165}
166func (m *QuotaFailure) XXX_DiscardUnknown() {
167	xxx_messageInfo_QuotaFailure.DiscardUnknown(m)
168}
169
170var xxx_messageInfo_QuotaFailure proto.InternalMessageInfo
171
172func (m *QuotaFailure) GetViolations() []*QuotaFailure_Violation {
173	if m != nil {
174		return m.Violations
175	}
176	return nil
177}
178
179// A message type used to describe a single quota violation.  For example, a
180// daily quota or a custom quota that was exceeded.
181type QuotaFailure_Violation struct {
182	// The subject on which the quota check failed.
183	// For example, "clientip:<ip address of client>" or "project:<Google
184	// developer project id>".
185	Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`
186	// A description of how the quota check failed. Clients can use this
187	// description to find more about the quota configuration in the service's
188	// public documentation, or find the relevant quota limit to adjust through
189	// developer console.
190	//
191	// For example: "Service disabled" or "Daily Limit for read operations
192	// exceeded".
193	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
194	XXX_NoUnkeyedLiteral struct{} `json:"-"`
195	XXX_unrecognized     []byte   `json:"-"`
196	XXX_sizecache        int32    `json:"-"`
197}
198
199func (m *QuotaFailure_Violation) Reset()         { *m = QuotaFailure_Violation{} }
200func (m *QuotaFailure_Violation) String() string { return proto.CompactTextString(m) }
201func (*QuotaFailure_Violation) ProtoMessage()    {}
202func (*QuotaFailure_Violation) Descriptor() ([]byte, []int) {
203	return fileDescriptor_851816e4d6b6361a, []int{2, 0}
204}
205
206func (m *QuotaFailure_Violation) XXX_Unmarshal(b []byte) error {
207	return xxx_messageInfo_QuotaFailure_Violation.Unmarshal(m, b)
208}
209func (m *QuotaFailure_Violation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
210	return xxx_messageInfo_QuotaFailure_Violation.Marshal(b, m, deterministic)
211}
212func (m *QuotaFailure_Violation) XXX_Merge(src proto.Message) {
213	xxx_messageInfo_QuotaFailure_Violation.Merge(m, src)
214}
215func (m *QuotaFailure_Violation) XXX_Size() int {
216	return xxx_messageInfo_QuotaFailure_Violation.Size(m)
217}
218func (m *QuotaFailure_Violation) XXX_DiscardUnknown() {
219	xxx_messageInfo_QuotaFailure_Violation.DiscardUnknown(m)
220}
221
222var xxx_messageInfo_QuotaFailure_Violation proto.InternalMessageInfo
223
224func (m *QuotaFailure_Violation) GetSubject() string {
225	if m != nil {
226		return m.Subject
227	}
228	return ""
229}
230
231func (m *QuotaFailure_Violation) GetDescription() string {
232	if m != nil {
233		return m.Description
234	}
235	return ""
236}
237
238// Describes the cause of the error with structured details.
239//
240// Example of an error when contacting the "pubsub.googleapis.com" API when it
241// is not enabled:
242//     { "reason": "API_DISABLED"
243//       "domain": "googleapis.com"
244//       "metadata": {
245//         "resource": "projects/123",
246//         "service": "pubsub.googleapis.com"
247//       }
248//     }
249// This response indicates that the pubsub.googleapis.com API is not enabled.
250//
251// Example of an error that is returned when attempting to create a Spanner
252// instance in a region that is out of stock:
253//     { "reason": "STOCKOUT"
254//       "domain": "spanner.googleapis.com",
255//       "metadata": {
256//         "availableRegions": "us-central1,us-east2"
257//       }
258//     }
259//
260type ErrorInfo struct {
261	// The reason of the error. This is a constant value that identifies the
262	// proximate cause of the error. Error reasons are unique within a particular
263	// domain of errors. This should be at most 63 characters and match
264	// /[A-Z0-9_]+/.
265	Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"`
266	// The logical grouping to which the "reason" belongs.  Often "domain" will
267	// contain the registered service name of the tool or product that is the
268	// source of the error. Example: "pubsub.googleapis.com". If the error is
269	// common across many APIs, the first segment of the example above will be
270	// omitted.  The value will be, "googleapis.com".
271	Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
272	// Additional structured details about this error.
273	//
274	// Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
275	// length. When identifying the current value of an exceeded limit, the units
276	// should be contained in the key, not the value.  For example, rather than
277	// {"instanceLimit": "100/request"}, should be returned as,
278	// {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
279	// instances that can be created in a single (batch) request.
280	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"`
281	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
282	XXX_unrecognized     []byte            `json:"-"`
283	XXX_sizecache        int32             `json:"-"`
284}
285
286func (m *ErrorInfo) Reset()         { *m = ErrorInfo{} }
287func (m *ErrorInfo) String() string { return proto.CompactTextString(m) }
288func (*ErrorInfo) ProtoMessage()    {}
289func (*ErrorInfo) Descriptor() ([]byte, []int) {
290	return fileDescriptor_851816e4d6b6361a, []int{3}
291}
292
293func (m *ErrorInfo) XXX_Unmarshal(b []byte) error {
294	return xxx_messageInfo_ErrorInfo.Unmarshal(m, b)
295}
296func (m *ErrorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
297	return xxx_messageInfo_ErrorInfo.Marshal(b, m, deterministic)
298}
299func (m *ErrorInfo) XXX_Merge(src proto.Message) {
300	xxx_messageInfo_ErrorInfo.Merge(m, src)
301}
302func (m *ErrorInfo) XXX_Size() int {
303	return xxx_messageInfo_ErrorInfo.Size(m)
304}
305func (m *ErrorInfo) XXX_DiscardUnknown() {
306	xxx_messageInfo_ErrorInfo.DiscardUnknown(m)
307}
308
309var xxx_messageInfo_ErrorInfo proto.InternalMessageInfo
310
311func (m *ErrorInfo) GetReason() string {
312	if m != nil {
313		return m.Reason
314	}
315	return ""
316}
317
318func (m *ErrorInfo) GetDomain() string {
319	if m != nil {
320		return m.Domain
321	}
322	return ""
323}
324
325func (m *ErrorInfo) GetMetadata() map[string]string {
326	if m != nil {
327		return m.Metadata
328	}
329	return nil
330}
331
332// Describes what preconditions have failed.
333//
334// For example, if an RPC failed because it required the Terms of Service to be
335// acknowledged, it could list the terms of service violation in the
336// PreconditionFailure message.
337type PreconditionFailure struct {
338	// Describes all precondition violations.
339	Violations           []*PreconditionFailure_Violation `protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"`
340	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
341	XXX_unrecognized     []byte                           `json:"-"`
342	XXX_sizecache        int32                            `json:"-"`
343}
344
345func (m *PreconditionFailure) Reset()         { *m = PreconditionFailure{} }
346func (m *PreconditionFailure) String() string { return proto.CompactTextString(m) }
347func (*PreconditionFailure) ProtoMessage()    {}
348func (*PreconditionFailure) Descriptor() ([]byte, []int) {
349	return fileDescriptor_851816e4d6b6361a, []int{4}
350}
351
352func (m *PreconditionFailure) XXX_Unmarshal(b []byte) error {
353	return xxx_messageInfo_PreconditionFailure.Unmarshal(m, b)
354}
355func (m *PreconditionFailure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
356	return xxx_messageInfo_PreconditionFailure.Marshal(b, m, deterministic)
357}
358func (m *PreconditionFailure) XXX_Merge(src proto.Message) {
359	xxx_messageInfo_PreconditionFailure.Merge(m, src)
360}
361func (m *PreconditionFailure) XXX_Size() int {
362	return xxx_messageInfo_PreconditionFailure.Size(m)
363}
364func (m *PreconditionFailure) XXX_DiscardUnknown() {
365	xxx_messageInfo_PreconditionFailure.DiscardUnknown(m)
366}
367
368var xxx_messageInfo_PreconditionFailure proto.InternalMessageInfo
369
370func (m *PreconditionFailure) GetViolations() []*PreconditionFailure_Violation {
371	if m != nil {
372		return m.Violations
373	}
374	return nil
375}
376
377// A message type used to describe a single precondition failure.
378type PreconditionFailure_Violation struct {
379	// The type of PreconditionFailure. We recommend using a service-specific
380	// enum type to define the supported precondition violation subjects. For
381	// example, "TOS" for "Terms of Service violation".
382	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
383	// The subject, relative to the type, that failed.
384	// For example, "google.com/cloud" relative to the "TOS" type would indicate
385	// which terms of service is being referenced.
386	Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`
387	// A description of how the precondition failed. Developers can use this
388	// description to understand how to fix the failure.
389	//
390	// For example: "Terms of service not accepted".
391	Description          string   `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
392	XXX_NoUnkeyedLiteral struct{} `json:"-"`
393	XXX_unrecognized     []byte   `json:"-"`
394	XXX_sizecache        int32    `json:"-"`
395}
396
397func (m *PreconditionFailure_Violation) Reset()         { *m = PreconditionFailure_Violation{} }
398func (m *PreconditionFailure_Violation) String() string { return proto.CompactTextString(m) }
399func (*PreconditionFailure_Violation) ProtoMessage()    {}
400func (*PreconditionFailure_Violation) Descriptor() ([]byte, []int) {
401	return fileDescriptor_851816e4d6b6361a, []int{4, 0}
402}
403
404func (m *PreconditionFailure_Violation) XXX_Unmarshal(b []byte) error {
405	return xxx_messageInfo_PreconditionFailure_Violation.Unmarshal(m, b)
406}
407func (m *PreconditionFailure_Violation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
408	return xxx_messageInfo_PreconditionFailure_Violation.Marshal(b, m, deterministic)
409}
410func (m *PreconditionFailure_Violation) XXX_Merge(src proto.Message) {
411	xxx_messageInfo_PreconditionFailure_Violation.Merge(m, src)
412}
413func (m *PreconditionFailure_Violation) XXX_Size() int {
414	return xxx_messageInfo_PreconditionFailure_Violation.Size(m)
415}
416func (m *PreconditionFailure_Violation) XXX_DiscardUnknown() {
417	xxx_messageInfo_PreconditionFailure_Violation.DiscardUnknown(m)
418}
419
420var xxx_messageInfo_PreconditionFailure_Violation proto.InternalMessageInfo
421
422func (m *PreconditionFailure_Violation) GetType() string {
423	if m != nil {
424		return m.Type
425	}
426	return ""
427}
428
429func (m *PreconditionFailure_Violation) GetSubject() string {
430	if m != nil {
431		return m.Subject
432	}
433	return ""
434}
435
436func (m *PreconditionFailure_Violation) GetDescription() string {
437	if m != nil {
438		return m.Description
439	}
440	return ""
441}
442
443// Describes violations in a client request. This error type focuses on the
444// syntactic aspects of the request.
445type BadRequest struct {
446	// Describes all violations in a client request.
447	FieldViolations      []*BadRequest_FieldViolation `protobuf:"bytes,1,rep,name=field_violations,json=fieldViolations,proto3" json:"field_violations,omitempty"`
448	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
449	XXX_unrecognized     []byte                       `json:"-"`
450	XXX_sizecache        int32                        `json:"-"`
451}
452
453func (m *BadRequest) Reset()         { *m = BadRequest{} }
454func (m *BadRequest) String() string { return proto.CompactTextString(m) }
455func (*BadRequest) ProtoMessage()    {}
456func (*BadRequest) Descriptor() ([]byte, []int) {
457	return fileDescriptor_851816e4d6b6361a, []int{5}
458}
459
460func (m *BadRequest) XXX_Unmarshal(b []byte) error {
461	return xxx_messageInfo_BadRequest.Unmarshal(m, b)
462}
463func (m *BadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
464	return xxx_messageInfo_BadRequest.Marshal(b, m, deterministic)
465}
466func (m *BadRequest) XXX_Merge(src proto.Message) {
467	xxx_messageInfo_BadRequest.Merge(m, src)
468}
469func (m *BadRequest) XXX_Size() int {
470	return xxx_messageInfo_BadRequest.Size(m)
471}
472func (m *BadRequest) XXX_DiscardUnknown() {
473	xxx_messageInfo_BadRequest.DiscardUnknown(m)
474}
475
476var xxx_messageInfo_BadRequest proto.InternalMessageInfo
477
478func (m *BadRequest) GetFieldViolations() []*BadRequest_FieldViolation {
479	if m != nil {
480		return m.FieldViolations
481	}
482	return nil
483}
484
485// A message type used to describe a single bad request field.
486type BadRequest_FieldViolation struct {
487	// A path leading to a field in the request body. The value will be a
488	// sequence of dot-separated identifiers that identify a protocol buffer
489	// field. E.g., "field_violations.field" would identify this field.
490	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
491	// A description of why the request element is bad.
492	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
493	XXX_NoUnkeyedLiteral struct{} `json:"-"`
494	XXX_unrecognized     []byte   `json:"-"`
495	XXX_sizecache        int32    `json:"-"`
496}
497
498func (m *BadRequest_FieldViolation) Reset()         { *m = BadRequest_FieldViolation{} }
499func (m *BadRequest_FieldViolation) String() string { return proto.CompactTextString(m) }
500func (*BadRequest_FieldViolation) ProtoMessage()    {}
501func (*BadRequest_FieldViolation) Descriptor() ([]byte, []int) {
502	return fileDescriptor_851816e4d6b6361a, []int{5, 0}
503}
504
505func (m *BadRequest_FieldViolation) XXX_Unmarshal(b []byte) error {
506	return xxx_messageInfo_BadRequest_FieldViolation.Unmarshal(m, b)
507}
508func (m *BadRequest_FieldViolation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
509	return xxx_messageInfo_BadRequest_FieldViolation.Marshal(b, m, deterministic)
510}
511func (m *BadRequest_FieldViolation) XXX_Merge(src proto.Message) {
512	xxx_messageInfo_BadRequest_FieldViolation.Merge(m, src)
513}
514func (m *BadRequest_FieldViolation) XXX_Size() int {
515	return xxx_messageInfo_BadRequest_FieldViolation.Size(m)
516}
517func (m *BadRequest_FieldViolation) XXX_DiscardUnknown() {
518	xxx_messageInfo_BadRequest_FieldViolation.DiscardUnknown(m)
519}
520
521var xxx_messageInfo_BadRequest_FieldViolation proto.InternalMessageInfo
522
523func (m *BadRequest_FieldViolation) GetField() string {
524	if m != nil {
525		return m.Field
526	}
527	return ""
528}
529
530func (m *BadRequest_FieldViolation) GetDescription() string {
531	if m != nil {
532		return m.Description
533	}
534	return ""
535}
536
537// Contains metadata about the request that clients can attach when filing a bug
538// or providing other forms of feedback.
539type RequestInfo struct {
540	// An opaque string that should only be interpreted by the service generating
541	// it. For example, it can be used to identify requests in the service's logs.
542	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
543	// Any data that was used to serve this request. For example, an encrypted
544	// stack trace that can be sent back to the service provider for debugging.
545	ServingData          string   `protobuf:"bytes,2,opt,name=serving_data,json=servingData,proto3" json:"serving_data,omitempty"`
546	XXX_NoUnkeyedLiteral struct{} `json:"-"`
547	XXX_unrecognized     []byte   `json:"-"`
548	XXX_sizecache        int32    `json:"-"`
549}
550
551func (m *RequestInfo) Reset()         { *m = RequestInfo{} }
552func (m *RequestInfo) String() string { return proto.CompactTextString(m) }
553func (*RequestInfo) ProtoMessage()    {}
554func (*RequestInfo) Descriptor() ([]byte, []int) {
555	return fileDescriptor_851816e4d6b6361a, []int{6}
556}
557
558func (m *RequestInfo) XXX_Unmarshal(b []byte) error {
559	return xxx_messageInfo_RequestInfo.Unmarshal(m, b)
560}
561func (m *RequestInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
562	return xxx_messageInfo_RequestInfo.Marshal(b, m, deterministic)
563}
564func (m *RequestInfo) XXX_Merge(src proto.Message) {
565	xxx_messageInfo_RequestInfo.Merge(m, src)
566}
567func (m *RequestInfo) XXX_Size() int {
568	return xxx_messageInfo_RequestInfo.Size(m)
569}
570func (m *RequestInfo) XXX_DiscardUnknown() {
571	xxx_messageInfo_RequestInfo.DiscardUnknown(m)
572}
573
574var xxx_messageInfo_RequestInfo proto.InternalMessageInfo
575
576func (m *RequestInfo) GetRequestId() string {
577	if m != nil {
578		return m.RequestId
579	}
580	return ""
581}
582
583func (m *RequestInfo) GetServingData() string {
584	if m != nil {
585		return m.ServingData
586	}
587	return ""
588}
589
590// Describes the resource that is being accessed.
591type ResourceInfo struct {
592	// A name for the type of resource being accessed, e.g. "sql table",
593	// "cloud storage bucket", "file", "Google calendar"; or the type URL
594	// of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic".
595	ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
596	// The name of the resource being accessed.  For example, a shared calendar
597	// name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current
598	// error is [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].
599	ResourceName string `protobuf:"bytes,2,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
600	// The owner of the resource (optional).
601	// For example, "user:<owner email>" or "project:<Google developer project
602	// id>".
603	Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"`
604	// Describes what error is encountered when accessing this resource.
605	// For example, updating a cloud project may require the `writer` permission
606	// on the developer console project.
607	Description          string   `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
608	XXX_NoUnkeyedLiteral struct{} `json:"-"`
609	XXX_unrecognized     []byte   `json:"-"`
610	XXX_sizecache        int32    `json:"-"`
611}
612
613func (m *ResourceInfo) Reset()         { *m = ResourceInfo{} }
614func (m *ResourceInfo) String() string { return proto.CompactTextString(m) }
615func (*ResourceInfo) ProtoMessage()    {}
616func (*ResourceInfo) Descriptor() ([]byte, []int) {
617	return fileDescriptor_851816e4d6b6361a, []int{7}
618}
619
620func (m *ResourceInfo) XXX_Unmarshal(b []byte) error {
621	return xxx_messageInfo_ResourceInfo.Unmarshal(m, b)
622}
623func (m *ResourceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
624	return xxx_messageInfo_ResourceInfo.Marshal(b, m, deterministic)
625}
626func (m *ResourceInfo) XXX_Merge(src proto.Message) {
627	xxx_messageInfo_ResourceInfo.Merge(m, src)
628}
629func (m *ResourceInfo) XXX_Size() int {
630	return xxx_messageInfo_ResourceInfo.Size(m)
631}
632func (m *ResourceInfo) XXX_DiscardUnknown() {
633	xxx_messageInfo_ResourceInfo.DiscardUnknown(m)
634}
635
636var xxx_messageInfo_ResourceInfo proto.InternalMessageInfo
637
638func (m *ResourceInfo) GetResourceType() string {
639	if m != nil {
640		return m.ResourceType
641	}
642	return ""
643}
644
645func (m *ResourceInfo) GetResourceName() string {
646	if m != nil {
647		return m.ResourceName
648	}
649	return ""
650}
651
652func (m *ResourceInfo) GetOwner() string {
653	if m != nil {
654		return m.Owner
655	}
656	return ""
657}
658
659func (m *ResourceInfo) GetDescription() string {
660	if m != nil {
661		return m.Description
662	}
663	return ""
664}
665
666// Provides links to documentation or for performing an out of band action.
667//
668// For example, if a quota check failed with an error indicating the calling
669// project hasn't enabled the accessed service, this can contain a URL pointing
670// directly to the right place in the developer console to flip the bit.
671type Help struct {
672	// URL(s) pointing to additional information on handling the current error.
673	Links                []*Help_Link `protobuf:"bytes,1,rep,name=links,proto3" json:"links,omitempty"`
674	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
675	XXX_unrecognized     []byte       `json:"-"`
676	XXX_sizecache        int32        `json:"-"`
677}
678
679func (m *Help) Reset()         { *m = Help{} }
680func (m *Help) String() string { return proto.CompactTextString(m) }
681func (*Help) ProtoMessage()    {}
682func (*Help) Descriptor() ([]byte, []int) {
683	return fileDescriptor_851816e4d6b6361a, []int{8}
684}
685
686func (m *Help) XXX_Unmarshal(b []byte) error {
687	return xxx_messageInfo_Help.Unmarshal(m, b)
688}
689func (m *Help) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
690	return xxx_messageInfo_Help.Marshal(b, m, deterministic)
691}
692func (m *Help) XXX_Merge(src proto.Message) {
693	xxx_messageInfo_Help.Merge(m, src)
694}
695func (m *Help) XXX_Size() int {
696	return xxx_messageInfo_Help.Size(m)
697}
698func (m *Help) XXX_DiscardUnknown() {
699	xxx_messageInfo_Help.DiscardUnknown(m)
700}
701
702var xxx_messageInfo_Help proto.InternalMessageInfo
703
704func (m *Help) GetLinks() []*Help_Link {
705	if m != nil {
706		return m.Links
707	}
708	return nil
709}
710
711// Describes a URL link.
712type Help_Link struct {
713	// Describes what the link offers.
714	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
715	// The URL of the link.
716	Url                  string   `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
717	XXX_NoUnkeyedLiteral struct{} `json:"-"`
718	XXX_unrecognized     []byte   `json:"-"`
719	XXX_sizecache        int32    `json:"-"`
720}
721
722func (m *Help_Link) Reset()         { *m = Help_Link{} }
723func (m *Help_Link) String() string { return proto.CompactTextString(m) }
724func (*Help_Link) ProtoMessage()    {}
725func (*Help_Link) Descriptor() ([]byte, []int) {
726	return fileDescriptor_851816e4d6b6361a, []int{8, 0}
727}
728
729func (m *Help_Link) XXX_Unmarshal(b []byte) error {
730	return xxx_messageInfo_Help_Link.Unmarshal(m, b)
731}
732func (m *Help_Link) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
733	return xxx_messageInfo_Help_Link.Marshal(b, m, deterministic)
734}
735func (m *Help_Link) XXX_Merge(src proto.Message) {
736	xxx_messageInfo_Help_Link.Merge(m, src)
737}
738func (m *Help_Link) XXX_Size() int {
739	return xxx_messageInfo_Help_Link.Size(m)
740}
741func (m *Help_Link) XXX_DiscardUnknown() {
742	xxx_messageInfo_Help_Link.DiscardUnknown(m)
743}
744
745var xxx_messageInfo_Help_Link proto.InternalMessageInfo
746
747func (m *Help_Link) GetDescription() string {
748	if m != nil {
749		return m.Description
750	}
751	return ""
752}
753
754func (m *Help_Link) GetUrl() string {
755	if m != nil {
756		return m.Url
757	}
758	return ""
759}
760
761// Provides a localized error message that is safe to return to the user
762// which can be attached to an RPC error.
763type LocalizedMessage struct {
764	// The locale used following the specification defined at
765	// http://www.rfc-editor.org/rfc/bcp/bcp47.txt.
766	// Examples are: "en-US", "fr-CH", "es-MX"
767	Locale string `protobuf:"bytes,1,opt,name=locale,proto3" json:"locale,omitempty"`
768	// The localized error message in the above locale.
769	Message              string   `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
770	XXX_NoUnkeyedLiteral struct{} `json:"-"`
771	XXX_unrecognized     []byte   `json:"-"`
772	XXX_sizecache        int32    `json:"-"`
773}
774
775func (m *LocalizedMessage) Reset()         { *m = LocalizedMessage{} }
776func (m *LocalizedMessage) String() string { return proto.CompactTextString(m) }
777func (*LocalizedMessage) ProtoMessage()    {}
778func (*LocalizedMessage) Descriptor() ([]byte, []int) {
779	return fileDescriptor_851816e4d6b6361a, []int{9}
780}
781
782func (m *LocalizedMessage) XXX_Unmarshal(b []byte) error {
783	return xxx_messageInfo_LocalizedMessage.Unmarshal(m, b)
784}
785func (m *LocalizedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
786	return xxx_messageInfo_LocalizedMessage.Marshal(b, m, deterministic)
787}
788func (m *LocalizedMessage) XXX_Merge(src proto.Message) {
789	xxx_messageInfo_LocalizedMessage.Merge(m, src)
790}
791func (m *LocalizedMessage) XXX_Size() int {
792	return xxx_messageInfo_LocalizedMessage.Size(m)
793}
794func (m *LocalizedMessage) XXX_DiscardUnknown() {
795	xxx_messageInfo_LocalizedMessage.DiscardUnknown(m)
796}
797
798var xxx_messageInfo_LocalizedMessage proto.InternalMessageInfo
799
800func (m *LocalizedMessage) GetLocale() string {
801	if m != nil {
802		return m.Locale
803	}
804	return ""
805}
806
807func (m *LocalizedMessage) GetMessage() string {
808	if m != nil {
809		return m.Message
810	}
811	return ""
812}
813
814func init() {
815	proto.RegisterType((*RetryInfo)(nil), "google.rpc.RetryInfo")
816	proto.RegisterType((*DebugInfo)(nil), "google.rpc.DebugInfo")
817	proto.RegisterType((*QuotaFailure)(nil), "google.rpc.QuotaFailure")
818	proto.RegisterType((*QuotaFailure_Violation)(nil), "google.rpc.QuotaFailure.Violation")
819	proto.RegisterType((*ErrorInfo)(nil), "google.rpc.ErrorInfo")
820	proto.RegisterMapType((map[string]string)(nil), "google.rpc.ErrorInfo.MetadataEntry")
821	proto.RegisterType((*PreconditionFailure)(nil), "google.rpc.PreconditionFailure")
822	proto.RegisterType((*PreconditionFailure_Violation)(nil), "google.rpc.PreconditionFailure.Violation")
823	proto.RegisterType((*BadRequest)(nil), "google.rpc.BadRequest")
824	proto.RegisterType((*BadRequest_FieldViolation)(nil), "google.rpc.BadRequest.FieldViolation")
825	proto.RegisterType((*RequestInfo)(nil), "google.rpc.RequestInfo")
826	proto.RegisterType((*ResourceInfo)(nil), "google.rpc.ResourceInfo")
827	proto.RegisterType((*Help)(nil), "google.rpc.Help")
828	proto.RegisterType((*Help_Link)(nil), "google.rpc.Help.Link")
829	proto.RegisterType((*LocalizedMessage)(nil), "google.rpc.LocalizedMessage")
830}
831
832func init() {
833	proto.RegisterFile("google/rpc/error_details.proto", fileDescriptor_851816e4d6b6361a)
834}
835
836var fileDescriptor_851816e4d6b6361a = []byte{
837	// 674 bytes of a gzipped FileDescriptorProto
838	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0x4d, 0x6f, 0xd3, 0x40,
839	0x10, 0x95, 0x93, 0xb4, 0xe0, 0x49, 0x5a, 0x8a, 0x81, 0x2a, 0x44, 0x02, 0x05, 0x57, 0x48, 0x45,
840	0x48, 0x8e, 0x54, 0x2e, 0xa8, 0x3d, 0x54, 0x0a, 0xe9, 0x97, 0xd4, 0x42, 0xb0, 0x10, 0x07, 0x38,
841	0x44, 0x1b, 0x7b, 0x62, 0x2d, 0x71, 0xbc, 0x66, 0xbd, 0x2e, 0x0a, 0xbf, 0x82, 0x3b, 0x37, 0x4e,
842	0xfc, 0x05, 0x0e, 0xfc, 0x37, 0xb4, 0x5f, 0x89, 0xdb, 0x14, 0xc4, 0x6d, 0xdf, 0xec, 0xdb, 0xb7,
843	0xf3, 0x9e, 0x66, 0x17, 0x1e, 0x27, 0x8c, 0x25, 0x29, 0xf6, 0x78, 0x1e, 0xf5, 0x90, 0x73, 0xc6,
844	0x47, 0x31, 0x0a, 0x42, 0xd3, 0x22, 0xc8, 0x39, 0x13, 0xcc, 0x03, 0xbd, 0x1f, 0xf0, 0x3c, 0xea,
845	0x58, 0xae, 0xda, 0x19, 0x97, 0x93, 0x5e, 0x5c, 0x72, 0x22, 0x28, 0xcb, 0x34, 0xd7, 0x3f, 0x01,
846	0x37, 0x44, 0xc1, 0xe7, 0x67, 0xd9, 0x84, 0x79, 0xfb, 0xd0, 0xe4, 0x12, 0x8c, 0x62, 0x4c, 0xc9,
847	0xbc, 0xed, 0x74, 0x9d, 0xdd, 0xe6, 0xde, 0xc3, 0xc0, 0xc8, 0x59, 0x89, 0x60, 0x60, 0x24, 0x42,
848	0x50, 0xec, 0x81, 0x24, 0xfb, 0xa7, 0xe0, 0x0e, 0x70, 0x5c, 0x26, 0x4a, 0x68, 0x07, 0x36, 0x0a,
849	0x41, 0xa2, 0xe9, 0x08, 0x33, 0xc1, 0x29, 0x16, 0x6d, 0xa7, 0x5b, 0xdf, 0x75, 0xc3, 0x96, 0x2a,
850	0x1e, 0xe9, 0x9a, 0xb7, 0x0d, 0xeb, 0xba, 0xef, 0x76, 0xad, 0xeb, 0xec, 0xba, 0xa1, 0x41, 0xfe,
851	0x77, 0x07, 0x5a, 0x6f, 0x4b, 0x26, 0xc8, 0x31, 0xa1, 0x69, 0xc9, 0xd1, 0xeb, 0x03, 0x5c, 0x52,
852	0x96, 0xaa, 0x3b, 0xb5, 0x54, 0x73, 0xcf, 0x0f, 0x96, 0x26, 0x83, 0x2a, 0x3b, 0x78, 0x6f, 0xa9,
853	0x61, 0xe5, 0x54, 0xe7, 0x04, 0xdc, 0xc5, 0x86, 0xd7, 0x86, 0x5b, 0x45, 0x39, 0xfe, 0x84, 0x91,
854	0x50, 0x1e, 0xdd, 0xd0, 0x42, 0xaf, 0x0b, 0xcd, 0x18, 0x8b, 0x88, 0xd3, 0x5c, 0x12, 0x4d, 0x63,
855	0xd5, 0x92, 0xff, 0xcb, 0x01, 0xf7, 0x48, 0x86, 0xae, 0x8c, 0x6e, 0xc3, 0x3a, 0x47, 0x52, 0xb0,
856	0xcc, 0x08, 0x19, 0xa4, 0xbc, 0xb1, 0x19, 0xa1, 0xd9, 0xc2, 0x9b, 0x42, 0xde, 0x21, 0xdc, 0x9e,
857	0xa1, 0x20, 0x31, 0x11, 0xa4, 0x5d, 0x57, 0x46, 0x76, 0xaa, 0x46, 0x16, 0xc2, 0xc1, 0x85, 0x61,
858	0xc9, 0xb0, 0xe6, 0xe1, 0xe2, 0x50, 0xe7, 0x00, 0x36, 0xae, 0x6c, 0x79, 0x5b, 0x50, 0x9f, 0xe2,
859	0xdc, 0x5c, 0x2f, 0x97, 0xde, 0x7d, 0x58, 0xbb, 0x24, 0x69, 0x89, 0xe6, 0x6a, 0x0d, 0xf6, 0x6b,
860	0x2f, 0x1d, 0xff, 0xb7, 0x03, 0xf7, 0x86, 0x1c, 0x23, 0x96, 0xc5, 0x54, 0x9a, 0xb1, 0x01, 0x9f,
861	0xdd, 0x10, 0xf0, 0xb3, 0x6a, 0x5f, 0x37, 0x1c, 0xfa, 0x4b, 0xce, 0x1f, 0xab, 0x39, 0x7b, 0xd0,
862	0x10, 0xf3, 0x1c, 0x4d, 0x73, 0x6a, 0x5d, 0xcd, 0xbe, 0xf6, 0xcf, 0xec, 0xeb, 0xab, 0xd9, 0xff,
863	0x74, 0x00, 0xfa, 0x24, 0x0e, 0xf1, 0x73, 0x89, 0x85, 0xf0, 0x86, 0xb0, 0x35, 0xa1, 0x98, 0xc6,
864	0xa3, 0x95, 0xe6, 0x9f, 0x56, 0x9b, 0x5f, 0x9e, 0x08, 0x8e, 0x25, 0x7d, 0xd9, 0xf8, 0x9d, 0xc9,
865	0x15, 0x5c, 0x74, 0x4e, 0x61, 0xf3, 0x2a, 0x45, 0x86, 0xa9, 0x48, 0xc6, 0x83, 0x06, 0xff, 0x31,
866	0x26, 0x6f, 0xa0, 0x69, 0x2e, 0x55, 0x73, 0xf2, 0x08, 0x80, 0x6b, 0x38, 0xa2, 0x56, 0xcb, 0x35,
867	0x95, 0xb3, 0xd8, 0x7b, 0x02, 0xad, 0x02, 0xf9, 0x25, 0xcd, 0x92, 0x91, 0x1a, 0x0d, 0x23, 0x68,
868	0x6a, 0x03, 0x22, 0x88, 0xff, 0xcd, 0x81, 0x56, 0x88, 0x05, 0x2b, 0x79, 0x84, 0xf6, 0x8d, 0x71,
869	0x83, 0x47, 0x95, 0x94, 0x5b, 0xb6, 0xf8, 0x4e, 0xa6, 0x5d, 0x25, 0x65, 0x64, 0x66, 0x67, 0x62,
870	0x41, 0x7a, 0x4d, 0x66, 0x28, 0x3d, 0xb2, 0x2f, 0x19, 0x72, 0x13, 0xb9, 0x06, 0xd7, 0x3d, 0x36,
871	0x56, 0x3d, 0x32, 0x68, 0x9c, 0x62, 0x9a, 0x7b, 0xcf, 0x61, 0x2d, 0xa5, 0xd9, 0xd4, 0x86, 0xff,
872	0xa0, 0x1a, 0xbe, 0x24, 0x04, 0xe7, 0x34, 0x9b, 0x86, 0x9a, 0xd3, 0xd9, 0x87, 0x86, 0x84, 0xd7,
873	0xe5, 0x9d, 0x15, 0x79, 0x39, 0xd9, 0x25, 0xb7, 0x9f, 0x83, 0x5c, 0xfa, 0x03, 0xd8, 0x3a, 0x67,
874	0x11, 0x49, 0xe9, 0x57, 0x8c, 0x2f, 0xb0, 0x28, 0x48, 0x82, 0xf2, 0xa5, 0xa5, 0xb2, 0x66, 0xfd,
875	0x1b, 0x24, 0xe7, 0x6c, 0xa6, 0x29, 0x76, 0xce, 0x0c, 0xec, 0xa7, 0xb0, 0x19, 0xb1, 0x59, 0xa5,
876	0xc9, 0xfe, 0x5d, 0xf5, 0xee, 0x06, 0xfa, 0x13, 0x1d, 0xca, 0x6f, 0x6e, 0xe8, 0x7c, 0x38, 0x34,
877	0x84, 0x84, 0xa5, 0x24, 0x4b, 0x02, 0xc6, 0x93, 0x5e, 0x82, 0x99, 0xfa, 0x04, 0x7b, 0x7a, 0x8b,
878	0xe4, 0xb4, 0xb0, 0x9f, 0xb0, 0xf9, 0x81, 0x0f, 0x96, 0xcb, 0x1f, 0xb5, 0x7a, 0x38, 0x7c, 0x35,
879	0x5e, 0x57, 0x27, 0x5e, 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x8c, 0x9a, 0x65, 0xb5, 0x05,
880	0x00, 0x00,
881}
882