API Special Interest Group/Current Design/Version Responses
Contents
Analysis
What responses are being returned for version requests?
This analysis is specifically asking for versions reported by an API server through a GET request at "/", "/version", "/v1", or similar.
The Version Discovery page on the OpenStack wiki is being used as a reference point in this analysis.
Current Design
Cinder
Examples
GET /
{ "versions": [ { "id": "v1.0", "links": [ { "href": "http://23.253.211.234:8776/v1/", "rel": "self" } ], "status": "DEPRECATED", "updated": "2014-06-28T12:20:21Z" }, { "id": "v2.0", "links": [ { "href": "http://23.253.211.234:8776/v2/", "rel": "self" } ], "status": "CURRENT", "updated": "2012-11-21T11:33:21Z" } ] }
GET /v2
{ "version": { "id": "v2.0", "links": [ { "href": "http://23.253.211.234:8776/v2/v2.0", "rel": "self" } ], "media-types": [ { "base": "application/xml", "type": "application/vnd.openstack.volume+xml;version=1" }, { "base": "application/json", "type": "application/vnd.openstack.volume+json;version=1" } ], "status": "CURRENT" } }
Keystone
Examples
GET /
{ "versions": { "values": [ { "id": "v3.4", "links": [ { "href": "http://10.0.1.107:5000/v3/", "rel": "self" } ], "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.identity-v3+json" } ], "status": "stable", "updated": "2015-03-30T00:00:00Z" }, { "id": "v2.0", "links": [ { "href": "http://10.0.1.107:5000/v2.0/", "rel": "self" }, { "href": "http://docs.openstack.org/", "rel": "describedby", "type": "text/html" } ], "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json" } ], "status": "stable", "updated": "2014-04-17T00:00:00Z" } ] } }
GET /v2.0/
{ "version": { "id": "v2.0", "links": [ { "href": "http://10.0.1.107:5000/v2.0/", "rel": "self" }, { "href": "http://docs.openstack.org/", "rel": "describedby", "type": "text/html" } ], "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json" } ], "status": "stable", "updated": "2014-04-17T00:00:00Z" } }
GET /v3/
{ "version": { "id": "v3.4", "links": [ { "href": "http://10.0.1.107:5000/v3/", "rel": "self" } ], "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.identity-v3+json" } ], "status": "stable", "updated": "2015-03-30T00:00:00Z" } }
Nova
Examples
GET /
{ "versions": [ { "id": "v2.0", "links": [ { "href": "http://10.0.1.107:8774/v2/", "rel": "self" } ], "status": "SUPPORTED", "version": "", "min_version": "", "updated": "2011-01-21T11:33:21Z" }, { "id": "v2.1", "links": [ { "href": "http://10.0.1.107:8774/v2.1/", "rel": "self" } ], "status": "CURRENT", "version": "2.12", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z" } ] }
GET /v2/
{ "version": { "id": "v2.0", "links": [ { "href": "http://10.0.1.107:8774/v2/", "rel": "self" }, { "href": "http://docs.openstack.org/", "rel": "describedby", "type": "text/html" } ], "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.compute+json;version=2" } ], "min_version": "", "status": "SUPPORTED", "updated": "2011-01-21T11:33:21Z", "version": "" } }
GET /v2.1/
{ "version": { "id": "v2.1", "links": [ { "href": "http://10.0.1.107:8774/v2.1/", "rel": "self" }, { "href": "http://docs.openstack.org/", "rel": "describedby", "type": "text/html" } ], "media-types": [ { "base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1" } ], "min_version": "2.1", "status": "CURRENT", "updated": "2013-07-23T11:33:21Z", "version": "2.12" } }