...
Path | Action | Project Admin | Site Admin | Notes |
---|---|---|---|---|
/services | List, add site-wide services | GET | PUT | |
/services/{service-id} | Get, update, delete site-wide services | GET | PUT, DELETE | |
/storageResources | List, add site-wide storage resources | GET | PUT | |
/storageResources/{resource-id} | Get, update, delete site-wide storage | GET | PUT, DELETE | |
/projects | List, add projects | GET, PUT | ||
/projects/{project-id} | Get, update, delete project | GET, PUT | DELETE | |
/projects/{project-id}/serviceInstances | List, add project services | GET, PUT | ||
/projects/{project-id}/serviceInstances/{instance-id} | Get, update, delete project service | GET, PUT, DELETE | ||
/projects/{project-id}/serviceInstances/{instance-id}/status | Get, update, delete project services status | GET, PUT, DELETE | ||
/projects/{project-id}/volumes | List, add project volumes | GET, PUT | ||
/projects/{project-id}/volumes/{volume-id} | Get, update, delete project volumes | GET, PUT, DELETE | ||
Swagger
...
Design
- Use Swagger editor to define API (running on some dev VM)
- Use Swagger codegen to generate JAX-RS server bindings and ? client bindings
- API server will run under Jetty (default)
Components
The NDSLabs API consists of one or more CLI applications, and API server (initially running under Jetty), using etcd for storage.
...