Faults

This schema file defines faults that may be raised by the OpenStack Compute API. These faults are derived from the ComputeAPIFault. Most faults extend this type without adding any additional attributes or elements. The only exceptions is the OverLimitAPIFault which adds a retryAt attribute and the AsyncAPIFault which adds a created timestamp. Because all faults extend a standard base type, it should be possible to capture all API faults with a single catch statement.

Faults are associated with a default HTTP status code that corresponds to the particular fault type. For example an <itemNotFound> element is associated with the HTTP status code 404. Some elements, the <computeFault> element for example, may be associated with multiple status codes. It is also possible for multiple fault elements to be associated with the same default code. The examples below showcase the default status codes for each element type. Note that these default codes are not part of the formal schema. In practice, however, an element type will likely be associated with its corresponding default status code.

A generic Cloud Servers API fault.

The item or resource could not be found.

The operation is not allowed because the corresponding server is in a build state.

There is not enough capacity to honor the request.

The operation is not allowed because the corresponding server is being re-sized or backed up.

The re-size operation is not permitted.

The API service is currently unavailable.

Insufficient privileges to honor the request, perhaps an authentication token needs to be obtained or renewed.

Authentication has been validated, however the operation is unauthorized.

An absolute or rate limit has been exceeded.

The request is malformed.

The Content Type of the request is not supported.

The HTTP method (or verb) is not supported by the corresponding resource.

The operation is currently not implemented.

A human readable message that is appropriate for display to the end user.

The optional <details> element may contain useful information for tracking down errors (e.g a stack trace). This information may or may not be appropriate for display to an end user.

The HTTP status code associated with the current fault.

An optional dateTime denoting when an operation should be retried.

An optional dateTime denoting when the fault was created.