// Copyright 2025 Google LLC//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.// Code generated by protoc-gen-go. DO NOT EDIT.// versions:// protoc-gen-go v1.26.0// protoc v4.24.4// source: google/rpc/error_details.protopackage errdetailsimport (reflectsyncprotoreflectprotoimpldurationpb)const (// Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)// Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20))// Describes the cause of the error with structured details.//// Example of an error when contacting the "pubsub.googleapis.com" API when it// is not enabled://// { "reason": "API_DISABLED"// "domain": "googleapis.com"// "metadata": {// "resource": "projects/123",// "service": "pubsub.googleapis.com"// }// }//// This response indicates that the pubsub.googleapis.com API is not enabled.//// Example of an error that is returned when attempting to create a Spanner// instance in a region that is out of stock://// { "reason": "STOCKOUT"// "domain": "spanner.googleapis.com",// "metadata": {// "availableRegions": "us-central1,us-east2"// }// }typeErrorInfostruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// The reason of the error. This is a constant value that identifies the // proximate cause of the error. Error reasons are unique within a particular // domain of errors. This should be at most 63 characters and match a // regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents // UPPER_SNAKE_CASE. Reason string`protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"`// The logical grouping to which the "reason" belongs. The error domain // is typically the registered service name of the tool or product that // generates the error. Example: "pubsub.googleapis.com". If the error is // generated by some common infrastructure, the error domain must be a // globally unique value that identifies the infrastructure. For Google API // infrastructure, the error domain is "googleapis.com". Domain string`protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`// Additional structured details about this error. // // Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should // ideally be lowerCamelCase. Also, they must be limited to 64 characters in // length. When identifying the current value of an exceeded limit, the units // should be contained in the key, not the value. For example, rather than // `{"instanceLimit": "100/request"}`, should be returned as, // `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of // instances that can be created in a single (batch) request. 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"`}func ( *ErrorInfo) () { * = ErrorInfo{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[0] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *ErrorInfo) () string {returnprotoimpl.X.MessageStringOf()}func (*ErrorInfo) () {}func ( *ErrorInfo) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[0]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use ErrorInfo.ProtoReflect.Descriptor instead.func (*ErrorInfo) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{0}}func ( *ErrorInfo) () string {if != nil {return .Reason }return""}func ( *ErrorInfo) () string {if != nil {return .Domain }return""}func ( *ErrorInfo) () map[string]string {if != nil {return .Metadata }returnnil}// Describes when the clients can retry a failed request. Clients could ignore// the recommendation here or retry when this information is missing from error// responses.//// It's always recommended that clients should use exponential backoff when// retrying.//// Clients should wait until `retry_delay` amount of time has passed since// receiving the error response before retrying. If retrying requests also// fail, clients should use an exponential backoff scheme to gradually increase// the delay between retries based on `retry_delay`, until either a maximum// number of retries have been reached or a maximum retry delay cap has been// reached.typeRetryInfostruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// Clients should wait at least this long between retrying the same request. RetryDelay *durationpb.Duration`protobuf:"bytes,1,opt,name=retry_delay,json=retryDelay,proto3" json:"retry_delay,omitempty"`}func ( *RetryInfo) () { * = RetryInfo{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[1] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *RetryInfo) () string {returnprotoimpl.X.MessageStringOf()}func (*RetryInfo) () {}func ( *RetryInfo) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[1]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use RetryInfo.ProtoReflect.Descriptor instead.func (*RetryInfo) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{1}}func ( *RetryInfo) () *durationpb.Duration {if != nil {return .RetryDelay }returnnil}// Describes additional debugging info.typeDebugInfostruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// The stack trace entries indicating where the error occurred. StackEntries []string`protobuf:"bytes,1,rep,name=stack_entries,json=stackEntries,proto3" json:"stack_entries,omitempty"`// Additional debugging information provided by the server. Detail string`protobuf:"bytes,2,opt,name=detail,proto3" json:"detail,omitempty"`}func ( *DebugInfo) () { * = DebugInfo{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[2] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *DebugInfo) () string {returnprotoimpl.X.MessageStringOf()}func (*DebugInfo) () {}func ( *DebugInfo) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[2]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use DebugInfo.ProtoReflect.Descriptor instead.func (*DebugInfo) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{2}}func ( *DebugInfo) () []string {if != nil {return .StackEntries }returnnil}func ( *DebugInfo) () string {if != nil {return .Detail }return""}// Describes how a quota check failed.//// For example if a daily limit was exceeded for the calling project,// a service could respond with a QuotaFailure detail containing the project// id and the description of the quota limit that was exceeded. If the// calling project hasn't enabled the service in the developer console, then// a service could respond with the project id and set `service_disabled`// to true.//// Also see RetryInfo and Help types for other details about handling a// quota failure.typeQuotaFailurestruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// Describes all quota violations. Violations []*QuotaFailure_Violation`protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"`}func ( *QuotaFailure) () { * = QuotaFailure{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[3] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *QuotaFailure) () string {returnprotoimpl.X.MessageStringOf()}func (*QuotaFailure) () {}func ( *QuotaFailure) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[3]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use QuotaFailure.ProtoReflect.Descriptor instead.func (*QuotaFailure) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{3}}func ( *QuotaFailure) () []*QuotaFailure_Violation {if != nil {return .Violations }returnnil}// Describes what preconditions have failed.//// For example, if an RPC failed because it required the Terms of Service to be// acknowledged, it could list the terms of service violation in the// PreconditionFailure message.typePreconditionFailurestruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// Describes all precondition violations. Violations []*PreconditionFailure_Violation`protobuf:"bytes,1,rep,name=violations,proto3" json:"violations,omitempty"`}func ( *PreconditionFailure) () { * = PreconditionFailure{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[4] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *PreconditionFailure) () string {returnprotoimpl.X.MessageStringOf()}func (*PreconditionFailure) () {}func ( *PreconditionFailure) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[4]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use PreconditionFailure.ProtoReflect.Descriptor instead.func (*PreconditionFailure) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{4}}func ( *PreconditionFailure) () []*PreconditionFailure_Violation {if != nil {return .Violations }returnnil}// Describes violations in a client request. This error type focuses on the// syntactic aspects of the request.typeBadRequeststruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// Describes all violations in a client request. FieldViolations []*BadRequest_FieldViolation`protobuf:"bytes,1,rep,name=field_violations,json=fieldViolations,proto3" json:"field_violations,omitempty"`}func ( *BadRequest) () { * = BadRequest{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[5] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *BadRequest) () string {returnprotoimpl.X.MessageStringOf()}func (*BadRequest) () {}func ( *BadRequest) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[5]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use BadRequest.ProtoReflect.Descriptor instead.func (*BadRequest) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{5}}func ( *BadRequest) () []*BadRequest_FieldViolation {if != nil {return .FieldViolations }returnnil}// Contains metadata about the request that clients can attach when filing a bug// or providing other forms of feedback.typeRequestInfostruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// An opaque string that should only be interpreted by the service generating // it. For example, it can be used to identify requests in the service's logs. RequestId string`protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`// Any data that was used to serve this request. For example, an encrypted // stack trace that can be sent back to the service provider for debugging. ServingData string`protobuf:"bytes,2,opt,name=serving_data,json=servingData,proto3" json:"serving_data,omitempty"`}func ( *RequestInfo) () { * = RequestInfo{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[6] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *RequestInfo) () string {returnprotoimpl.X.MessageStringOf()}func (*RequestInfo) () {}func ( *RequestInfo) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[6]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use RequestInfo.ProtoReflect.Descriptor instead.func (*RequestInfo) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{6}}func ( *RequestInfo) () string {if != nil {return .RequestId }return""}func ( *RequestInfo) () string {if != nil {return .ServingData }return""}// Describes the resource that is being accessed.typeResourceInfostruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// A name for the type of resource being accessed, e.g. "sql table", // "cloud storage bucket", "file", "Google calendar"; or the type URL // of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic". ResourceType string`protobuf:"bytes,1,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`// The name of the resource being accessed. For example, a shared calendar // name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current // error is // [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED]. ResourceName string`protobuf:"bytes,2,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`// The owner of the resource (optional). // For example, "user:<owner email>" or "project:<Google developer project // id>". Owner string`protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"`// Describes what error is encountered when accessing this resource. // For example, updating a cloud project may require the `writer` permission // on the developer console project. Description string`protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`}func ( *ResourceInfo) () { * = ResourceInfo{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[7] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *ResourceInfo) () string {returnprotoimpl.X.MessageStringOf()}func (*ResourceInfo) () {}func ( *ResourceInfo) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[7]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use ResourceInfo.ProtoReflect.Descriptor instead.func (*ResourceInfo) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{7}}func ( *ResourceInfo) () string {if != nil {return .ResourceType }return""}func ( *ResourceInfo) () string {if != nil {return .ResourceName }return""}func ( *ResourceInfo) () string {if != nil {return .Owner }return""}func ( *ResourceInfo) () string {if != nil {return .Description }return""}// Provides links to documentation or for performing an out of band action.//// For example, if a quota check failed with an error indicating the calling// project hasn't enabled the accessed service, this can contain a URL pointing// directly to the right place in the developer console to flip the bit.typeHelpstruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// URL(s) pointing to additional information on handling the current error. Links []*Help_Link`protobuf:"bytes,1,rep,name=links,proto3" json:"links,omitempty"`}func ( *Help) () { * = Help{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[8] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *Help) () string {returnprotoimpl.X.MessageStringOf()}func (*Help) () {}func ( *Help) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[8]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use Help.ProtoReflect.Descriptor instead.func (*Help) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{8}}func ( *Help) () []*Help_Link {if != nil {return .Links }returnnil}// Provides a localized error message that is safe to return to the user// which can be attached to an RPC error.typeLocalizedMessagestruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// The locale used following the specification defined at // https://www.rfc-editor.org/rfc/bcp/bcp47.txt. // Examples are: "en-US", "fr-CH", "es-MX" Locale string`protobuf:"bytes,1,opt,name=locale,proto3" json:"locale,omitempty"`// The localized error message in the above locale. Message string`protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`}func ( *LocalizedMessage) () { * = LocalizedMessage{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[9] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *LocalizedMessage) () string {returnprotoimpl.X.MessageStringOf()}func (*LocalizedMessage) () {}func ( *LocalizedMessage) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[9]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use LocalizedMessage.ProtoReflect.Descriptor instead.func (*LocalizedMessage) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{9}}func ( *LocalizedMessage) () string {if != nil {return .Locale }return""}func ( *LocalizedMessage) () string {if != nil {return .Message }return""}// A message type used to describe a single quota violation. For example, a// daily quota or a custom quota that was exceeded.typeQuotaFailure_Violationstruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// The subject on which the quota check failed. // For example, "clientip:<ip address of client>" or "project:<Google // developer project id>". Subject string`protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`// A description of how the quota check failed. Clients can use this // description to find more about the quota configuration in the service's // public documentation, or find the relevant quota limit to adjust through // developer console. // // For example: "Service disabled" or "Daily Limit for read operations // exceeded". Description string`protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`// The API Service from which the `QuotaFailure.Violation` orginates. In // some cases, Quota issues originate from an API Service other than the one // that was called. In other words, a dependency of the called API Service // could be the cause of the `QuotaFailure`, and this field would have the // dependency API service name. // // For example, if the called API is Kubernetes Engine API // (container.googleapis.com), and a quota violation occurs in the // Kubernetes Engine API itself, this field would be // "container.googleapis.com". On the other hand, if the quota violation // occurs when the Kubernetes Engine API creates VMs in the Compute Engine // API (compute.googleapis.com), this field would be // "compute.googleapis.com". ApiService string`protobuf:"bytes,3,opt,name=api_service,json=apiService,proto3" json:"api_service,omitempty"`// The metric of the violated quota. A quota metric is a named counter to // measure usage, such as API requests or CPUs. When an activity occurs in a // service, such as Virtual Machine allocation, one or more quota metrics // may be affected. // // For example, "compute.googleapis.com/cpus_per_vm_family", // "storage.googleapis.com/internet_egress_bandwidth". QuotaMetric string`protobuf:"bytes,4,opt,name=quota_metric,json=quotaMetric,proto3" json:"quota_metric,omitempty"`// The id of the violated quota. Also know as "limit name", this is the // unique identifier of a quota in the context of an API service. // // For example, "CPUS-PER-VM-FAMILY-per-project-region". QuotaId string`protobuf:"bytes,5,opt,name=quota_id,json=quotaId,proto3" json:"quota_id,omitempty"`// The dimensions of the violated quota. Every non-global quota is enforced // on a set of dimensions. While quota metric defines what to count, the // dimensions specify for what aspects the counter should be increased. // // For example, the quota "CPUs per region per VM family" enforces a limit // on the metric "compute.googleapis.com/cpus_per_vm_family" on dimensions // "region" and "vm_family". And if the violation occurred in region // "us-central1" and for VM family "n1", the quota_dimensions would be, // // { // "region": "us-central1", // "vm_family": "n1", // } // // When a quota is enforced globally, the quota_dimensions would always be // empty. 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"`// The enforced quota value at the time of the `QuotaFailure`. // // For example, if the enforced quota value at the time of the // `QuotaFailure` on the number of CPUs is "10", then the value of this // field would reflect this quantity. QuotaValue int64`protobuf:"varint,7,opt,name=quota_value,json=quotaValue,proto3" json:"quota_value,omitempty"`// The new quota value being rolled out at the time of the violation. At the // completion of the rollout, this value will be enforced in place of // quota_value. If no rollout is in progress at the time of the violation, // this field is not set. // // For example, if at the time of the violation a rollout is in progress // changing the number of CPUs quota from 10 to 20, 20 would be the value of // this field. FutureQuotaValue *int64`protobuf:"varint,8,opt,name=future_quota_value,json=futureQuotaValue,proto3,oneof" json:"future_quota_value,omitempty"`}func ( *QuotaFailure_Violation) () { * = QuotaFailure_Violation{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[11] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *QuotaFailure_Violation) () string {returnprotoimpl.X.MessageStringOf()}func (*QuotaFailure_Violation) () {}func ( *QuotaFailure_Violation) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[11]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use QuotaFailure_Violation.ProtoReflect.Descriptor instead.func (*QuotaFailure_Violation) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{3, 0}}func ( *QuotaFailure_Violation) () string {if != nil {return .Subject }return""}func ( *QuotaFailure_Violation) () string {if != nil {return .Description }return""}func ( *QuotaFailure_Violation) () string {if != nil {return .ApiService }return""}func ( *QuotaFailure_Violation) () string {if != nil {return .QuotaMetric }return""}func ( *QuotaFailure_Violation) () string {if != nil {return .QuotaId }return""}func ( *QuotaFailure_Violation) () map[string]string {if != nil {return .QuotaDimensions }returnnil}func ( *QuotaFailure_Violation) () int64 {if != nil {return .QuotaValue }return0}func ( *QuotaFailure_Violation) () int64 {if != nil && .FutureQuotaValue != nil {return *.FutureQuotaValue }return0}// A message type used to describe a single precondition failure.typePreconditionFailure_Violationstruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// The type of PreconditionFailure. We recommend using a service-specific // enum type to define the supported precondition violation subjects. For // example, "TOS" for "Terms of Service violation". Type string`protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`// The subject, relative to the type, that failed. // For example, "google.com/cloud" relative to the "TOS" type would indicate // which terms of service is being referenced. Subject string`protobuf:"bytes,2,opt,name=subject,proto3" json:"subject,omitempty"`// A description of how the precondition failed. Developers can use this // description to understand how to fix the failure. // // For example: "Terms of service not accepted". Description string`protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`}func ( *PreconditionFailure_Violation) () { * = PreconditionFailure_Violation{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[13] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *PreconditionFailure_Violation) () string {returnprotoimpl.X.MessageStringOf()}func (*PreconditionFailure_Violation) () {}func ( *PreconditionFailure_Violation) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[13]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use PreconditionFailure_Violation.ProtoReflect.Descriptor instead.func (*PreconditionFailure_Violation) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{4, 0}}func ( *PreconditionFailure_Violation) () string {if != nil {return .Type }return""}func ( *PreconditionFailure_Violation) () string {if != nil {return .Subject }return""}func ( *PreconditionFailure_Violation) () string {if != nil {return .Description }return""}// A message type used to describe a single bad request field.typeBadRequest_FieldViolationstruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// A path that leads to a field in the request body. The value will be a // sequence of dot-separated identifiers that identify a protocol buffer // field. // // Consider the following: // // message CreateContactRequest { // message EmailAddress { // enum Type { // TYPE_UNSPECIFIED = 0; // HOME = 1; // WORK = 2; // } // // optional string email = 1; // repeated EmailType type = 2; // } // // string full_name = 1; // repeated EmailAddress email_addresses = 2; // } // // In this example, in proto `field` could take one of the following values: // // - `full_name` for a violation in the `full_name` value // - `email_addresses[1].email` for a violation in the `email` field of the // first `email_addresses` message // - `email_addresses[3].type[2]` for a violation in the second `type` // value in the third `email_addresses` message. // // In JSON, the same values are represented as: // // - `fullName` for a violation in the `fullName` value // - `emailAddresses[1].email` for a violation in the `email` field of the // first `emailAddresses` message // - `emailAddresses[3].type[2]` for a violation in the second `type` // value in the third `emailAddresses` message. Field string`protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`// A description of why the request element is bad. Description string`protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`// The reason of the field-level error. This is a constant value that // identifies the proximate cause of the field-level error. It should // uniquely identify the type of the FieldViolation within the scope of the // google.rpc.ErrorInfo.domain. This should be at most 63 // characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, // which represents UPPER_SNAKE_CASE. Reason string`protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`// Provides a localized error message for field-level errors that is safe to // return to the API consumer. LocalizedMessage *LocalizedMessage`protobuf:"bytes,4,opt,name=localized_message,json=localizedMessage,proto3" json:"localized_message,omitempty"`}func ( *BadRequest_FieldViolation) () { * = BadRequest_FieldViolation{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[14] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *BadRequest_FieldViolation) () string {returnprotoimpl.X.MessageStringOf()}func (*BadRequest_FieldViolation) () {}func ( *BadRequest_FieldViolation) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[14]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use BadRequest_FieldViolation.ProtoReflect.Descriptor instead.func (*BadRequest_FieldViolation) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{5, 0}}func ( *BadRequest_FieldViolation) () string {if != nil {return .Field }return""}func ( *BadRequest_FieldViolation) () string {if != nil {return .Description }return""}func ( *BadRequest_FieldViolation) () string {if != nil {return .Reason }return""}func ( *BadRequest_FieldViolation) () *LocalizedMessage {if != nil {return .LocalizedMessage }returnnil}// Describes a URL link.typeHelp_Linkstruct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields// Describes what the link offers. Description string`protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`// The URL of the link. Url string`protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`}func ( *Help_Link) () { * = Help_Link{}ifprotoimpl.UnsafeEnabled { := &file_google_rpc_error_details_proto_msgTypes[15] := protoimpl.X.MessageStateOf(protoimpl.Pointer()) .StoreMessageInfo() }}func ( *Help_Link) () string {returnprotoimpl.X.MessageStringOf()}func (*Help_Link) () {}func ( *Help_Link) () protoreflect.Message { := &file_google_rpc_error_details_proto_msgTypes[15]ifprotoimpl.UnsafeEnabled && != nil { := protoimpl.X.MessageStateOf(protoimpl.Pointer())if .LoadMessageInfo() == nil { .StoreMessageInfo() }return }return .MessageOf()}// Deprecated: Use Help_Link.ProtoReflect.Descriptor instead.func (*Help_Link) () ([]byte, []int) {returnfile_google_rpc_error_details_proto_rawDescGZIP(), []int{8, 0}}func ( *Help_Link) () string {if != nil {return .Description }return""}func ( *Help_Link) () string {if != nil {return .Url }return""}varFile_google_rpc_error_details_protoprotoreflect.FileDescriptorvar file_google_rpc_error_details_proto_rawDesc = []byte{0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x65, 0x72, 0x72,0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x1e, 0x67, 0x6f,0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a,0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65,0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73,0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01,0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65,0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49,0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72,0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d,0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x47, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72,0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x64,0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x61,0x79, 0x22, 0x48, 0x0a, 0x09, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23,0x0a, 0x0d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18,0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x72,0x69, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20,0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x8e, 0x04, 0x0a, 0x0c,0x51, 0x75, 0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x42, 0x0a, 0x0a,0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75,0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61,0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,0x1a, 0xb9, 0x03, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70,0x69, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,0x0a, 0x61, 0x70, 0x69, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x71,0x75, 0x6f, 0x74, 0x61, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28,0x09, 0x52, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x19,0x0a, 0x08, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,0x52, 0x07, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x10, 0x71, 0x75, 0x6f,0x74, 0x61, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20,0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63,0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69,0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x44, 0x69, 0x6d,0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x71, 0x75,0x6f, 0x74, 0x61, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a,0x0b, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01,0x28, 0x03, 0x52, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x31,0x0a, 0x12, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x76,0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x10, 0x66, 0x75,0x74, 0x75, 0x72, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01,0x01, 0x1a, 0x42, 0x0a, 0x14, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73,0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65,0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbd, 0x01, 0x0a,0x13, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69,0x6c, 0x75, 0x72, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f,0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74,0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a,0x5b, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x02, 0x0a,0x0a, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x10, 0x66,0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72,0x70, 0x63, 0x2e, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69,0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x69,0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xab, 0x01,0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,0x12, 0x49, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x65,0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a,0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c,0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4f, 0x0a, 0x0b, 0x52,0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65,0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72,0x76, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x90, 0x01, 0x0a,0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a,0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79,0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e,0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75,0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72,0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x20, 0x0a,0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,0x6f, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73,0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,0x72, 0x70, 0x63, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c,0x69, 0x6e, 0x6b, 0x73, 0x1a, 0x3a, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x0b,0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c,0x22, 0x44, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73,0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x01,0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07,0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d,0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x6c, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x11, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44,0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67,0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67,0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,0x61, 0x70, 0x69, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x65, 0x72, 0x72, 0x64, 0x65, 0x74, 0x61,0x69, 0x6c, 0x73, 0x3b, 0x65, 0x72, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0xa2, 0x02,0x03, 0x52, 0x50, 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,}var ( file_google_rpc_error_details_proto_rawDescOnce sync.Once file_google_rpc_error_details_proto_rawDescData = file_google_rpc_error_details_proto_rawDesc)func file_google_rpc_error_details_proto_rawDescGZIP() []byte {file_google_rpc_error_details_proto_rawDescOnce.Do(func() {file_google_rpc_error_details_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_rpc_error_details_proto_rawDescData) })returnfile_google_rpc_error_details_proto_rawDescData}var file_google_rpc_error_details_proto_msgTypes = make([]protoimpl.MessageInfo, 16)var file_google_rpc_error_details_proto_goTypes = []interface{}{ (*ErrorInfo)(nil), // 0: google.rpc.ErrorInfo (*RetryInfo)(nil), // 1: google.rpc.RetryInfo (*DebugInfo)(nil), // 2: google.rpc.DebugInfo (*QuotaFailure)(nil), // 3: google.rpc.QuotaFailure (*PreconditionFailure)(nil), // 4: google.rpc.PreconditionFailure (*BadRequest)(nil), // 5: google.rpc.BadRequest (*RequestInfo)(nil), // 6: google.rpc.RequestInfo (*ResourceInfo)(nil), // 7: google.rpc.ResourceInfo (*Help)(nil), // 8: google.rpc.Help (*LocalizedMessage)(nil), // 9: google.rpc.LocalizedMessagenil, // 10: google.rpc.ErrorInfo.MetadataEntry (*QuotaFailure_Violation)(nil), // 11: google.rpc.QuotaFailure.Violationnil, // 12: google.rpc.QuotaFailure.Violation.QuotaDimensionsEntry (*PreconditionFailure_Violation)(nil), // 13: google.rpc.PreconditionFailure.Violation (*BadRequest_FieldViolation)(nil), // 14: google.rpc.BadRequest.FieldViolation (*Help_Link)(nil), // 15: google.rpc.Help.Link (*durationpb.Duration)(nil), // 16: google.protobuf.Duration}var file_google_rpc_error_details_proto_depIdxs = []int32{10, // 0: google.rpc.ErrorInfo.metadata:type_name -> google.rpc.ErrorInfo.MetadataEntry16, // 1: google.rpc.RetryInfo.retry_delay:type_name -> google.protobuf.Duration11, // 2: google.rpc.QuotaFailure.violations:type_name -> google.rpc.QuotaFailure.Violation13, // 3: google.rpc.PreconditionFailure.violations:type_name -> google.rpc.PreconditionFailure.Violation14, // 4: google.rpc.BadRequest.field_violations:type_name -> google.rpc.BadRequest.FieldViolation15, // 5: google.rpc.Help.links:type_name -> google.rpc.Help.Link12, // 6: google.rpc.QuotaFailure.Violation.quota_dimensions:type_name -> google.rpc.QuotaFailure.Violation.QuotaDimensionsEntry9, // 7: google.rpc.BadRequest.FieldViolation.localized_message:type_name -> google.rpc.LocalizedMessage8, // [8:8] is the sub-list for method output_type8, // [8:8] is the sub-list for method input_type8, // [8:8] is the sub-list for extension type_name8, // [8:8] is the sub-list for extension extendee0, // [0:8] is the sub-list for field type_name}func init() { file_google_rpc_error_details_proto_init() }func file_google_rpc_error_details_proto_init() {ifFile_google_rpc_error_details_proto != nil {return }if !protoimpl.UnsafeEnabled {file_google_rpc_error_details_proto_msgTypes[0].Exporter = func( interface{}, int) interface{} {switch := .(*ErrorInfo); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[1].Exporter = func( interface{}, int) interface{} {switch := .(*RetryInfo); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[2].Exporter = func( interface{}, int) interface{} {switch := .(*DebugInfo); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[3].Exporter = func( interface{}, int) interface{} {switch := .(*QuotaFailure); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[4].Exporter = func( interface{}, int) interface{} {switch := .(*PreconditionFailure); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[5].Exporter = func( interface{}, int) interface{} {switch := .(*BadRequest); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[6].Exporter = func( interface{}, int) interface{} {switch := .(*RequestInfo); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[7].Exporter = func( interface{}, int) interface{} {switch := .(*ResourceInfo); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[8].Exporter = func( interface{}, int) interface{} {switch := .(*Help); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[9].Exporter = func( interface{}, int) interface{} {switch := .(*LocalizedMessage); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[11].Exporter = func( interface{}, int) interface{} {switch := .(*QuotaFailure_Violation); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[13].Exporter = func( interface{}, int) interface{} {switch := .(*PreconditionFailure_Violation); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[14].Exporter = func( interface{}, int) interface{} {switch := .(*BadRequest_FieldViolation); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } }file_google_rpc_error_details_proto_msgTypes[15].Exporter = func( interface{}, int) interface{} {switch := .(*Help_Link); {case0:return &.statecase1:return &.sizeCachecase2:return &.unknownFieldsdefault:returnnil } } }file_google_rpc_error_details_proto_msgTypes[11].OneofWrappers = []interface{}{}typestruct{} := protoimpl.TypeBuilder{File: protoimpl.DescBuilder{GoPackagePath: reflect.TypeOf({}).PkgPath(),RawDescriptor: file_google_rpc_error_details_proto_rawDesc,NumEnums: 0,NumMessages: 16,NumExtensions: 0,NumServices: 0, },GoTypes: file_google_rpc_error_details_proto_goTypes,DependencyIndexes: file_google_rpc_error_details_proto_depIdxs,MessageInfos: file_google_rpc_error_details_proto_msgTypes, }.Build()File_google_rpc_error_details_proto = .Filefile_google_rpc_error_details_proto_rawDesc = nilfile_google_rpc_error_details_proto_goTypes = nilfile_google_rpc_error_details_proto_depIdxs = nil}
The pages are generated with Goldsv0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.