This is an old revision of the document!
1. Add Provider
Register a new resource provider (e.g. OpenStack) into reservation system. See pkgcloud lib for list of supported providers.
Request parameters
Parameters | Types | Description |
---|---|---|
provider-type | Enumeration | Name of the resource provider |
endpoint | URI | Target URL endpoint for the resource provider |
username | String | User name |
password | String | Password |
region | String | Specified region for the provider (Optional) |
tenant.id | String | Id of the tenant |
tenant.name | String | Name of the tenant |
Response parameters
Parameters | Types | Description |
---|---|---|
provider-id | String | Id of the new resource provider |
result | Enumeration | Result message (e.g. OK, ERROR} |
Example request
{ "provider-type": "openstack", "endpoint": "http://10.0.2.15:5000/v2.0/tokens", "username": "admin", "password": "******", "tenant": { "id": "0d36689a21e24a15a9c543ec8dd86510", "name": "admin" } }
Example response
{ "provider-id": "1bc96b9c-c316-4854-aa10-9d2bea35508f", "result": "ok" }
2. Create Reservation
Make a request to the reservation system to reserve resources
Request parameters
Parameters | Types | Description |
---|---|---|
zone | String | Id to an availability zone (Optional) |
start | DateTime | Timestamp when the consumption of reserved resources can begin (Optional) |
end | DateTime | Timestamp when the consumprtion of reserved resources should end (Optional) |
capacity.cores | int16 | Amount of cores to be reserved (Default: 0) |
capacity.ram | int32 | Amount of RAM (in MB) to be reserved (Default: 0) |
capacity.instances | int16 | Amount of instances to be reserved (Default: 0) |
capacity.networks | int16 | Amount of networks to be reserved (Default: 0) |
capacity.ports | int16 | Amount of ports to be reserved (Default: 0) |
capacity.routers | int16 | Amount of routers to be reserved (Default: 0) |
capacity.subnets | int16 | Amount of subnets to be reserved (Default: 0) |
capacity.addresses | int32 | Amount of public IP addresses to be reserved (Default: 0) |
capacity.gigabytes | int32 | Amount of gigabytes to be reserved (Default: 0) |
capacity.snapshots | int16 | Amount of snapshots to be reserved (Default: 0) |
capacity.volumes | int16 | Amount of volumes to be reserved (Default: 0) |
elements | ResourceElement | Amount of pre-existing resource elements (e.g. resource reservation) to be reserved |
Response parameters
Parameters | Types | Description |
---|---|---|
reservation-id | String | Id of the reservation |
result | Enumeration | Result message (e.g. OK, ERROR, CONFLICT) |
message | String | Output message (e.g. "reservation request accepted" |
Example request
{ "capacity": { "cores": "5", "ram": 0 "instances": 0 "networks": 0, "ports": 0 "addresses": "3", "gigabytes": "10, "snapshots": 0, "volumes": 0 }, "elements": [] }
Example response
{ "reservation-id": "f6f7d56a-4740-48fe-b197-42a7001beb95", "result": "ok", "message": "reservation request accepted" }