-
Notifications
You must be signed in to change notification settings - Fork 27
Deployable_Deployment_and_Instance_API
Mo Morsi edited this page Jan 9, 2013
·
4 revisions
title: Deployable_Deployment_and_Instance_API
updated_on: Fri Jul 27 19:47:39 ~~0400 2012\
\
h1. Deployable, Deployment, and Instance API
\
h2. Summary
\
Below is an outline of REST API endpoints that we would need to
implement to allow users to automate futher their interactions with
Conductor. The endpoints follows the actions available in the current
Conductor UI flow.
\
h2. Endpoints
\
h3. conductor/api/deployables
\
\# Create given name, catalog id, and deployable xml.\
Deployable xml is validated before it can be saved.\
Reference for Deployable XMLs~~
[https://www.aeolusproject.org/redmine/projects/aeolus/wiki/Deployable\_XML](https://www.aeolusproject.org/redmine/projects/aeolus/wiki/Deployable_XML)\
\# Show a deployable\
\# Index of deployables - list name and href to id\
\# Delete a deployable\
\# Edit a deployable\
PUT new deployable xml, respond with 200 and newly saved object\
Allow update of name and catalog ids
The images defined in the deployable xml must exist, but they need not
be built or pushed. If there are multiple assemblies, any missing image
should fail the validation.
### conductor/api/deployments
\# Create given name, deployable id, and optional realm\
All images defined in the deployable must be built and pushed to the
choosen realm\
Launches instances\
\# Show a deployment and its instances \
Each instance is listed with name and a link to the real object\
\# Index of deployments \
\# Delete a deployment\
\# ~~Edit a deployment~~ - not available
### conductor/api/deployments/\$id/instances\
conductor/api/instances
1. Stop an instance
2. Start an instance
3. List all instances for a given deployment
4. List all instances I can control across all deployments - TBD
5. Show instance, status, ip address, ssh keys, etc..
### conductor/api/realms
\# Create a front end realm\
attributes: name, description\
\# Show a front end realm and its realm and provider mappings\
\# List all realms\
\# Delete a realm\
\# Edit a realm
### conductor/api/realm\_mappings
1. Create a realm or provider mapping
2. Delete a mapping
### conductor/api/provider\_accounts/\$id/realms
1. List from provider accounts
### conductor/api/hardware\_profiles
CRUD
### conductor/api/catalogs
\# Create a catalog\
attributes: name, pool\
\# List catalogs\
\# Show a catalog, its attributes, and deployables\
\# Edit a catalog\
\# Delete a catalog
### conductor/api/pools
\# Create a pool \
attributes: name, quota, enabled?\
\# List pools\
\# Show a pool, its attributes, and catalogs\
\# Edit a pool\
\# Delete a pool
### conductor/api/pool\_families
\# Create a pool family\
attributes: name, maximum number of running instances (quota)\
\# List pool families\
\# Show a pool family, its attributes, and pools\
\# Edit a pool family\
\# Delete a pool family
Reference
---------
1. Initial planning discussion -
[http://etherpad-aeolusproject.rhcloud.com/p/deployables\_and\_instance\_api](http://etherpad-aeolusproject.rhcloud.com/p/deployables_and_instance_api)