Enum googapis::google::api::ErrorReason[][src]

#[repr(i32)]
pub enum ErrorReason {
Show 20 variants Unspecified, ServiceDisabled, BillingDisabled, ApiKeyInvalid, ApiKeyServiceBlocked, ApiKeyHttpReferrerBlocked, ApiKeyIpAddressBlocked, ApiKeyAndroidAppBlocked, ApiKeyIosAppBlocked, RateLimitExceeded, ResourceQuotaExceeded, LocationTaxPolicyViolated, UserProjectDenied, ConsumerSuspended, ConsumerInvalid, SecurityPolicyViolated, AccessTokenExpired, AccessTokenScopeInsufficient, AccountStateInvalid, AccessTokenTypeUnsupported,
}
Expand description

Defines the supported values for google.rpc.ErrorInfo.reason for the googleapis.com error domain. This error domain is reserved for Service Infrastructure. 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.

Variants

Unspecified

Do not use this default value.

ServiceDisabled

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”.

BillingDisabled

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.

ApiKeyInvalid

The request is denied because the provided API key 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",
  }
}
ApiKeyServiceBlocked

The request is denied because it violates API key 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"
  }
}
ApiKeyHttpReferrerBlocked

The request is denied because it violates API key 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",
  }
}
ApiKeyIpAddressBlocked

The request is denied because it violates API key IP address 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",
  }
}
ApiKeyAndroidAppBlocked

The request is denied because it violates API key Android 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"
  }
}
ApiKeyIosAppBlocked

The request is denied because it violates API key iOS 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"
  }
}
RateLimitExceeded

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"
  }
}
ResourceQuotaExceeded

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"
  }
}
LocationTaxPolicyViolated

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.

UserProjectDenied

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.

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"
  }
}
ConsumerSuspended

The request is denied because the consumer “projects/123” is suspended due to Terms of Service(Tos) violations. Check 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"
  }
}
ConsumerInvalid

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"
  }
}
SecurityPolicyViolated

The request is denied because it violates VPC Service Controls. 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

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"
  }
}
AccessTokenExpired

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"
  }
}
AccessTokenScopeInsufficient

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 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"
  }
}
AccountStateInvalid

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:

{ "reason": "ACCOUNT_STATE_INVALID",
  "domain": "googleapis.com",
  "metadata": {
    "service": "storage.googleapis.com",
    "method": "google.storage.v1.Storage.GetObject",
    "email": "user@123.iam.gserviceaccount.com"
  }
}
AccessTokenTypeUnsupported

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"
  }
}

Implementations

Returns true if value is a variant of ErrorReason.

Converts an i32 to a ErrorReason, or None if value is not a valid variant.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Performs the conversion.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Wrap the input message T in a tonic::Request

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more