Files
df0a99a29adcd58c3c026f1ca1d0aa305d8809c4
nova /api-guide /source /versions.rst

112 lines
3.9 KiB
ReStructuredText
Raw Normal View History

Versions
========
The OpenStack Compute API uses both a URI and a MIME type versioning
scheme. In the URI scheme, the first element of the path contains the
v2.1/`...). The MIME type versioning scheme uses HTTP content negotiation
where the ``Accept`` or ``Content-Type`` headers contains a MIME type
A version MIME type is always linked to a base MIME type, such as
application/json. If conflicting versions are specified using both an HTTP
header and a URI, the URI takes precedence.
.. code::
GET /214412/images HTTP/1.1
Host: servers.api.openstack.org
.. code::
Permanent Links
~~~~~~~~~~~~~~~
links, because the version scheme is not specified in the URI path:
If a request is made without a version specified in the URI or via HTTP
headers, then a multiple-choices response (300) follows that provides
links and MIME types to available versions.
.. code::
"choices": [
{
"id": "v2.0",
"links": [
"rel": "self"
"media-types": [
"type": "application/vnd.openstack.compute+json;version=2"
"status": "SUPPORTED"
},
{
"id": "v2.1",
"links": [
"rel": "self"
"media-types": [
"type": "application/vnd.openstack.compute+json;version=2.1"
"status": "CURRENT"
}
]
}
The API with ``CURRENT`` status is the newest API and continues to be improved by the
Nova project. The API with ``SUPPORTED`` status is the old API, where new features are
frozen. The API with ``DEPRECATED`` status is the API that will be removed in the
ensure there is adequate time to migrate to the new version before deprecated
versions are discontinued. For any API which is under development but isn't
released as yet, the API status is ``EXPERIMENTAL``.
Your application can programmatically determine available API versions
by performing a **GET** on the root URL (i.e. with the version and
everything following that truncated) returned from the authentication system.
You can also obtain additional information about a specific version by
performing a **GET** on the base version URL (such as,
always end with a trailing slash (``/``). If you omit the slash, the
For examples of the list versions and get version details requests and
The detailed version response contains pointers to both a human-readable