import type { BinaryWriteOptions } from "@protobuf-ts/runtime"; import type { IBinaryWriter } from "@protobuf-ts/runtime"; import type { BinaryReadOptions } from "@protobuf-ts/runtime"; import type { IBinaryReader } from "@protobuf-ts/runtime"; import type { PartialMessage } from "@protobuf-ts/runtime"; import { MessageType } from "@protobuf-ts/runtime"; import { Duration } from "../protobuf/duration"; /** * 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. * * @generated from protobuf message google.rpc.RetryInfo */ export interface RetryInfo { /** * Clients should wait at least this long between retrying the same request. * * @generated from protobuf field: google.protobuf.Duration retry_delay = 1; */ retryDelay?: Duration; } /** * Describes additional debugging info. * * @generated from protobuf message google.rpc.DebugInfo */ export interface DebugInfo { /** * The stack trace entries indicating where the error occurred. * * @generated from protobuf field: repeated string stack_entries = 1; */ stackEntries: string[]; /** * Additional debugging information provided by the server. * * @generated from protobuf field: string detail = 2; */ detail: string; } /** * 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. * * @generated from protobuf message google.rpc.QuotaFailure */ export interface QuotaFailure { /** * Describes all quota violations. * * @generated from protobuf field: repeated google.rpc.QuotaFailure.Violation violations = 1; */ violations: QuotaFailure_Violation[]; } /** * A message type used to describe a single quota violation. For example, a * daily quota or a custom quota that was exceeded. * * @generated from protobuf message google.rpc.QuotaFailure.Violation */ export interface QuotaFailure_Violation { /** * The subject on which the quota check failed. * For example, "clientip:" or "project:". * * @generated from protobuf field: string subject = 1; */ subject: string; /** * 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". * * @generated from protobuf field: string description = 2; */ description: string; } /** * 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" * } * } * * @generated from protobuf message google.rpc.ErrorInfo */ export interface ErrorInfo { /** * 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-Z0-9_]+/. * * @generated from protobuf field: string reason = 1; */ reason: string; /** * 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". * * @generated from protobuf field: string domain = 2; */ domain: string; /** * Additional structured details about this error. * * Keys should match /[a-zA-Z0-9-_]/ and 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. * * @generated from protobuf field: map metadata = 3; */ metadata: { [key: string]: string; }; } /** * 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. * * @generated from protobuf message google.rpc.PreconditionFailure */ export interface PreconditionFailure { /** * Describes all precondition violations. * * @generated from protobuf field: repeated google.rpc.PreconditionFailure.Violation violations = 1; */ violations: PreconditionFailure_Violation[]; } /** * A message type used to describe a single precondition failure. * * @generated from protobuf message google.rpc.PreconditionFailure.Violation */ export interface PreconditionFailure_Violation { /** * 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". * * @generated from protobuf field: string type = 1; */ type: string; /** * 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. * * @generated from protobuf field: string subject = 2; */ subject: string; /** * 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". * * @generated from protobuf field: string description = 3; */ description: string; } /** * Describes violations in a client request. This error type focuses on the * syntactic aspects of the request. * * @generated from protobuf message google.rpc.BadRequest */ export interface BadRequest { /** * Describes all violations in a client request. * * @generated from protobuf field: repeated google.rpc.BadRequest.FieldViolation field_violations = 1; */ fieldViolations: BadRequest_FieldViolation[]; } /** * A message type used to describe a single bad request field. * * @generated from protobuf message google.rpc.BadRequest.FieldViolation */ export interface BadRequest_FieldViolation { /** * A path leading to a field in the request body. The value will be a * sequence of dot-separated identifiers that identify a protocol buffer * field. E.g., "field_violations.field" would identify this field. * * @generated from protobuf field: string field = 1; */ field: string; /** * A description of why the request element is bad. * * @generated from protobuf field: string description = 2; */ description: string; } /** * Contains metadata about the request that clients can attach when filing a bug * or providing other forms of feedback. * * @generated from protobuf message google.rpc.RequestInfo */ export interface RequestInfo { /** * 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. * * @generated from protobuf field: string request_id = 1; */ requestId: string; /** * 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. * * @generated from protobuf field: string serving_data = 2; */ servingData: string; } /** * Describes the resource that is being accessed. * * @generated from protobuf message google.rpc.ResourceInfo */ export interface ResourceInfo { /** * 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". * * @generated from protobuf field: string resource_type = 1; */ resourceType: string; /** * 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]. * * @generated from protobuf field: string resource_name = 2; */ resourceName: string; /** * The owner of the resource (optional). * For example, "user:" or "project:". * * @generated from protobuf field: string owner = 3; */ owner: string; /** * 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. * * @generated from protobuf field: string description = 4; */ description: string; } /** * 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. * * @generated from protobuf message google.rpc.Help */ export interface Help { /** * URL(s) pointing to additional information on handling the current error. * * @generated from protobuf field: repeated google.rpc.Help.Link links = 1; */ links: Help_Link[]; } /** * Describes a URL link. * * @generated from protobuf message google.rpc.Help.Link */ export interface Help_Link { /** * Describes what the link offers. * * @generated from protobuf field: string description = 1; */ description: string; /** * The URL of the link. * * @generated from protobuf field: string url = 2; */ url: string; } /** * Provides a localized error message that is safe to return to the user * which can be attached to an RPC error. * * @generated from protobuf message google.rpc.LocalizedMessage */ export interface LocalizedMessage { /** * The locale used following the specification defined at * http://www.rfc-editor.org/rfc/bcp/bcp47.txt. * Examples are: "en-US", "fr-CH", "es-MX" * * @generated from protobuf field: string locale = 1; */ locale: string; /** * The localized error message in the above locale. * * @generated from protobuf field: string message = 2; */ message: string; } declare class RetryInfo$Type extends MessageType { constructor(); create(value?: PartialMessage): RetryInfo; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RetryInfo): RetryInfo; internalBinaryWrite(message: RetryInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.RetryInfo */ export declare const RetryInfo: RetryInfo$Type; declare class DebugInfo$Type extends MessageType { constructor(); create(value?: PartialMessage): DebugInfo; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DebugInfo): DebugInfo; internalBinaryWrite(message: DebugInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.DebugInfo */ export declare const DebugInfo: DebugInfo$Type; declare class QuotaFailure$Type extends MessageType { constructor(); create(value?: PartialMessage): QuotaFailure; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QuotaFailure): QuotaFailure; internalBinaryWrite(message: QuotaFailure, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.QuotaFailure */ export declare const QuotaFailure: QuotaFailure$Type; declare class QuotaFailure_Violation$Type extends MessageType { constructor(); create(value?: PartialMessage): QuotaFailure_Violation; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QuotaFailure_Violation): QuotaFailure_Violation; internalBinaryWrite(message: QuotaFailure_Violation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.QuotaFailure.Violation */ export declare const QuotaFailure_Violation: QuotaFailure_Violation$Type; declare class ErrorInfo$Type extends MessageType { constructor(); create(value?: PartialMessage): ErrorInfo; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ErrorInfo): ErrorInfo; private binaryReadMap3; internalBinaryWrite(message: ErrorInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.ErrorInfo */ export declare const ErrorInfo: ErrorInfo$Type; declare class PreconditionFailure$Type extends MessageType { constructor(); create(value?: PartialMessage): PreconditionFailure; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PreconditionFailure): PreconditionFailure; internalBinaryWrite(message: PreconditionFailure, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.PreconditionFailure */ export declare const PreconditionFailure: PreconditionFailure$Type; declare class PreconditionFailure_Violation$Type extends MessageType { constructor(); create(value?: PartialMessage): PreconditionFailure_Violation; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PreconditionFailure_Violation): PreconditionFailure_Violation; internalBinaryWrite(message: PreconditionFailure_Violation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.PreconditionFailure.Violation */ export declare const PreconditionFailure_Violation: PreconditionFailure_Violation$Type; declare class BadRequest$Type extends MessageType { constructor(); create(value?: PartialMessage): BadRequest; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: BadRequest): BadRequest; internalBinaryWrite(message: BadRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.BadRequest */ export declare const BadRequest: BadRequest$Type; declare class BadRequest_FieldViolation$Type extends MessageType { constructor(); create(value?: PartialMessage): BadRequest_FieldViolation; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: BadRequest_FieldViolation): BadRequest_FieldViolation; internalBinaryWrite(message: BadRequest_FieldViolation, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.BadRequest.FieldViolation */ export declare const BadRequest_FieldViolation: BadRequest_FieldViolation$Type; declare class RequestInfo$Type extends MessageType { constructor(); create(value?: PartialMessage): RequestInfo; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RequestInfo): RequestInfo; internalBinaryWrite(message: RequestInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.RequestInfo */ export declare const RequestInfo: RequestInfo$Type; declare class ResourceInfo$Type extends MessageType { constructor(); create(value?: PartialMessage): ResourceInfo; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ResourceInfo): ResourceInfo; internalBinaryWrite(message: ResourceInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.ResourceInfo */ export declare const ResourceInfo: ResourceInfo$Type; declare class Help$Type extends MessageType { constructor(); create(value?: PartialMessage): Help; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Help): Help; internalBinaryWrite(message: Help, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.Help */ export declare const Help: Help$Type; declare class Help_Link$Type extends MessageType { constructor(); create(value?: PartialMessage): Help_Link; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Help_Link): Help_Link; internalBinaryWrite(message: Help_Link, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.Help.Link */ export declare const Help_Link: Help_Link$Type; declare class LocalizedMessage$Type extends MessageType { constructor(); create(value?: PartialMessage): LocalizedMessage; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LocalizedMessage): LocalizedMessage; internalBinaryWrite(message: LocalizedMessage, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.rpc.LocalizedMessage */ export declare const LocalizedMessage: LocalizedMessage$Type; export {};