Trove/list-datastore-type-and-versions
< Trove
Contents
Description
This blueprint will augment the existing API GET/datastores call for retrieving all datastore type and versions in a single call.
Blueprint: https://blueprints.launchpad.net/trove/+spec/list-datastore-type-and-versions
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" } ] } ] }