Difference between revisions of "API Special Interest Group/Current Design/Version Responses"
(→Examples: fix up nova example ip addresses) |
(→Current Design: add keystone examples) |
||
Line 69: | Line 69: | ||
], | ], | ||
"status": "CURRENT" | "status": "CURRENT" | ||
+ | } | ||
+ | } | ||
+ | </nowiki></pre> | ||
+ | |||
+ | == Keystone == | ||
+ | |||
+ | [http://developer.openstack.org/api-ref-identity-v2.html Keystone v2 API reference] | ||
+ | |||
+ | [http://developer.openstack.org/api-ref-identity-v3.html Keystone v3 API reference] | ||
+ | |||
+ | === Examples === | ||
+ | |||
+ | <pre><nowiki>GET /</nowiki></pre> | ||
+ | |||
+ | <pre><nowiki> | ||
+ | { | ||
+ | "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" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </nowiki></pre> | ||
+ | |||
+ | <pre><nowiki>GET /v2.0/</nowiki></pre> | ||
+ | |||
+ | <pre><nowiki> | ||
+ | { | ||
+ | "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" | ||
+ | } | ||
+ | } | ||
+ | </nowiki></pre> | ||
+ | |||
+ | <pre><nowiki>GET /v3/</nowiki></pre> | ||
+ | |||
+ | <pre><nowiki> | ||
+ | { | ||
+ | "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" | ||
} | } | ||
} | } |
Revision as of 22:42, 4 December 2015
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" } }