123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589 |
- // Copyright 2023 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.
- syntax = "proto3";
- package google.api;
- option go_package = "google.golang.org/genproto/googleapis/api/error_reason;error_reason";
- option java_multiple_files = true;
- option java_outer_classname = "ErrorReasonProto";
- option java_package = "com.google.api";
- option objc_class_prefix = "GAPI";
- // Defines the supported values for `google.rpc.ErrorInfo.reason` for the
- // `googleapis.com` error domain. This error domain is reserved for [Service
- // Infrastructure](https://cloud.google.com/service-infrastructure/docs/overview).
- // For each error info of this domain, the metadata key "service" refers to the
- // logical identifier of an API service, such as "pubsub.googleapis.com". The
- // "consumer" refers to the entity that consumes an API Service. It typically is
- // a Google project that owns the client application or the server resource,
- // such as "projects/123". Other metadata keys are specific to each error
- // reason. For more information, see the definition of the specific error
- // reason.
- enum ErrorReason {
- // Do not use this default value.
- ERROR_REASON_UNSPECIFIED = 0;
- // The request is calling a disabled service for a consumer.
- //
- // Example of an ErrorInfo when the consumer "projects/123" contacting
- // "pubsub.googleapis.com" service which is disabled:
- //
- // { "reason": "SERVICE_DISABLED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "pubsub.googleapis.com"
- // }
- // }
- //
- // This response indicates the "pubsub.googleapis.com" has been disabled in
- // "projects/123".
- SERVICE_DISABLED = 1;
- // The request whose associated billing account is disabled.
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to contact
- // "pubsub.googleapis.com" service because the associated billing account is
- // disabled:
- //
- // { "reason": "BILLING_DISABLED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "pubsub.googleapis.com"
- // }
- // }
- //
- // This response indicates the billing account associated has been disabled.
- BILLING_DISABLED = 2;
- // The request is denied because the provided [API
- // key](https://cloud.google.com/docs/authentication/api-keys) is invalid. It
- // may be in a bad format, cannot be found, or has been expired).
- //
- // Example of an ErrorInfo when the request is contacting
- // "storage.googleapis.com" service with an invalid API key:
- //
- // { "reason": "API_KEY_INVALID",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "storage.googleapis.com",
- // }
- // }
- API_KEY_INVALID = 3;
- // The request is denied because it violates [API key API
- // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_api_restrictions).
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to call the
- // "storage.googleapis.com" service because this service is restricted in the
- // API key:
- //
- // { "reason": "API_KEY_SERVICE_BLOCKED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com"
- // }
- // }
- API_KEY_SERVICE_BLOCKED = 4;
- // The request is denied because it violates [API key HTTP
- // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions).
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to call
- // "storage.googleapis.com" service because the http referrer of the request
- // violates API key HTTP restrictions:
- //
- // { "reason": "API_KEY_HTTP_REFERRER_BLOCKED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com",
- // }
- // }
- API_KEY_HTTP_REFERRER_BLOCKED = 7;
- // The request is denied because it violates [API key IP address
- // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions).
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to call
- // "storage.googleapis.com" service because the caller IP of the request
- // violates API key IP address restrictions:
- //
- // { "reason": "API_KEY_IP_ADDRESS_BLOCKED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com",
- // }
- // }
- API_KEY_IP_ADDRESS_BLOCKED = 8;
- // The request is denied because it violates [API key Android application
- // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions).
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to call
- // "storage.googleapis.com" service because the request from the Android apps
- // violates the API key Android application restrictions:
- //
- // { "reason": "API_KEY_ANDROID_APP_BLOCKED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com"
- // }
- // }
- API_KEY_ANDROID_APP_BLOCKED = 9;
- // The request is denied because it violates [API key iOS application
- // restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions).
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to call
- // "storage.googleapis.com" service because the request from the iOS apps
- // violates the API key iOS application restrictions:
- //
- // { "reason": "API_KEY_IOS_APP_BLOCKED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com"
- // }
- // }
- API_KEY_IOS_APP_BLOCKED = 13;
- // The request is denied because there is not enough rate quota for the
- // consumer.
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to contact
- // "pubsub.googleapis.com" service because consumer's rate quota usage has
- // reached the maximum value set for the quota limit
- // "ReadsPerMinutePerProject" on the quota metric
- // "pubsub.googleapis.com/read_requests":
- //
- // { "reason": "RATE_LIMIT_EXCEEDED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "pubsub.googleapis.com",
- // "quota_metric": "pubsub.googleapis.com/read_requests",
- // "quota_limit": "ReadsPerMinutePerProject"
- // }
- // }
- //
- // Example of an ErrorInfo when the consumer "projects/123" checks quota on
- // the service "dataflow.googleapis.com" and hits the organization quota
- // limit "DefaultRequestsPerMinutePerOrganization" on the metric
- // "dataflow.googleapis.com/default_requests".
- //
- // { "reason": "RATE_LIMIT_EXCEEDED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "dataflow.googleapis.com",
- // "quota_metric": "dataflow.googleapis.com/default_requests",
- // "quota_limit": "DefaultRequestsPerMinutePerOrganization"
- // }
- // }
- RATE_LIMIT_EXCEEDED = 5;
- // The request is denied because there is not enough resource quota for the
- // consumer.
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to contact
- // "compute.googleapis.com" service because consumer's resource quota usage
- // has reached the maximum value set for the quota limit "VMsPerProject"
- // on the quota metric "compute.googleapis.com/vms":
- //
- // { "reason": "RESOURCE_QUOTA_EXCEEDED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "compute.googleapis.com",
- // "quota_metric": "compute.googleapis.com/vms",
- // "quota_limit": "VMsPerProject"
- // }
- // }
- //
- // Example of an ErrorInfo when the consumer "projects/123" checks resource
- // quota on the service "dataflow.googleapis.com" and hits the organization
- // quota limit "jobs-per-organization" on the metric
- // "dataflow.googleapis.com/job_count".
- //
- // { "reason": "RESOURCE_QUOTA_EXCEEDED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "dataflow.googleapis.com",
- // "quota_metric": "dataflow.googleapis.com/job_count",
- // "quota_limit": "jobs-per-organization"
- // }
- // }
- RESOURCE_QUOTA_EXCEEDED = 6;
- // The request whose associated billing account address is in a tax restricted
- // location, violates the local tax restrictions when creating resources in
- // the restricted region.
- //
- // Example of an ErrorInfo when creating the Cloud Storage Bucket in the
- // container "projects/123" under a tax restricted region
- // "locations/asia-northeast3":
- //
- // { "reason": "LOCATION_TAX_POLICY_VIOLATED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com",
- // "location": "locations/asia-northeast3"
- // }
- // }
- //
- // This response indicates creating the Cloud Storage Bucket in
- // "locations/asia-northeast3" violates the location tax restriction.
- LOCATION_TAX_POLICY_VIOLATED = 10;
- // The request is denied because the caller does not have required permission
- // on the user project "projects/123" or the user project is invalid. For more
- // information, check the [userProject System
- // Parameters](https://cloud.google.com/apis/docs/system-parameters).
- //
- // Example of an ErrorInfo when the caller is calling Cloud Storage service
- // with insufficient permissions on the user project:
- //
- // { "reason": "USER_PROJECT_DENIED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com"
- // }
- // }
- USER_PROJECT_DENIED = 11;
- // The request is denied because the consumer "projects/123" is suspended due
- // to Terms of Service(Tos) violations. Check [Project suspension
- // guidelines](https://cloud.google.com/resource-manager/docs/project-suspension-guidelines)
- // for more information.
- //
- // Example of an ErrorInfo when calling Cloud Storage service with the
- // suspended consumer "projects/123":
- //
- // { "reason": "CONSUMER_SUSPENDED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com"
- // }
- // }
- CONSUMER_SUSPENDED = 12;
- // The request is denied because the associated consumer is invalid. It may be
- // in a bad format, cannot be found, or have been deleted.
- //
- // Example of an ErrorInfo when calling Cloud Storage service with the
- // invalid consumer "projects/123":
- //
- // { "reason": "CONSUMER_INVALID",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com"
- // }
- // }
- CONSUMER_INVALID = 14;
- // The request is denied because it violates [VPC Service
- // Controls](https://cloud.google.com/vpc-service-controls/docs/overview).
- // The 'uid' field is a random generated identifier that customer can use it
- // to search the audit log for a request rejected by VPC Service Controls. For
- // more information, please refer [VPC Service Controls
- // Troubleshooting](https://cloud.google.com/vpc-service-controls/docs/troubleshooting#unique-id)
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to call
- // Cloud Storage service because the request is prohibited by the VPC Service
- // Controls.
- //
- // { "reason": "SECURITY_POLICY_VIOLATED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "uid": "123456789abcde",
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com"
- // }
- // }
- SECURITY_POLICY_VIOLATED = 15;
- // The request is denied because the provided access token has expired.
- //
- // Example of an ErrorInfo when the request is calling Cloud Storage service
- // with an expired access token:
- //
- // { "reason": "ACCESS_TOKEN_EXPIRED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "storage.googleapis.com",
- // "method": "google.storage.v1.Storage.GetObject"
- // }
- // }
- ACCESS_TOKEN_EXPIRED = 16;
- // The request is denied because the provided access token doesn't have at
- // least one of the acceptable scopes required for the API. Please check
- // [OAuth 2.0 Scopes for Google
- // APIs](https://developers.google.com/identity/protocols/oauth2/scopes) for
- // the list of the OAuth 2.0 scopes that you might need to request to access
- // the API.
- //
- // Example of an ErrorInfo when the request is calling Cloud Storage service
- // with an access token that is missing required scopes:
- //
- // { "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "storage.googleapis.com",
- // "method": "google.storage.v1.Storage.GetObject"
- // }
- // }
- ACCESS_TOKEN_SCOPE_INSUFFICIENT = 17;
- // The request is denied because the account associated with the provided
- // access token is in an invalid state, such as disabled or deleted.
- // For more information, see https://cloud.google.com/docs/authentication.
- //
- // Warning: For privacy reasons, the server may not be able to disclose the
- // email address for some accounts. The client MUST NOT depend on the
- // availability of the `email` attribute.
- //
- // Example of an ErrorInfo when the request is to the Cloud Storage API with
- // an access token that is associated with a disabled or deleted [service
- // account](http://cloud/iam/docs/service-accounts):
- //
- // { "reason": "ACCOUNT_STATE_INVALID",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "storage.googleapis.com",
- // "method": "google.storage.v1.Storage.GetObject",
- // "email": "user@123.iam.gserviceaccount.com"
- // }
- // }
- ACCOUNT_STATE_INVALID = 18;
- // The request is denied because the type of the provided access token is not
- // supported by the API being called.
- //
- // Example of an ErrorInfo when the request is to the Cloud Storage API with
- // an unsupported token type.
- //
- // { "reason": "ACCESS_TOKEN_TYPE_UNSUPPORTED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "storage.googleapis.com",
- // "method": "google.storage.v1.Storage.GetObject"
- // }
- // }
- ACCESS_TOKEN_TYPE_UNSUPPORTED = 19;
- // The request is denied because the request doesn't have any authentication
- // credentials. For more information regarding the supported authentication
- // strategies for Google Cloud APIs, see
- // https://cloud.google.com/docs/authentication.
- //
- // Example of an ErrorInfo when the request is to the Cloud Storage API
- // without any authentication credentials.
- //
- // { "reason": "CREDENTIALS_MISSING",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "storage.googleapis.com",
- // "method": "google.storage.v1.Storage.GetObject"
- // }
- // }
- CREDENTIALS_MISSING = 20;
- // The request is denied because the provided project owning the resource
- // which acts as the [API
- // consumer](https://cloud.google.com/apis/design/glossary#api_consumer) is
- // invalid. It may be in a bad format or empty.
- //
- // Example of an ErrorInfo when the request is to the Cloud Functions API,
- // but the offered resource project in the request in a bad format which can't
- // perform the ListFunctions method.
- //
- // { "reason": "RESOURCE_PROJECT_INVALID",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "cloudfunctions.googleapis.com",
- // "method":
- // "google.cloud.functions.v1.CloudFunctionsService.ListFunctions"
- // }
- // }
- RESOURCE_PROJECT_INVALID = 21;
- // The request is denied because the provided session cookie is missing,
- // invalid or failed to decode.
- //
- // Example of an ErrorInfo when the request is calling Cloud Storage service
- // with a SID cookie which can't be decoded.
- //
- // { "reason": "SESSION_COOKIE_INVALID",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "storage.googleapis.com",
- // "method": "google.storage.v1.Storage.GetObject",
- // "cookie": "SID"
- // }
- // }
- SESSION_COOKIE_INVALID = 23;
- // The request is denied because the user is from a Google Workspace customer
- // that blocks their users from accessing a particular service.
- //
- // Example scenario: https://support.google.com/a/answer/9197205?hl=en
- //
- // Example of an ErrorInfo when access to Google Cloud Storage service is
- // blocked by the Google Workspace administrator:
- //
- // { "reason": "USER_BLOCKED_BY_ADMIN",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "storage.googleapis.com",
- // "method": "google.storage.v1.Storage.GetObject",
- // }
- // }
- USER_BLOCKED_BY_ADMIN = 24;
- // The request is denied because the resource service usage is restricted
- // by administrators according to the organization policy constraint.
- // For more information see
- // https://cloud.google.com/resource-manager/docs/organization-policy/restricting-services.
- //
- // Example of an ErrorInfo when access to Google Cloud Storage service is
- // restricted by Resource Usage Restriction policy:
- //
- // { "reason": "RESOURCE_USAGE_RESTRICTION_VIOLATED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/project-123",
- // "service": "storage.googleapis.com"
- // }
- // }
- RESOURCE_USAGE_RESTRICTION_VIOLATED = 25;
- // Unimplemented. Do not use.
- //
- // The request is denied because it contains unsupported system parameters in
- // URL query parameters or HTTP headers. For more information,
- // see https://cloud.google.com/apis/docs/system-parameters
- //
- // Example of an ErrorInfo when access "pubsub.googleapis.com" service with
- // a request header of "x-goog-user-ip":
- //
- // { "reason": "SYSTEM_PARAMETER_UNSUPPORTED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "service": "pubsub.googleapis.com"
- // "parameter": "x-goog-user-ip"
- // }
- // }
- SYSTEM_PARAMETER_UNSUPPORTED = 26;
- // The request is denied because it violates Org Restriction: the requested
- // resource does not belong to allowed organizations specified in
- // "X-Goog-Allowed-Resources" header.
- //
- // Example of an ErrorInfo when accessing a GCP resource that is restricted by
- // Org Restriction for "pubsub.googleapis.com" service.
- //
- // {
- // reason: "ORG_RESTRICTION_VIOLATION"
- // domain: "googleapis.com"
- // metadata {
- // "consumer":"projects/123456"
- // "service": "pubsub.googleapis.com"
- // }
- // }
- ORG_RESTRICTION_VIOLATION = 27;
- // The request is denied because "X-Goog-Allowed-Resources" header is in a bad
- // format.
- //
- // Example of an ErrorInfo when
- // accessing "pubsub.googleapis.com" service with an invalid
- // "X-Goog-Allowed-Resources" request header.
- //
- // {
- // reason: "ORG_RESTRICTION_HEADER_INVALID"
- // domain: "googleapis.com"
- // metadata {
- // "consumer":"projects/123456"
- // "service": "pubsub.googleapis.com"
- // }
- // }
- ORG_RESTRICTION_HEADER_INVALID = 28;
- // Unimplemented. Do not use.
- //
- // The request is calling a service that is not visible to the consumer.
- //
- // Example of an ErrorInfo when the consumer "projects/123" contacting
- // "pubsub.googleapis.com" service which is not visible to the consumer.
- //
- // { "reason": "SERVICE_NOT_VISIBLE",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "pubsub.googleapis.com"
- // }
- // }
- //
- // This response indicates the "pubsub.googleapis.com" is not visible to
- // "projects/123" (or it may not exist).
- SERVICE_NOT_VISIBLE = 29;
- // The request is related to a project for which GCP access is suspended.
- //
- // Example of an ErrorInfo when the consumer "projects/123" fails to contact
- // "pubsub.googleapis.com" service because GCP access is suspended:
- //
- // { "reason": "GCP_SUSPENDED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "pubsub.googleapis.com"
- // }
- // }
- //
- // This response indicates the associated GCP account has been suspended.
- GCP_SUSPENDED = 30;
- // The request violates the location policies when creating resources in
- // the restricted region.
- //
- // Example of an ErrorInfo when creating the Cloud Storage Bucket by
- // "projects/123" for service storage.googleapis.com:
- //
- // { "reason": "LOCATION_POLICY_VIOLATED",
- // "domain": "googleapis.com",
- // "metadata": {
- // "consumer": "projects/123",
- // "service": "storage.googleapis.com",
- // }
- // }
- //
- // This response indicates creating the Cloud Storage Bucket in
- // "locations/asia-northeast3" violates at least one location policy.
- // The troubleshooting guidance is provided in the Help links.
- LOCATION_POLICY_VIOLATED = 31;
- }
|