User Tools

Site Tools


promise:apis_b_release

This is an old revision of the document!


Supported APIs for B-Release

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"
  }
promise/apis_b_release.1448622870.txt.gz · Last modified: 2015/11/27 11:14 by Bertrand Souville