Jump to: navigation, search

Trove/list-datastore-type-and-versions

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

Comments/Questions From Community