Difference between revisions of "Trove/list-datastore-type-and-versions"
< Trove
(→Justification/Benefits) |
(→New API call: List All Datastore Types & Versions) |
||
Line 17: | Line 17: | ||
=== ReST API === | === ReST API === | ||
− | ==== | + | ==== Augment existing API call: List All Datastore Types & Versions ==== |
'''Request''' | '''Request''' | ||
− | GET/{tenant_id}/ | + | GET/{tenant_id}/datastores |
'''Response''' | '''Response''' | ||
<pre> | <pre> | ||
{ | { | ||
− | "datastores": [ | + | "datastores": [ |
− | { | + | { |
− | " | + | "default_version": “1”, |
− | "links": [ | + | "id": “1”, |
− | + | "links": [ | |
− | ], | + | { |
− | "name": " | + | "href": "https://API/v1.0/1234/datastores/1”, |
− | " | + | "rel": "self" |
− | " | + | }, |
− | " | + | { |
− | }, | + | "href": "https://API/datastores/1”, |
− | { | + | "rel": "bookmark" |
− | "id": | + | } |
− | "links": [ | + | ], |
− | + | "name": “mysql” | |
− | + | "versions": [ | |
− | " | + | { |
− | " | + | "id": “1”, |
− | " | + | "links": [ |
− | " | + | { |
− | } | + | "href": "https://API/v1.0/1234/datastores/versions/1”, |
− | { | + | "rel": "self" |
− | " | + | }, |
− | "links": [ | + | { |
− | + | "href": "https://API/datastores/versions/1”, | |
− | ], | + | "rel": "bookmark" |
− | "name": " | + | } |
− | " | + | ], |
− | " | + | "name": "mysql-5.5" |
− | " | + | }, |
− | } | + | { |
− | ] | + | "id": “2”, |
+ | "links": [ | ||
+ | { | ||
+ | "href": "https://API/v1.0/1234/datastores/versions/2”, | ||
+ | "rel": "self" | ||
+ | }, | ||
+ | { | ||
+ | "href": "https://API/datastores/versions/2”, | ||
+ | "rel": "bookmark" | ||
+ | } | ||
+ | ], | ||
+ | "name": "mysql-5.6” | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | "default_version": “1”, | ||
+ | "id": “2”, | ||
+ | "links": [ | ||
+ | { | ||
+ | "href": "https://API/v1.0/1234/datastores/2”, | ||
+ | "rel": "self" | ||
+ | }, | ||
+ | { | ||
+ | "href": "https://API/datastores/2”, | ||
+ | "rel": "bookmark" | ||
+ | } | ||
+ | ], | ||
+ | "name": “redis” | ||
+ | "versions": [ | ||
+ | { | ||
+ | "id": “1”, | ||
+ | "links": [ | ||
+ | { | ||
+ | "href": "https://API/v1.0/1234/datastores/versions/1”, | ||
+ | "rel": "self" | ||
+ | }, | ||
+ | { | ||
+ | "href": "https://API/datastores/versions/1”, | ||
+ | "rel": "bookmark" | ||
+ | } | ||
+ | ], | ||
+ | "name": “redis-2.6” | ||
+ | }, | ||
+ | { | ||
+ | "id": “2”, | ||
+ | "links": [ | ||
+ | { | ||
+ | "href": "https://API/v1.0/1234/datastores/versions/2”, | ||
+ | "rel": "self" | ||
+ | }, | ||
+ | { | ||
+ | "href": "https://API/datastores/versions/2”, | ||
+ | "rel": "bookmark" | ||
+ | } | ||
+ | ], | ||
+ | "name": “redis-2.8” | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
} | } | ||
</pre> | </pre> | ||
== Comments/Questions From Community == | == Comments/Questions From Community == |
Revision as of 21:58, 28 April 2014
Contents
Description
This blueprint will add an API call for retrieving datastore type and version in a single call.
Blueprint:
Justification/Benefits
- Instead of making n+1 calls where n is the number of datastore types, this single API call will fetch all datastore types and version, and the manager in a single call. It will also show if the version is the default for that datastore.
- This call can vastly improve the user experience for retrieving all the supported datastore types and versions
Impacts
Configuration
None
Database
No impact
ReST API
Augment existing API call: List All Datastore Types & Versions
Request
GET/{tenant_id}/datastores
Response
{ "datastores": [ { "default_version": “1”, "id": “1”, "links": [ { "href": "https://API/v1.0/1234/datastores/1”, "rel": "self" }, { "href": "https://API/datastores/1”, "rel": "bookmark" } ], "name": “mysql” "versions": [ { "id": “1”, "links": [ { "href": "https://API/v1.0/1234/datastores/versions/1”, "rel": "self" }, { "href": "https://API/datastores/versions/1”, "rel": "bookmark" } ], "name": "mysql-5.5" }, { "id": “2”, "links": [ { "href": "https://API/v1.0/1234/datastores/versions/2”, "rel": "self" }, { "href": "https://API/datastores/versions/2”, "rel": "bookmark" } ], "name": "mysql-5.6” } ] }, { "default_version": “1”, "id": “2”, "links": [ { "href": "https://API/v1.0/1234/datastores/2”, "rel": "self" }, { "href": "https://API/datastores/2”, "rel": "bookmark" } ], "name": “redis” "versions": [ { "id": “1”, "links": [ { "href": "https://API/v1.0/1234/datastores/versions/1”, "rel": "self" }, { "href": "https://API/datastores/versions/1”, "rel": "bookmark" } ], "name": “redis-2.6” }, { "id": “2”, "links": [ { "href": "https://API/v1.0/1234/datastores/versions/2”, "rel": "self" }, { "href": "https://API/datastores/versions/2”, "rel": "bookmark" } ], "name": “redis-2.8” } ] } ] }