Jump to: navigation, search

Designate/Blueprints/Server Pools/API

Overview

Gerrit Patch []
Launchpad Blueprint []

Summary

Quick overview of the change

API Changes

List of changes to the HTTP API

Verb Resource Description
GET /v2/pools Get a list of all pools a tenant has access to.
GET /v2/pools/{id} Get individual pool details
POST /v2/pools/ Create a new pool
PATCH /v2/pools/{id} Update a pool's details

All Server Operations will now be scoped under a pool, like such

Verb Resource Description
GET /v2/pools/{id}/servers Get a list of servers a tenant has access in pool id
POST /v2/pools/{id}/servers Create a new server in pool id
PATCH /v2/pools/{pool_id}/server/{server_id} Update a server_id's server details in pool pool_id

Comments

  1. [vinod] Should the PATCH call be /v2/pools/{pool_id}/servers/{server_id} i.e. servers instead of server similar to how other URLs are designed.
  2. [vinod] There should be a GET call for /v2/pools/{pool_id}/servers/{server_id} as there is a PATCH call at this URL
  3. [vinod] How about DELETE calls?

Example of Call (GET /v2/pools/)

Overview of call

Response

   {
       “pools”: [
             {
                 "pool":{
                     "id":"UUID STRING",
                     "name":"Pool Name",
                     "labels":["anycast","premium"],
                     "servers":[
                         {"id":"UUID STRING"},
                         {"id":"UUID STRING"},
                         {"id":"UUID STRING"} 
                     ],
                     "project_id":"{project_id}"
                 }
             }
         ]
   }

Database Changes

None