Jump to: navigation, search

Trove/list-datastore-type-and-versions

< Trove
Revision as of 21:58, 28 April 2014 by Daniel Morris (talk | contribs) (New API call: List All Datastore Types & Versions)

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

Comments/Questions From Community