Jump to: navigation, search

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

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

Cinder API reference

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

Keystone v2 API reference

Keystone v3 API reference

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

Nova API reference

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