Trove/DatastoreManagementAPI
Contents
API Calls
Create datastore
HTTP request and routeː POST /mgmt/datastores
{
"datastore": {
"name": "Mysql"
}
}
HTTP response: Status: 200 OK
{
"datastore": {
"id": 1
"name": "Mysql"
"versions": [ ]
}
}
Update datastore
HTTP request and routeː PATCH /mgmt/datastores/{id}
{
"datastore": {
"name": "Mysql" # optional
"datastore_version": "5.5" # optional
}
}
HTTP response: Status: 200 OK
{
"datastore": {
"id": 1,
"name": "Mysql",
"default_version"ː 53eb2b38-eb0d-4fc8-a335-5c2cac6f65fd,
"datastore_version": [
{
u'name': u'5.5',
u'links': [
{
u'href': u'https://172.18.196.44:8779/v1.0/c4f59011dda1426b8c13da0aba707f2d/datastores/versions/53eb2b38-eb0d-4fc8-a335-5c2cac6f65fd',
u'rel': u'self'
},
{
u'href': u'https://172.18.196.44:8779/datastores/versions/53eb2b38-eb0d-4fc8-a335-5c2cac6f65fd',
u'rel': u'bookmark'
}],
u'image': u'32123676-ef2d-488a-9b25-8b75509beae7',
u'active': True, u'packages': u,
u'id': u'53eb2b38-eb0d-4fc8-a335-5c2cac6f65fd'
}, ],
}
}
Create version
HTTP request and routeː POST /mgmt/datastores/versions
{
"version": {
"name": "5.5"
"manager": "mysql"
"packages": "mysql-server-5.5" #optional
"image_id": 000
"active": True #optional, default is True
}
HTTP response: Status: 200 OK
{
"version": {
"id": 1
"name": "5.5"
"manager": "mysql"
"packages": "mysql-server-5.5 bc mc gedit" #Typeː String
"image_id": 000
"active": True
}
}
Update version
HTTP method and routeː PATCH /mgmt/datastores/{datastore_id}/{version_id} # if datastore mentioned HTTP method and routeː PATCH /mgmt/datastores/versions/{uuid} # if no datastore mentioned
{
"version": {
"active": False
}
HTTP Response: Status: 200 OK
{
"version": {
"id": 1
"name": "5.5"
"manager": "mysql"
"packages": "mysql-server-5.5"
"image_id": 000
"active": False
}
}
CLI view
trove datastore-create {name}
trove datastore-update --name {new_name, optional} --default_version {name/uuid, optional} {name/uuid}
trove datastore-version-create --datastore {name/uuid, required} --manager {manager, required} --packages {packages_list, optional} --image {image_id, required} --active {true/false, optional} {name}
trove datastore-version-update --datastore {name/uuid, optional} --manager {manager, optional} --packages {packages_list, optional} --image {image_id, optional} --active {true/false, optional} --name {new_name, optional} {name/uuid}