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 retires 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 RetryDetail 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 what preconditions have failed.
239//
240// For example, if an RPC failed because it required the Terms of Service to be
241// acknowledged, it could list the terms of service violation in the
242// PreconditionFailure message.
243type PreconditionFailure struct {
244	// Describes all precondition violations.
245	Violations           []*PreconditionFailure_Violation `protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"`
246	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
247	XXX_unrecognized     []byte                           `json:"-"`
248	XXX_sizecache        int32                            `json:"-"`
249}
250
251func (m *PreconditionFailure) Reset()         { *m = PreconditionFailure{} }
252func (m *PreconditionFailure) String() string { return proto.CompactTextString(m) }
253func (*PreconditionFailure) ProtoMessage()    {}
254func (*PreconditionFailure) Descriptor() ([]byte, []int) {
255	return fileDescriptor_851816e4d6b6361a, []int{3}
256}
257
258func (m *PreconditionFailure) XXX_Unmarshal(b []byte) error {
259	return xxx_messageInfo_PreconditionFailure.Unmarshal(m, b)
260}
261func (m *PreconditionFailure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
262	return xxx_messageInfo_PreconditionFailure.Marshal(b, m, deterministic)
263}
264func (m *PreconditionFailure) XXX_Merge(src proto.Message) {
265	xxx_messageInfo_PreconditionFailure.Merge(m, src)
266}
267func (m *PreconditionFailure) XXX_Size() int {
268	return xxx_messageInfo_PreconditionFailure.Size(m)
269}
270func (m *PreconditionFailure) XXX_DiscardUnknown() {
271	xxx_messageInfo_PreconditionFailure.DiscardUnknown(m)
272}
273
274var xxx_messageInfo_PreconditionFailure proto.InternalMessageInfo
275
276func (m *PreconditionFailure) GetViolations() []*PreconditionFailure_Violation {
277	if m != nil {
278		return m.Violations
279	}
280	return nil
281}
282
283// A message type used to describe a single precondition failure.
284type PreconditionFailure_Violation struct {
285	// The type of PreconditionFailure. We recommend using a service-specific
286	// enum type to define the supported precondition violation types. For
287	// example, "TOS" for "Terms of Service violation".
288	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
289	// The subject, relative to the type, that failed.
290	// For example, "google.com/cloud" relative to the "TOS" type would
291	// indicate which terms of service is being referenced.
292	Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`
293	// A description of how the precondition failed. Developers can use this
294	// description to understand how to fix the failure.
295	//
296	// For example: "Terms of service not accepted".
297	Description          string   `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
298	XXX_NoUnkeyedLiteral struct{} `json:"-"`
299	XXX_unrecognized     []byte   `json:"-"`
300	XXX_sizecache        int32    `json:"-"`
301}
302
303func (m *PreconditionFailure_Violation) Reset()         { *m = PreconditionFailure_Violation{} }
304func (m *PreconditionFailure_Violation) String() string { return proto.CompactTextString(m) }
305func (*PreconditionFailure_Violation) ProtoMessage()    {}
306func (*PreconditionFailure_Violation) Descriptor() ([]byte, []int) {
307	return fileDescriptor_851816e4d6b6361a, []int{3, 0}
308}
309
310func (m *PreconditionFailure_Violation) XXX_Unmarshal(b []byte) error {
311	return xxx_messageInfo_PreconditionFailure_Violation.Unmarshal(m, b)
312}
313func (m *PreconditionFailure_Violation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
314	return xxx_messageInfo_PreconditionFailure_Violation.Marshal(b, m, deterministic)
315}
316func (m *PreconditionFailure_Violation) XXX_Merge(src proto.Message) {
317	xxx_messageInfo_PreconditionFailure_Violation.Merge(m, src)
318}
319func (m *PreconditionFailure_Violation) XXX_Size() int {
320	return xxx_messageInfo_PreconditionFailure_Violation.Size(m)
321}
322func (m *PreconditionFailure_Violation) XXX_DiscardUnknown() {
323	xxx_messageInfo_PreconditionFailure_Violation.DiscardUnknown(m)
324}
325
326var xxx_messageInfo_PreconditionFailure_Violation proto.InternalMessageInfo
327
328func (m *PreconditionFailure_Violation) GetType() string {
329	if m != nil {
330		return m.Type
331	}
332	return ""
333}
334
335func (m *PreconditionFailure_Violation) GetSubject() string {
336	if m != nil {
337		return m.Subject
338	}
339	return ""
340}
341
342func (m *PreconditionFailure_Violation) GetDescription() string {
343	if m != nil {
344		return m.Description
345	}
346	return ""
347}
348
349// Describes violations in a client request. This error type focuses on the
350// syntactic aspects of the request.
351type BadRequest struct {
352	// Describes all violations in a client request.
353	FieldViolations      []*BadRequest_FieldViolation `protobuf:"bytes,1,rep,name=field_violations,json=fieldViolations,proto3" json:"field_violations,omitempty"`
354	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
355	XXX_unrecognized     []byte                       `json:"-"`
356	XXX_sizecache        int32                        `json:"-"`
357}
358
359func (m *BadRequest) Reset()         { *m = BadRequest{} }
360func (m *BadRequest) String() string { return proto.CompactTextString(m) }
361func (*BadRequest) ProtoMessage()    {}
362func (*BadRequest) Descriptor() ([]byte, []int) {
363	return fileDescriptor_851816e4d6b6361a, []int{4}
364}
365
366func (m *BadRequest) XXX_Unmarshal(b []byte) error {
367	return xxx_messageInfo_BadRequest.Unmarshal(m, b)
368}
369func (m *BadRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
370	return xxx_messageInfo_BadRequest.Marshal(b, m, deterministic)
371}
372func (m *BadRequest) XXX_Merge(src proto.Message) {
373	xxx_messageInfo_BadRequest.Merge(m, src)
374}
375func (m *BadRequest) XXX_Size() int {
376	return xxx_messageInfo_BadRequest.Size(m)
377}
378func (m *BadRequest) XXX_DiscardUnknown() {
379	xxx_messageInfo_BadRequest.DiscardUnknown(m)
380}
381
382var xxx_messageInfo_BadRequest proto.InternalMessageInfo
383
384func (m *BadRequest) GetFieldViolations() []*BadRequest_FieldViolation {
385	if m != nil {
386		return m.FieldViolations
387	}
388	return nil
389}
390
391// A message type used to describe a single bad request field.
392type BadRequest_FieldViolation struct {
393	// A path leading to a field in the request body. The value will be a
394	// sequence of dot-separated identifiers that identify a protocol buffer
395	// field. E.g., "field_violations.field" would identify this field.
396	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
397	// A description of why the request element is bad.
398	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
399	XXX_NoUnkeyedLiteral struct{} `json:"-"`
400	XXX_unrecognized     []byte   `json:"-"`
401	XXX_sizecache        int32    `json:"-"`
402}
403
404func (m *BadRequest_FieldViolation) Reset()         { *m = BadRequest_FieldViolation{} }
405func (m *BadRequest_FieldViolation) String() string { return proto.CompactTextString(m) }
406func (*BadRequest_FieldViolation) ProtoMessage()    {}
407func (*BadRequest_FieldViolation) Descriptor() ([]byte, []int) {
408	return fileDescriptor_851816e4d6b6361a, []int{4, 0}
409}
410
411func (m *BadRequest_FieldViolation) XXX_Unmarshal(b []byte) error {
412	return xxx_messageInfo_BadRequest_FieldViolation.Unmarshal(m, b)
413}
414func (m *BadRequest_FieldViolation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
415	return xxx_messageInfo_BadRequest_FieldViolation.Marshal(b, m, deterministic)
416}
417func (m *BadRequest_FieldViolation) XXX_Merge(src proto.Message) {
418	xxx_messageInfo_BadRequest_FieldViolation.Merge(m, src)
419}
420func (m *BadRequest_FieldViolation) XXX_Size() int {
421	return xxx_messageInfo_BadRequest_FieldViolation.Size(m)
422}
423func (m *BadRequest_FieldViolation) XXX_DiscardUnknown() {
424	xxx_messageInfo_BadRequest_FieldViolation.DiscardUnknown(m)
425}
426
427var xxx_messageInfo_BadRequest_FieldViolation proto.InternalMessageInfo
428
429func (m *BadRequest_FieldViolation) GetField() string {
430	if m != nil {
431		return m.Field
432	}
433	return ""
434}
435
436func (m *BadRequest_FieldViolation) GetDescription() string {
437	if m != nil {
438		return m.Description
439	}
440	return ""
441}
442
443// Contains metadata about the request that clients can attach when filing a bug
444// or providing other forms of feedback.
445type RequestInfo struct {
446	// An opaque string that should only be interpreted by the service generating
447	// it. For example, it can be used to identify requests in the service's logs.
448	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
449	// Any data that was used to serve this request. For example, an encrypted
450	// stack trace that can be sent back to the service provider for debugging.
451	ServingData          string   `protobuf:"bytes,2,opt,name=serving_data,json=servingData,proto3" json:"serving_data,omitempty"`
452	XXX_NoUnkeyedLiteral struct{} `json:"-"`
453	XXX_unrecognized     []byte   `json:"-"`
454	XXX_sizecache        int32    `json:"-"`
455}
456
457func (m *RequestInfo) Reset()         { *m = RequestInfo{} }
458func (m *RequestInfo) String() string { return proto.CompactTextString(m) }
459func (*RequestInfo) ProtoMessage()    {}
460func (*RequestInfo) Descriptor() ([]byte, []int) {
461	return fileDescriptor_851816e4d6b6361a, []int{5}
462}
463
464func (m *RequestInfo) XXX_Unmarshal(b []byte) error {
465	return xxx_messageInfo_RequestInfo.Unmarshal(m, b)
466}
467func (m *RequestInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
468	return xxx_messageInfo_RequestInfo.Marshal(b, m, deterministic)
469}
470func (m *RequestInfo) XXX_Merge(src proto.Message) {
471	xxx_messageInfo_RequestInfo.Merge(m, src)
472}
473func (m *RequestInfo) XXX_Size() int {
474	return xxx_messageInfo_RequestInfo.Size(m)
475}
476func (m *RequestInfo) XXX_DiscardUnknown() {
477	xxx_messageInfo_RequestInfo.DiscardUnknown(m)
478}
479
480var xxx_messageInfo_RequestInfo proto.InternalMessageInfo
481
482func (m *RequestInfo) GetRequestId() string {
483	if m != nil {
484		return m.RequestId
485	}
486	return ""
487}
488
489func (m *RequestInfo) GetServingData() string {
490	if m != nil {
491		return m.ServingData
492	}
493	return ""
494}
495
496// Describes the resource that is being accessed.
497type ResourceInfo struct {
498	// A name for the type of resource being accessed, e.g. "sql table",
499	// "cloud storage bucket", "file", "Google calendar"; or the type URL
500	// of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic".
501	ResourceType string `protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
502	// The name of the resource being accessed.  For example, a shared calendar
503	// name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current
504	// error is
505	// [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].
506	ResourceName string `protobuf:"bytes,2,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
507	// The owner of the resource (optional).
508	// For example, "user:<owner email>" or "project:<Google developer project
509	// id>".
510	Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"`
511	// Describes what error is encountered when accessing this resource.
512	// For example, updating a cloud project may require the `writer` permission
513	// on the developer console project.
514	Description          string   `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
515	XXX_NoUnkeyedLiteral struct{} `json:"-"`
516	XXX_unrecognized     []byte   `json:"-"`
517	XXX_sizecache        int32    `json:"-"`
518}
519
520func (m *ResourceInfo) Reset()         { *m = ResourceInfo{} }
521func (m *ResourceInfo) String() string { return proto.CompactTextString(m) }
522func (*ResourceInfo) ProtoMessage()    {}
523func (*ResourceInfo) Descriptor() ([]byte, []int) {
524	return fileDescriptor_851816e4d6b6361a, []int{6}
525}
526
527func (m *ResourceInfo) XXX_Unmarshal(b []byte) error {
528	return xxx_messageInfo_ResourceInfo.Unmarshal(m, b)
529}
530func (m *ResourceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
531	return xxx_messageInfo_ResourceInfo.Marshal(b, m, deterministic)
532}
533func (m *ResourceInfo) XXX_Merge(src proto.Message) {
534	xxx_messageInfo_ResourceInfo.Merge(m, src)
535}
536func (m *ResourceInfo) XXX_Size() int {
537	return xxx_messageInfo_ResourceInfo.Size(m)
538}
539func (m *ResourceInfo) XXX_DiscardUnknown() {
540	xxx_messageInfo_ResourceInfo.DiscardUnknown(m)
541}
542
543var xxx_messageInfo_ResourceInfo proto.InternalMessageInfo
544
545func (m *ResourceInfo) GetResourceType() string {
546	if m != nil {
547		return m.ResourceType
548	}
549	return ""
550}
551
552func (m *ResourceInfo) GetResourceName() string {
553	if m != nil {
554		return m.ResourceName
555	}
556	return ""
557}
558
559func (m *ResourceInfo) GetOwner() string {
560	if m != nil {
561		return m.Owner
562	}
563	return ""
564}
565
566func (m *ResourceInfo) GetDescription() string {
567	if m != nil {
568		return m.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.
578type Help struct {
579	// URL(s) pointing to additional information on handling the current error.
580	Links                []*Help_Link `protobuf:"bytes,1,rep,name=links,proto3" json:"links,omitempty"`
581	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
582	XXX_unrecognized     []byte       `json:"-"`
583	XXX_sizecache        int32        `json:"-"`
584}
585
586func (m *Help) Reset()         { *m = Help{} }
587func (m *Help) String() string { return proto.CompactTextString(m) }
588func (*Help) ProtoMessage()    {}
589func (*Help) Descriptor() ([]byte, []int) {
590	return fileDescriptor_851816e4d6b6361a, []int{7}
591}
592
593func (m *Help) XXX_Unmarshal(b []byte) error {
594	return xxx_messageInfo_Help.Unmarshal(m, b)
595}
596func (m *Help) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
597	return xxx_messageInfo_Help.Marshal(b, m, deterministic)
598}
599func (m *Help) XXX_Merge(src proto.Message) {
600	xxx_messageInfo_Help.Merge(m, src)
601}
602func (m *Help) XXX_Size() int {
603	return xxx_messageInfo_Help.Size(m)
604}
605func (m *Help) XXX_DiscardUnknown() {
606	xxx_messageInfo_Help.DiscardUnknown(m)
607}
608
609var xxx_messageInfo_Help proto.InternalMessageInfo
610
611func (m *Help) GetLinks() []*Help_Link {
612	if m != nil {
613		return m.Links
614	}
615	return nil
616}
617
618// Describes a URL link.
619type Help_Link struct {
620	// Describes what the link offers.
621	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
622	// The URL of the link.
623	Url                  string   `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
624	XXX_NoUnkeyedLiteral struct{} `json:"-"`
625	XXX_unrecognized     []byte   `json:"-"`
626	XXX_sizecache        int32    `json:"-"`
627}
628
629func (m *Help_Link) Reset()         { *m = Help_Link{} }
630func (m *Help_Link) String() string { return proto.CompactTextString(m) }
631func (*Help_Link) ProtoMessage()    {}
632func (*Help_Link) Descriptor() ([]byte, []int) {
633	return fileDescriptor_851816e4d6b6361a, []int{7, 0}
634}
635
636func (m *Help_Link) XXX_Unmarshal(b []byte) error {
637	return xxx_messageInfo_Help_Link.Unmarshal(m, b)
638}
639func (m *Help_Link) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
640	return xxx_messageInfo_Help_Link.Marshal(b, m, deterministic)
641}
642func (m *Help_Link) XXX_Merge(src proto.Message) {
643	xxx_messageInfo_Help_Link.Merge(m, src)
644}
645func (m *Help_Link) XXX_Size() int {
646	return xxx_messageInfo_Help_Link.Size(m)
647}
648func (m *Help_Link) XXX_DiscardUnknown() {
649	xxx_messageInfo_Help_Link.DiscardUnknown(m)
650}
651
652var xxx_messageInfo_Help_Link proto.InternalMessageInfo
653
654func (m *Help_Link) GetDescription() string {
655	if m != nil {
656		return m.Description
657	}
658	return ""
659}
660
661func (m *Help_Link) GetUrl() string {
662	if m != nil {
663		return m.Url
664	}
665	return ""
666}
667
668// Provides a localized error message that is safe to return to the user
669// which can be attached to an RPC error.
670type LocalizedMessage struct {
671	// The locale used following the specification defined at
672	// http://www.rfc-editor.org/rfc/bcp/bcp47.txt.
673	// Examples are: "en-US", "fr-CH", "es-MX"
674	Locale string `protobuf:"bytes,1,opt,name=locale,proto3" json:"locale,omitempty"`
675	// The localized error message in the above locale.
676	Message              string   `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
677	XXX_NoUnkeyedLiteral struct{} `json:"-"`
678	XXX_unrecognized     []byte   `json:"-"`
679	XXX_sizecache        int32    `json:"-"`
680}
681
682func (m *LocalizedMessage) Reset()         { *m = LocalizedMessage{} }
683func (m *LocalizedMessage) String() string { return proto.CompactTextString(m) }
684func (*LocalizedMessage) ProtoMessage()    {}
685func (*LocalizedMessage) Descriptor() ([]byte, []int) {
686	return fileDescriptor_851816e4d6b6361a, []int{8}
687}
688
689func (m *LocalizedMessage) XXX_Unmarshal(b []byte) error {
690	return xxx_messageInfo_LocalizedMessage.Unmarshal(m, b)
691}
692func (m *LocalizedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
693	return xxx_messageInfo_LocalizedMessage.Marshal(b, m, deterministic)
694}
695func (m *LocalizedMessage) XXX_Merge(src proto.Message) {
696	xxx_messageInfo_LocalizedMessage.Merge(m, src)
697}
698func (m *LocalizedMessage) XXX_Size() int {
699	return xxx_messageInfo_LocalizedMessage.Size(m)
700}
701func (m *LocalizedMessage) XXX_DiscardUnknown() {
702	xxx_messageInfo_LocalizedMessage.DiscardUnknown(m)
703}
704
705var xxx_messageInfo_LocalizedMessage proto.InternalMessageInfo
706
707func (m *LocalizedMessage) GetLocale() string {
708	if m != nil {
709		return m.Locale
710	}
711	return ""
712}
713
714func (m *LocalizedMessage) GetMessage() string {
715	if m != nil {
716		return m.Message
717	}
718	return ""
719}
720
721func init() {
722	proto.RegisterType((*RetryInfo)(nil), "google.rpc.RetryInfo")
723	proto.RegisterType((*DebugInfo)(nil), "google.rpc.DebugInfo")
724	proto.RegisterType((*QuotaFailure)(nil), "google.rpc.QuotaFailure")
725	proto.RegisterType((*QuotaFailure_Violation)(nil), "google.rpc.QuotaFailure.Violation")
726	proto.RegisterType((*PreconditionFailure)(nil), "google.rpc.PreconditionFailure")
727	proto.RegisterType((*PreconditionFailure_Violation)(nil), "google.rpc.PreconditionFailure.Violation")
728	proto.RegisterType((*BadRequest)(nil), "google.rpc.BadRequest")
729	proto.RegisterType((*BadRequest_FieldViolation)(nil), "google.rpc.BadRequest.FieldViolation")
730	proto.RegisterType((*RequestInfo)(nil), "google.rpc.RequestInfo")
731	proto.RegisterType((*ResourceInfo)(nil), "google.rpc.ResourceInfo")
732	proto.RegisterType((*Help)(nil), "google.rpc.Help")
733	proto.RegisterType((*Help_Link)(nil), "google.rpc.Help.Link")
734	proto.RegisterType((*LocalizedMessage)(nil), "google.rpc.LocalizedMessage")
735}
736
737func init() { proto.RegisterFile("google/rpc/error_details.proto", fileDescriptor_851816e4d6b6361a) }
738
739var fileDescriptor_851816e4d6b6361a = []byte{
740	// 595 bytes of a gzipped FileDescriptorProto
741	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xcd, 0x6e, 0xd3, 0x4c,
742	0x14, 0x95, 0x9b, 0xb4, 0x9f, 0x7c, 0x93, 0xaf, 0x14, 0xf3, 0xa3, 0x10, 0x09, 0x14, 0x8c, 0x90,
743	0x8a, 0x90, 0x1c, 0xa9, 0xec, 0xca, 0x02, 0x29, 0xb8, 0x7f, 0x52, 0x81, 0x60, 0x21, 0x16, 0xb0,
744	0xb0, 0x26, 0xf6, 0x8d, 0x35, 0x74, 0xe2, 0x31, 0x33, 0xe3, 0xa2, 0xf0, 0x14, 0xec, 0xd9, 0xb1,
745	0xe2, 0x25, 0x78, 0x37, 0x34, 0x9e, 0x99, 0xc6, 0x6d, 0x0a, 0x62, 0x37, 0xe7, 0xcc, 0x99, 0xe3,
746	0x73, 0xaf, 0xae, 0x2f, 0x3c, 0x28, 0x38, 0x2f, 0x18, 0x8e, 0x45, 0x95, 0x8d, 0x51, 0x08, 0x2e,
747	0xd2, 0x1c, 0x15, 0xa1, 0x4c, 0x46, 0x95, 0xe0, 0x8a, 0x07, 0x60, 0xee, 0x23, 0x51, 0x65, 0x43,
748	0xa7, 0x6d, 0x6e, 0x66, 0xf5, 0x7c, 0x9c, 0xd7, 0x82, 0x28, 0xca, 0x4b, 0xa3, 0x0d, 0x8f, 0xc0,
749	0x4f, 0x50, 0x89, 0xe5, 0x49, 0x39, 0xe7, 0xc1, 0x3e, 0xf4, 0x84, 0x06, 0x69, 0x8e, 0x8c, 0x2c,
750	0x07, 0xde, 0xc8, 0xdb, 0xed, 0xed, 0xdd, 0x8b, 0xac, 0x9d, 0xb3, 0x88, 0x62, 0x6b, 0x91, 0x40,
751	0xa3, 0x8e, 0xb5, 0x38, 0x3c, 0x06, 0x3f, 0xc6, 0x59, 0x5d, 0x34, 0x46, 0x8f, 0xe0, 0x7f, 0xa9,
752	0x48, 0x76, 0x96, 0x62, 0xa9, 0x04, 0x45, 0x39, 0xf0, 0x46, 0x9d, 0x5d, 0x3f, 0xe9, 0x37, 0xe4,
753	0x81, 0xe1, 0x82, 0xbb, 0xb0, 0x65, 0x72, 0x0f, 0x36, 0x46, 0xde, 0xae, 0x9f, 0x58, 0x14, 0x7e,
754	0xf7, 0xa0, 0xff, 0xb6, 0xe6, 0x8a, 0x1c, 0x12, 0xca, 0x6a, 0x81, 0xc1, 0x04, 0xe0, 0x9c, 0x72,
755	0xd6, 0x7c, 0xd3, 0x58, 0xf5, 0xf6, 0xc2, 0x68, 0x55, 0x64, 0xd4, 0x56, 0x47, 0xef, 0x9d, 0x34,
756	0x69, 0xbd, 0x1a, 0x1e, 0x81, 0x7f, 0x71, 0x11, 0x0c, 0xe0, 0x3f, 0x59, 0xcf, 0x3e, 0x61, 0xa6,
757	0x9a, 0x1a, 0xfd, 0xc4, 0xc1, 0x60, 0x04, 0xbd, 0x1c, 0x65, 0x26, 0x68, 0xa5, 0x85, 0x36, 0x58,
758	0x9b, 0x0a, 0x7f, 0x79, 0x70, 0x6b, 0x2a, 0x30, 0xe3, 0x65, 0x4e, 0x35, 0xe1, 0x42, 0x9e, 0x5c,
759	0x13, 0xf2, 0x49, 0x3b, 0xe4, 0x35, 0x8f, 0xfe, 0x90, 0xf5, 0x63, 0x3b, 0x6b, 0x00, 0x5d, 0xb5,
760	0xac, 0xd0, 0x06, 0x6d, 0xce, 0xed, 0xfc, 0x1b, 0x7f, 0xcd, 0xdf, 0x59, 0xcf, 0xff, 0xd3, 0x03,
761	0x98, 0x90, 0x3c, 0xc1, 0xcf, 0x35, 0x4a, 0x15, 0x4c, 0x61, 0x67, 0x4e, 0x91, 0xe5, 0xe9, 0x5a,
762	0xf8, 0xc7, 0xed, 0xf0, 0xab, 0x17, 0xd1, 0xa1, 0x96, 0xaf, 0x82, 0xdf, 0x98, 0x5f, 0xc2, 0x72,
763	0x78, 0x0c, 0xdb, 0x97, 0x25, 0xc1, 0x6d, 0xd8, 0x6c, 0x44, 0xb6, 0x06, 0x03, 0xfe, 0xa1, 0xd5,
764	0x6f, 0xa0, 0x67, 0x3f, 0xda, 0x0c, 0xd5, 0x7d, 0x00, 0x61, 0x60, 0x4a, 0x9d, 0x97, 0x6f, 0x99,
765	0x93, 0x3c, 0x78, 0x08, 0x7d, 0x89, 0xe2, 0x9c, 0x96, 0x45, 0x9a, 0x13, 0x45, 0x9c, 0xa1, 0xe5,
766	0x62, 0xa2, 0x48, 0xf8, 0xcd, 0x83, 0x7e, 0x82, 0x92, 0xd7, 0x22, 0x43, 0x37, 0xa7, 0xc2, 0xe2,
767	0xb4, 0xd5, 0xe5, 0xbe, 0x23, 0xdf, 0xe9, 0x6e, 0xb7, 0x45, 0x25, 0x59, 0xa0, 0x75, 0xbe, 0x10,
768	0xbd, 0x26, 0x0b, 0xd4, 0x35, 0xf2, 0x2f, 0x25, 0x0a, 0xdb, 0x72, 0x03, 0xae, 0xd6, 0xd8, 0x5d,
769	0xaf, 0x91, 0x43, 0xf7, 0x18, 0x59, 0x15, 0x3c, 0x85, 0x4d, 0x46, 0xcb, 0x33, 0xd7, 0xfc, 0x3b,
770	0xed, 0xe6, 0x6b, 0x41, 0x74, 0x4a, 0xcb, 0xb3, 0xc4, 0x68, 0x86, 0xfb, 0xd0, 0xd5, 0xf0, 0xaa,
771	0xbd, 0xb7, 0x66, 0x1f, 0xec, 0x40, 0xa7, 0x16, 0xee, 0x07, 0xd3, 0xc7, 0x30, 0x86, 0x9d, 0x53,
772	0x9e, 0x11, 0x46, 0xbf, 0x62, 0xfe, 0x0a, 0xa5, 0x24, 0x05, 0xea, 0x3f, 0x91, 0x69, 0xce, 0xd5,
773	0x6f, 0x91, 0x9e, 0xb3, 0x85, 0x91, 0xb8, 0x39, 0xb3, 0x70, 0xc2, 0x60, 0x3b, 0xe3, 0x8b, 0x56,
774	0xc8, 0xc9, 0xcd, 0x03, 0xbd, 0x89, 0x62, 0xb3, 0x88, 0xa6, 0x7a, 0x55, 0x4c, 0xbd, 0x0f, 0x2f,
775	0xac, 0xa0, 0xe0, 0x8c, 0x94, 0x45, 0xc4, 0x45, 0x31, 0x2e, 0xb0, 0x6c, 0x16, 0xc9, 0xd8, 0x5c,
776	0x91, 0x8a, 0x4a, 0xb7, 0xc8, 0xec, 0x16, 0x7b, 0xbe, 0x3a, 0xfe, 0xd8, 0xe8, 0x24, 0xd3, 0x97,
777	0xb3, 0xad, 0xe6, 0xc5, 0xb3, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x90, 0x15, 0x46, 0x2d, 0xf9,
778	0x04, 0x00, 0x00,
779}
780