Divided APIs docs in sections
Change-Id: I6240e2bc90647ee38c92333957fd7e4a7db60e52
diff --git a/apiary.apib b/apiary.apib
index 1c8816a..fbd11f9 100644
--- a/apiary.apib
+++ b/apiary.apib
@@ -3,741 +3,11 @@
# XOS
-# Group Deployments
-
-List of the XOS deployments
-
-## Deployments [/api/core/deployments/{id}/]
-
-### List all deployments [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "MyDeployment",
- "id": 1,
- "created": "2016-04-29T16:19:03.549901Z",
- "updated": "2016-04-29T16:19:05.624151Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "MyDeployment",
- "accessControl": "allow all",
- "images": [
- "1"
- ],
- "sites": [
- "1"
- ],
- "flavors": [
- "1",
- "2",
- "3"
- ],
- "dashboardviews": [
- "1"
- ]
- }
- ]
-
-### Create a deployment [POST]
-
-+ Request (application/json)
-
- {
- "humanReadableName": "MyDeployment",
- }
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyDeployment",
- "id": 1,
- "created": "2016-04-29T16:19:03.549901Z",
- "updated": "2016-04-29T16:19:05.624151Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "MyDeployment",
- "accessControl": "allow all",
- "images": [
- "1"
- ],
- "sites": [
- "1"
- ],
- "flavors": [
- "1",
- "2",
- "3"
- ],
- "dashboardviews": [
- "1"
- ]
- }
-
-### View a Deployment Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Deployment in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyDeployment",
- "id": 1,
- "created": "2016-04-27T21:46:57.354544Z",
- "updated": "2016-04-27T21:47:05.221720Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "MyDeployment",
- "accessControl": "allow all",
- "images": [],
- "sites": [
- "1"
- ],
- "flavors": [
- "3",
- "2",
- "1"
- ],
- "dashboardviews": [
- "3"
- ]
- }
-
-### Delete a Deployment [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Deployment in the form of an integer
-
-+ Response 204
-
-
-# Group Flavors
-
-List of the XOS flavors
-
-## Flavors [/api/core/flavors/{id}/]
-
-### List all flavors [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "m1.large",
- "id": 1,
- "created": "2016-04-29T16:19:01.979548Z",
- "updated": "2016-04-29T16:19:03.568238Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "m1.large",
- "description": null,
- "flavor": "m1.large",
- "order": 0,
- "default": false,
- "deployments": [
- "1"
- ]
- }
- ]
-
-### Create a Flavor [POST]
-
-+ Request (application/json)
-
- {
- "humanReadableName": "mq.test",
- }
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "m1.large",
- "id": 1,
- "created": "2016-04-29T16:19:01.979548Z",
- "updated": "2016-04-29T16:19:03.568238Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "m1.large",
- "description": null,
- "flavor": "m1.large",
- "order": 0,
- "default": false,
- "deployments": [
- "1"
- ]
- }
-
-### View a Flavors Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Flavors in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "m1.large",
- "id": 1,
- "created": "2016-04-29T16:19:01.979548Z",
- "updated": "2016-04-29T16:19:03.568238Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "m1.large",
- "description": null,
- "flavor": "m1.large",
- "order": 0,
- "default": false,
- "deployments": [
- "1"
- ]
- }
-
-### Delete a Flavors Detail [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Flavors in the form of an integer
-
-+ Response 204
-
-
-# Group Instances
-
-List of the XOS instances
-
-## Instances Collection [/api/core/instances/{?no_hyperlinks}]
-
- + no_hyperlinks (number, optional) - Wheter to return relation with links or ids
- + Default: `0`
-
-### List all Instances [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 1,
- "humanReadableName": "uninstantiated-1",
- "created": "2016-04-26T00:36:22.465259Z",
- "updated": "2016-04-26T00:36:22.465288Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "instance_id": null,
- "instance_uuid": null,
- "name": "mysite_vcpe",
- "instance_name": null,
- "ip": null,
- "image": "1",
- "creator": "1",
- "slice": "1",
- "deployment": "1",
- "node": "1",
- "numberCores": 0,
- "flavor": "1",
- "userData": null,
- "isolation": "vm",
- "volumes": "/etc/dnsmasq.d,/etc/ufw",
- "parent": null,
- "networks": [
- "1"
- ]
- }
- ]
-
-### Create an Instance [POST]
-
-+ Parameters
- + no_hyperlinks: 1
-
-+ Request (application/json)
-
- {
- "name": "test-instance",
- "image": 1,
- "slice": 1,
- "deployment": 1,
- "node": 1
- }
-
-+ Response 200 (application/json)
-
- {
- "id": 1,
- "humanReadableName": "uninstantiated-1",
- "created": "2016-04-26T00:36:22.465259Z",
- "updated": "2016-04-26T00:36:22.465288Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "instance_id": null,
- "instance_uuid": null,
- "name": "test-instance",
- "instance_name": null,
- "ip": null,
- "image": "1",
- "creator": "1",
- "slice": "1",
- "deployment": "1",
- "node": "1",
- "numberCores": 0,
- "flavor": "1",
- "userData": null,
- "isolation": "vm",
- "volumes": "/etc/dnsmasq.d,/etc/ufw",
- "parent": null,
- "networks": [
- "1"
- ]
- }
-
-## Instances Detail [/api/core/instances/{id}/]
-
-### Get instance details [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Instance in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "id": 1,
- "humanReadableName": "uninstantiated-1",
- "created": "2016-04-26T00:36:22.465259Z",
- "updated": "2016-04-26T00:36:22.465288Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "instance_id": null,
- "instance_uuid": null,
- "name": "mysite_vcpe",
- "instance_name": null,
- "ip": null,
- "image": "1",
- "creator": "1",
- "slice": "1",
- "deployment": "1",
- "node": "1",
- "numberCores": 0,
- "flavor": "1",
- "userData": null,
- "isolation": "vm",
- "volumes": "/etc/dnsmasq.d,/etc/ufw",
- "parent": null,
- "networks": [
- "1"
- ]
- }
-
-### Delete instance [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Instance in the form of an integer
-
-+ Response 204
-
-
-# Group Nodes
-
-List of the XOS nodes
-
-## Nodes [/api/core/nodes/{id}/]
-
-### List all nodes [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "node2.opencloud.us",
- "id": 1,
- "created": "2016-04-29T16:19:05.661567Z",
- "updated": "2016-04-29T16:19:05.661454Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": true,
- "name": "node2.opencloud.us",
- "site_deployment": "1",
- "site": "1",
- "nodelabels": []
- }
- ]
-
-
-
-# Group Services
-
-List of the XOS Services
-
-## Services [/api/core/services/{id}/]
-
-### List all Services [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "MyService",
- "id": 1,
- "created": "2016-05-05T23:06:33.835277Z",
- "updated": "2016-05-05T23:06:33.835302Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "description": null,
- "enabled": true,
- "kind": "vROUTER",
- "name": "MyService",
- "versionNumber": null,
- "published": true,
- "view_url": "/admin/vrouter/vrouterservice/$id$/",
- "icon_url": null,
- "public_key": null,
- "private_key_fn": null,
- "service_specific_id": null,
- "service_specific_attribute": null
- }
- ]
-
-### Create a Service [POST]
-
-+ Request (application/json)
-
- {
- "name": "MyService",
- "kind": "vROUTER"
- }
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyService",
- "id": 1,
- "created": "2016-05-05T23:06:33.835277Z",
- "updated": "2016-05-05T23:06:33.835302Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "description": null,
- "enabled": true,
- "kind": "vROUTER",
- "name": "MyService",
- "versionNumber": null,
- "published": true,
- "view_url": "/admin/vrouter/vrouterservice/$id$/",
- "icon_url": null,
- "public_key": null,
- "private_key_fn": null,
- "service_specific_id": null,
- "service_specific_attribute": null
- }
-
-### View a Service Detail [GET]
-
-+ Parameters
- + id: 1 (number) - ID of the Service in the form of an integer
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "MyService",
- "id": 1,
- "created": "2016-05-05T23:06:33.835277Z",
- "updated": "2016-05-05T23:06:33.835302Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "no_policy": false,
- "description": null,
- "enabled": true,
- "kind": "vROUTER",
- "name": "MyService",
- "versionNumber": null,
- "published": true,
- "view_url": "/admin/vrouter/vrouterservice/$id$/",
- "icon_url": null,
- "public_key": null,
- "private_key_fn": null,
- "service_specific_id": null,
- "service_specific_attribute": null
- }
-
-### Delete a Service [DELETE]
-
-+ Parameters
- + id: 1 (number) - ID of the Service in the form of an integer
-
-+ Response 204
-
-
-
-# Group Sites
-
-List of the XOS sites
-
-## Sites [/api/core/sites/{id}/]
-
-### List all sites [GET]
-
-+ Response 200 (application/json)
-
- {
- "humanReadableName": "mysite",
- "id": 1,
- "created": "2016-04-29T16:19:03.587770Z",
- "updated": "2016-04-29T16:19:05.651933Z",
- "enacted": null,
- "policed": null,
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "name": "MySite",
- "site_url": "http://opencord.us/",
- "enabled": true,
- "hosts_nodes": true,
- "hosts_users": true,
- "location": null,
- "longitude": null,
- "latitude": null,
- "login_base": "mysite",
- "is_public": true,
- "abbreviated_name": "",
- "deployments": [
- "1"
- ]
- }
-
-
-# Group Slices
-
-List of the XOS slices
-
-## Slices [/api/core/slices/{id}/]
-
-### List all slices [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "mysite_slice",
- "id": 1,
- "created": "2016-04-29T16:23:22.505072Z",
- "updated": "2016-04-29T16:23:22.504691Z",
- "enacted": null,
- "policed": "2016-04-29T16:23:22.781298Z",
- "backend_register": "{}",
- "backend_status": "0 - Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "lazy_blocked": false,
- "no_sync": false,
- "name": "mysite_slice",
- "enabled": true,
- "omf_friendly": false,
- "description": "",
- "slice_url": "",
- "site": "http://apt118.apt.emulab.net/api/core/sites/1/",
- "max_instances": 10,
- "service": null,
- "network": null,
- "exposed_ports": null,
- "serviceClass": "http://apt118.apt.emulab.net/api/core/serviceclasses/1/",
- "creator": "http://apt118.apt.emulab.net/api/core/users/1/",
- "default_flavor": null,
- "default_image": null,
- "mount_data_sets": "GenBank",
- "default_isolation": "vm",
- "networks": [
- "http://apt118.apt.emulab.net/api/core/networks/1/"
- ]
- }
- ]
-
-
-
-# Group Users
-
-List of the XOS users
-
-## Users [/api/core/users/{id}/]
-
-### List all Users [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "id": 2,
- "password": "pbkdf2_sha256$12000$9gn8DmZuIoz2$YPQkx3AOOV7jZNYr2ddrgUCkiuaPpvb8+aJR7RwLZNA=",
- "last_login": "2016-04-12T18:50:45.880823Z",
- "email": "johndoe@myhouse.com",
- "username": "johndoe@myhouse.com",
- "firstname": "john",
- "lastname": "doe",
- "phone": null,
- "user_url": null,
- "site": "http://xos.dev:9999/api/core/sites/1/",
- "public_key": null,
- "is_active": true,
- "is_admin": false,
- "is_staff": true,
- "is_readonly": false,
- "is_registering": false,
- "is_appuser": false,
- "login_page": null,
- "created": "2016-04-12T18:50:45.912602Z",
- "updated": "2016-04-12T18:50:45.912671Z",
- "enacted": null,
- "policed": null,
- "backend_status": "Provisioning in progress",
- "deleted": false,
- "write_protect": false,
- "timezone": "America/New_York"
- }
- ]
-
-
-
-# Group Example
-
-## Example Services Collection [/api/service/exampleservice/]
-
-### List all Example Services [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "MyExample",
- "id": 1,
- "service_message": "This is the test message"
- }
- ]
-
-
-
-# Group ONOS Services
-
-List of the active onos services
-
-## ONOS Services Collection [/api/service/onos/]
-
-### List all ONOS Services [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "service_ONOS_vBNG",
- "id": 5,
- "rest_hostname": "",
- "rest_port": "8181",
- "no_container": false,
- "node_key": ""
- }
- ]
-
-
-# Group vSG
-
-## vSG Collection [/api/service/vsg/]
-
-### List all vSGs [GET]
-
-+ Response 200 (application/json)
-
- [
- {
- "humanReadableName": "service_vsg",
- "id": 2,
- "dns_servers": "8.8.8.8",
- "url_filter_kind": null,
- "node_label": null
- }
- ]
-
-
# Group Utility
List of the XOS Utility API
-
+
+
## Login [/api/utility/login/]
### Log a user in the system [POST]
@@ -914,12 +184,13 @@
]
-# Group Subscribers
+# Group Tenant
+
+
+## Subscribers [/api/tenant/cord/subscriber/{subscriber_id}/]
Resource related to the CORD Subscribers.
-## Subscribers [/api/tenant/cord/subscriber/{subscriber_id}/]
-
### List All Subscribers [GET]
+ Response 200 (application/json)
@@ -1146,12 +417,10 @@
}
-# Group Truckroll
+## Truckroll Collection [/api/tenant/truckroll/{truckroll_id}/]
Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
-## Truckroll Collection [/api/tenant/truckroll/{truckroll_id}/]
-
### List all Truckroll [GET]
+ Response 200 (application/json)
@@ -1232,12 +501,10 @@
-# Group vOLT
+## vOLT Collection [/api/tenant/cord/volt/{volt_id}/]
OLT devices aggregate a set of subscriber connections
-## vOLT Collection [/api/tenant/cord/volt/{volt_id}/]
-
### List all vOLT [GET]
+ Response 200 (application/json)
@@ -1313,8 +580,6 @@
-# Group ONOS Apps
-
## ONOS App Collection [/api/tenant/onos/app/]
### List all apps [GET]
@@ -1328,4 +593,711 @@
"name": "vBNG_ONOS_app",
"dependencies": "org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd"
}
- ]
\ No newline at end of file
+ ]
+
+
+# Group Service
+
+
+## Example Services Collection [/api/service/exampleservice/]
+
+### List all Example Services [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "humanReadableName": "MyExample",
+ "id": 1,
+ "service_message": "This is the test message"
+ }
+ ]
+
+
+
+## ONOS Services Collection [/api/service/onos/]
+
+List of the active onos services
+
+### List all ONOS Services [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "humanReadableName": "service_ONOS_vBNG",
+ "id": 5,
+ "rest_hostname": "",
+ "rest_port": "8181",
+ "no_container": false,
+ "node_key": ""
+ }
+ ]
+
+
+## vSG Collection [/api/service/vsg/]
+
+### List all vSGs [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "humanReadableName": "service_vsg",
+ "id": 2,
+ "dns_servers": "8.8.8.8",
+ "url_filter_kind": null,
+ "node_label": null
+ }
+ ]
+
+
+# Group Core
+
+List of the XOS Core API
+
+
+## Deployments [/api/core/deployments/{id}/]
+
+List of the XOS deployments
+
+### List all deployments [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "humanReadableName": "MyDeployment",
+ "id": 1,
+ "created": "2016-04-29T16:19:03.549901Z",
+ "updated": "2016-04-29T16:19:05.624151Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": true,
+ "name": "MyDeployment",
+ "accessControl": "allow all",
+ "images": [
+ "1"
+ ],
+ "sites": [
+ "1"
+ ],
+ "flavors": [
+ "1",
+ "2",
+ "3"
+ ],
+ "dashboardviews": [
+ "1"
+ ]
+ }
+ ]
+
+### Create a deployment [POST]
+
++ Request (application/json)
+
+ {
+ "humanReadableName": "MyDeployment",
+ }
+
++ Response 200 (application/json)
+
+ {
+ "humanReadableName": "MyDeployment",
+ "id": 1,
+ "created": "2016-04-29T16:19:03.549901Z",
+ "updated": "2016-04-29T16:19:05.624151Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": true,
+ "name": "MyDeployment",
+ "accessControl": "allow all",
+ "images": [
+ "1"
+ ],
+ "sites": [
+ "1"
+ ],
+ "flavors": [
+ "1",
+ "2",
+ "3"
+ ],
+ "dashboardviews": [
+ "1"
+ ]
+ }
+
+### View a Deployment Detail [GET]
+
++ Parameters
+ + id: 1 (number) - ID of the Deployment in the form of an integer
+
++ Response 200 (application/json)
+
+ {
+ "humanReadableName": "MyDeployment",
+ "id": 1,
+ "created": "2016-04-27T21:46:57.354544Z",
+ "updated": "2016-04-27T21:47:05.221720Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": true,
+ "name": "MyDeployment",
+ "accessControl": "allow all",
+ "images": [],
+ "sites": [
+ "1"
+ ],
+ "flavors": [
+ "3",
+ "2",
+ "1"
+ ],
+ "dashboardviews": [
+ "3"
+ ]
+ }
+
+### Delete a Deployment [DELETE]
+
++ Parameters
+ + id: 1 (number) - ID of the Deployment in the form of an integer
+
++ Response 204
+
+
+## Flavors [/api/core/flavors/{id}/]
+
+List of the XOS flavors
+
+### List all flavors [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "humanReadableName": "m1.large",
+ "id": 1,
+ "created": "2016-04-29T16:19:01.979548Z",
+ "updated": "2016-04-29T16:19:03.568238Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": true,
+ "name": "m1.large",
+ "description": null,
+ "flavor": "m1.large",
+ "order": 0,
+ "default": false,
+ "deployments": [
+ "1"
+ ]
+ }
+ ]
+
+### Create a Flavor [POST]
+
++ Request (application/json)
+
+ {
+ "humanReadableName": "mq.test",
+ }
+
++ Response 200 (application/json)
+
+ {
+ "humanReadableName": "m1.large",
+ "id": 1,
+ "created": "2016-04-29T16:19:01.979548Z",
+ "updated": "2016-04-29T16:19:03.568238Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": true,
+ "name": "m1.large",
+ "description": null,
+ "flavor": "m1.large",
+ "order": 0,
+ "default": false,
+ "deployments": [
+ "1"
+ ]
+ }
+
+### View a Flavors Detail [GET]
+
++ Parameters
+ + id: 1 (number) - ID of the Flavors in the form of an integer
+
++ Response 200 (application/json)
+
+ {
+ "humanReadableName": "m1.large",
+ "id": 1,
+ "created": "2016-04-29T16:19:01.979548Z",
+ "updated": "2016-04-29T16:19:03.568238Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": true,
+ "name": "m1.large",
+ "description": null,
+ "flavor": "m1.large",
+ "order": 0,
+ "default": false,
+ "deployments": [
+ "1"
+ ]
+ }
+
+### Delete a Flavors Detail [DELETE]
+
++ Parameters
+ + id: 1 (number) - ID of the Flavors in the form of an integer
+
++ Response 204
+
+
+## Instances Collection [/api/core/instances/{?no_hyperlinks}]
+
+ + no_hyperlinks (number, optional) - Wheter to return relation with links or ids
+ + Default: `0`
+
+### List all Instances [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "id": 1,
+ "humanReadableName": "uninstantiated-1",
+ "created": "2016-04-26T00:36:22.465259Z",
+ "updated": "2016-04-26T00:36:22.465288Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": false,
+ "instance_id": null,
+ "instance_uuid": null,
+ "name": "mysite_vcpe",
+ "instance_name": null,
+ "ip": null,
+ "image": "1",
+ "creator": "1",
+ "slice": "1",
+ "deployment": "1",
+ "node": "1",
+ "numberCores": 0,
+ "flavor": "1",
+ "userData": null,
+ "isolation": "vm",
+ "volumes": "/etc/dnsmasq.d,/etc/ufw",
+ "parent": null,
+ "networks": [
+ "1"
+ ]
+ }
+ ]
+
+### Create an Instance [POST]
+
++ Parameters
+ + no_hyperlinks: 1
+
++ Request (application/json)
+
+ {
+ "name": "test-instance",
+ "image": 1,
+ "slice": 1,
+ "deployment": 1,
+ "node": 1
+ }
+
++ Response 200 (application/json)
+
+ {
+ "id": 1,
+ "humanReadableName": "uninstantiated-1",
+ "created": "2016-04-26T00:36:22.465259Z",
+ "updated": "2016-04-26T00:36:22.465288Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": false,
+ "instance_id": null,
+ "instance_uuid": null,
+ "name": "test-instance",
+ "instance_name": null,
+ "ip": null,
+ "image": "1",
+ "creator": "1",
+ "slice": "1",
+ "deployment": "1",
+ "node": "1",
+ "numberCores": 0,
+ "flavor": "1",
+ "userData": null,
+ "isolation": "vm",
+ "volumes": "/etc/dnsmasq.d,/etc/ufw",
+ "parent": null,
+ "networks": [
+ "1"
+ ]
+ }
+
+## Instances Detail [/api/core/instances/{id}/]
+
+### Get instance details [GET]
+
++ Parameters
+ + id: 1 (number) - ID of the Instance in the form of an integer
+
++ Response 200 (application/json)
+
+ {
+ "id": 1,
+ "humanReadableName": "uninstantiated-1",
+ "created": "2016-04-26T00:36:22.465259Z",
+ "updated": "2016-04-26T00:36:22.465288Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": false,
+ "instance_id": null,
+ "instance_uuid": null,
+ "name": "mysite_vcpe",
+ "instance_name": null,
+ "ip": null,
+ "image": "1",
+ "creator": "1",
+ "slice": "1",
+ "deployment": "1",
+ "node": "1",
+ "numberCores": 0,
+ "flavor": "1",
+ "userData": null,
+ "isolation": "vm",
+ "volumes": "/etc/dnsmasq.d,/etc/ufw",
+ "parent": null,
+ "networks": [
+ "1"
+ ]
+ }
+
+### Delete instance [DELETE]
+
++ Parameters
+ + id: 1 (number) - ID of the Instance in the form of an integer
+
++ Response 204
+
+
+## Nodes [/api/core/nodes/{id}/]
+
+### List all nodes [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "humanReadableName": "node2.opencloud.us",
+ "id": 1,
+ "created": "2016-04-29T16:19:05.661567Z",
+ "updated": "2016-04-29T16:19:05.661454Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": true,
+ "name": "node2.opencloud.us",
+ "site_deployment": "1",
+ "site": "1",
+ "nodelabels": []
+ }
+ ]
+
+
+
+## Services [/api/core/services/{id}/]
+
+### List all Services [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "humanReadableName": "MyService",
+ "id": 1,
+ "created": "2016-05-05T23:06:33.835277Z",
+ "updated": "2016-05-05T23:06:33.835302Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": false,
+ "no_policy": false,
+ "description": null,
+ "enabled": true,
+ "kind": "vROUTER",
+ "name": "MyService",
+ "versionNumber": null,
+ "published": true,
+ "view_url": "/admin/vrouter/vrouterservice/$id$/",
+ "icon_url": null,
+ "public_key": null,
+ "private_key_fn": null,
+ "service_specific_id": null,
+ "service_specific_attribute": null
+ }
+ ]
+
+### Create a Service [POST]
+
++ Request (application/json)
+
+ {
+ "name": "MyService",
+ "kind": "vROUTER"
+ }
+
++ Response 200 (application/json)
+
+ {
+ "humanReadableName": "MyService",
+ "id": 1,
+ "created": "2016-05-05T23:06:33.835277Z",
+ "updated": "2016-05-05T23:06:33.835302Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": false,
+ "no_policy": false,
+ "description": null,
+ "enabled": true,
+ "kind": "vROUTER",
+ "name": "MyService",
+ "versionNumber": null,
+ "published": true,
+ "view_url": "/admin/vrouter/vrouterservice/$id$/",
+ "icon_url": null,
+ "public_key": null,
+ "private_key_fn": null,
+ "service_specific_id": null,
+ "service_specific_attribute": null
+ }
+
+### View a Service Detail [GET]
+
++ Parameters
+ + id: 1 (number) - ID of the Service in the form of an integer
+
++ Response 200 (application/json)
+
+ {
+ "humanReadableName": "MyService",
+ "id": 1,
+ "created": "2016-05-05T23:06:33.835277Z",
+ "updated": "2016-05-05T23:06:33.835302Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": false,
+ "no_policy": false,
+ "description": null,
+ "enabled": true,
+ "kind": "vROUTER",
+ "name": "MyService",
+ "versionNumber": null,
+ "published": true,
+ "view_url": "/admin/vrouter/vrouterservice/$id$/",
+ "icon_url": null,
+ "public_key": null,
+ "private_key_fn": null,
+ "service_specific_id": null,
+ "service_specific_attribute": null
+ }
+
+### Delete a Service [DELETE]
+
++ Parameters
+ + id: 1 (number) - ID of the Service in the form of an integer
+
++ Response 204
+
+
+
+## Sites [/api/core/sites/{id}/]
+
+### List all sites [GET]
+
++ Response 200 (application/json)
+
+ {
+ "humanReadableName": "mysite",
+ "id": 1,
+ "created": "2016-04-29T16:19:03.587770Z",
+ "updated": "2016-04-29T16:19:05.651933Z",
+ "enacted": null,
+ "policed": null,
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": false,
+ "name": "MySite",
+ "site_url": "http://opencord.us/",
+ "enabled": true,
+ "hosts_nodes": true,
+ "hosts_users": true,
+ "location": null,
+ "longitude": null,
+ "latitude": null,
+ "login_base": "mysite",
+ "is_public": true,
+ "abbreviated_name": "",
+ "deployments": [
+ "1"
+ ]
+ }
+
+
+## Slices [/api/core/slices/{id}/]
+
+List of the XOS slices
+
+### List all slices [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "humanReadableName": "mysite_slice",
+ "id": 1,
+ "created": "2016-04-29T16:23:22.505072Z",
+ "updated": "2016-04-29T16:23:22.504691Z",
+ "enacted": null,
+ "policed": "2016-04-29T16:23:22.781298Z",
+ "backend_register": "{}",
+ "backend_status": "0 - Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "lazy_blocked": false,
+ "no_sync": false,
+ "name": "mysite_slice",
+ "enabled": true,
+ "omf_friendly": false,
+ "description": "",
+ "slice_url": "",
+ "site": "http://apt118.apt.emulab.net/api/core/sites/1/",
+ "max_instances": 10,
+ "service": null,
+ "network": null,
+ "exposed_ports": null,
+ "serviceClass": "http://apt118.apt.emulab.net/api/core/serviceclasses/1/",
+ "creator": "http://apt118.apt.emulab.net/api/core/users/1/",
+ "default_flavor": null,
+ "default_image": null,
+ "mount_data_sets": "GenBank",
+ "default_isolation": "vm",
+ "networks": [
+ "http://apt118.apt.emulab.net/api/core/networks/1/"
+ ]
+ }
+ ]
+
+
+
+## Users [/api/core/users/{id}/]
+
+### List all Users [GET]
+
++ Response 200 (application/json)
+
+ [
+ {
+ "id": 2,
+ "password": "pbkdf2_sha256$12000$9gn8DmZuIoz2$YPQkx3AOOV7jZNYr2ddrgUCkiuaPpvb8+aJR7RwLZNA=",
+ "last_login": "2016-04-12T18:50:45.880823Z",
+ "email": "johndoe@myhouse.com",
+ "username": "johndoe@myhouse.com",
+ "firstname": "john",
+ "lastname": "doe",
+ "phone": null,
+ "user_url": null,
+ "site": "http://xos.dev:9999/api/core/sites/1/",
+ "public_key": null,
+ "is_active": true,
+ "is_admin": false,
+ "is_staff": true,
+ "is_readonly": false,
+ "is_registering": false,
+ "is_appuser": false,
+ "login_page": null,
+ "created": "2016-04-12T18:50:45.912602Z",
+ "updated": "2016-04-12T18:50:45.912671Z",
+ "enacted": null,
+ "policed": null,
+ "backend_status": "Provisioning in progress",
+ "deleted": false,
+ "write_protect": false,
+ "timezone": "America/New_York"
+ }
+ ]
+
\ No newline at end of file