@sisyphus.js/google
Version:
Precompiled google common protos by sisyphus protobuf compiler
293 lines • 10.9 kB
TypeScript
import { Duration } from '@sisyphus.js/runtime/lib/google/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.
*/
export interface RetryInfo {
/** Clients should wait at least this long between retrying the same request. */
retryDelay?: Duration;
}
export declare namespace RetryInfo {
const name = "google.rpc.RetryInfo";
}
/** Describes additional debugging info. */
export interface DebugInfo {
/** The stack trace entries indicating where the error occurred. */
stackEntries?: string[];
/** Additional debugging information provided by the server. */
detail?: string;
}
export declare namespace DebugInfo {
const name = "google.rpc.DebugInfo";
}
/**
* 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.
*/
export interface QuotaFailure {
/** Describes all quota violations. */
violations?: QuotaFailure.Violation[];
}
export declare namespace QuotaFailure {
const name = "google.rpc.QuotaFailure";
/**
* A message type used to describe a single quota violation. For example, a
* daily quota or a custom quota that was exceeded.
*/
interface Violation {
/**
* The subject on which the quota check failed.
* For example, "clientip:<ip address of client>" or "project:<Google
* developer project id>".
*/
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".
*/
description?: string;
}
namespace Violation {
const name = "google.rpc.QuotaFailure.Violation";
}
}
/**
* 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"
* }
* }
*/
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_]+/.
*/
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".
*/
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.
*/
metadata?: {
[]: string;
};
}
export declare namespace ErrorInfo {
const name = "google.rpc.ErrorInfo";
}
/**
* 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.
*/
export interface PreconditionFailure {
/** Describes all precondition violations. */
violations?: PreconditionFailure.Violation[];
}
export declare namespace PreconditionFailure {
const name = "google.rpc.PreconditionFailure";
/** A message type used to describe a single precondition failure. */
interface 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".
*/
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.
*/
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".
*/
description?: string;
}
namespace Violation {
const name = "google.rpc.PreconditionFailure.Violation";
}
}
/**
* Describes violations in a client request. This error type focuses on the
* syntactic aspects of the request.
*/
export interface BadRequest {
/** Describes all violations in a client request. */
fieldViolations?: BadRequest.FieldViolation[];
}
export declare namespace BadRequest {
const name = "google.rpc.BadRequest";
/** A message type used to describe a single bad request field. */
interface 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.
*/
field?: string;
/** A description of why the request element is bad. */
description?: string;
}
namespace FieldViolation {
const name = "google.rpc.BadRequest.FieldViolation";
}
}
/**
* Contains metadata about the request that clients can attach when filing a bug
* or providing other forms of feedback.
*/
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.
*/
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.
*/
servingData?: string;
}
export declare namespace RequestInfo {
const name = "google.rpc.RequestInfo";
}
/** Describes the resource that is being accessed. */
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".
*/
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].
*/
resourceName?: string;
/**
* The owner of the resource (optional).
* For example, "user:<owner email>" or "project:<Google developer project
* id>".
*/
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.
*/
description?: string;
}
export declare namespace ResourceInfo {
const name = "google.rpc.ResourceInfo";
}
/**
* 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.
*/
export interface Help {
/** URL(s) pointing to additional information on handling the current error. */
links?: Help.Link[];
}
export declare namespace Help {
const name = "google.rpc.Help";
/** Describes a URL link. */
interface Link {
/** Describes what the link offers. */
description?: string;
/** The URL of the link. */
url?: string;
}
namespace Link {
const name = "google.rpc.Help.Link";
}
}
/**
* Provides a localized error message that is safe to return to the user
* which can be attached to an RPC error.
*/
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"
*/
locale?: string;
/** The localized error message in the above locale. */
message?: string;
}
export declare namespace LocalizedMessage {
const name = "google.rpc.LocalizedMessage";
}
//# sourceMappingURL=error_details.d.ts.map