| FORMAT: 1A |
| |
| # XOS |
| |
| |
| # Group 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, |
| "wan_container_gateway_ip": "", |
| "wan_container_gateway_mac": "", |
| "dns_servers": "8.8.8.8", |
| "url_filter_kind": null, |
| "node_label": null |
| } |
| ] |
| |
| |
| # Group Subscribers |
| |
| Resource related to the CORD Subscribers. |
| |
| ## Subscribers Collection [/api/tenant/cord/subscriber/] |
| |
| ### List All Subscribers [GET] |
| |
| + Response 200 (application/json) |
| |
| [ |
| { |
| "humanReadableName": "cordSubscriber-1", |
| "id": 1, |
| "features": { |
| "cdn": false, |
| "uplink_speed": 1000000000, |
| "downlink_speed": 1000000000, |
| "uverse": false, |
| "status": "enabled" |
| }, |
| "identity": { |
| "account_num": "123", |
| "name": "My House" |
| }, |
| "related": { |
| "instance_name": "mysite_vcpe", |
| "vsg_id": 4, |
| "compute_node_name": "node2.opencloud.us", |
| "c_tag": "432", |
| "instance_id": 1, |
| "wan_container_ip": null, |
| "volt_id": 3, |
| "s_tag": "222" |
| } |
| } |
| ] |
| |
| ## Subscriber Detail [/api/tenant/cord/subscriber/{subscriber_id}/] |
| |
| + Parameters |
| + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer |
| |
| ### View a Subscriber Detail [GET] |
| |
| + Response 200 (application/json) |
| |
| { |
| "humanReadableName": "cordSubscriber-1", |
| "id": 1, |
| "features": { |
| "cdn": false, |
| "uplink_speed": 1000000000, |
| "downlink_speed": 1000000000, |
| "uverse": false, |
| "status": "enabled" |
| }, |
| "identity": { |
| "account_num": "123", |
| "name": "My House" |
| }, |
| "related": { |
| "instance_name": "mysite_vcpe", |
| "vsg_id": 4, |
| "compute_node_name": "node2.opencloud.us", |
| "c_tag": "432", |
| "instance_id": 1, |
| "wan_container_ip": null, |
| "volt_id": 3, |
| "s_tag": "222" |
| } |
| } |
| |
| ### Delete a Subscriber [DELETE] |
| |
| + Response 204 |
| |
| ### Subscriber features [/api/tenant/cord/subscriber/{subscriber_id}/features/] |
| |
| + Parameters |
| + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer |
| |
| ### View a Subscriber Features Detail [GET] |
| |
| + Response 200 (application/json) |
| |
| { |
| "cdn": false, |
| "uplink_speed": 1000000000, |
| "downlink_speed": 1000000000, |
| "uverse": true, |
| "status": "enabled" |
| } |
| |
| #### Subscriber features uplink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/uplink_speed/] |
| |
| + Parameters |
| + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer |
| |
| #### Read Subscriber uplink_speed [GET] |
| |
| + Response 200 (application/json) |
| |
| { |
| "uplink_speed": 1000000000 |
| } |
| |
| #### Update Subscriber uplink_speed [PUT] |
| |
| + Request 200 (application/json) |
| |
| { |
| "uplink_speed": 1000000000 |
| } |
| |
| + Response 200 (application/json) |
| |
| { |
| "uplink_speed": 1000000000 |
| } |
| |
| #### Subscriber features downlink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/downlink_speed/] |
| |
| + Parameters |
| + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer |
| |
| #### Read Subscriber downlink_speed [GET] |
| |
| + Response 200 (application/json) |
| |
| { |
| "downlink_speed": 1000000000 |
| } |
| |
| #### Update Subscriber downlink_speed [PUT] |
| |
| + Request 200 (application/json) |
| |
| { |
| "downlink_speed": 1000000000 |
| } |
| |
| + Response 200 (application/json) |
| |
| { |
| "downlink_speed": 1000000000 |
| } |
| |
| #### Subscriber features cdn [/api/tenant/cord/subscriber/{subscriber_id}/features/cdn/] |
| |
| + Parameters |
| + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer |
| |
| #### Read Subscriber cdn [GET] |
| |
| + Response 200 (application/json) |
| |
| { |
| "cdn": false |
| } |
| |
| #### Update Subscriber cdn [PUT] |
| |
| + Request 200 (application/json) |
| |
| { |
| "cdn": false |
| } |
| |
| + Response 200 (application/json) |
| |
| { |
| "cdn": false |
| } |
| |
| #### Subscriber features uverse [/api/tenant/cord/subscriber/{subscriber_id}/features/uverse/] |
| |
| + Parameters |
| + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer |
| |
| #### Read Subscriber uverse [GET] |
| |
| + Response 200 (application/json) |
| |
| { |
| "uverse": false |
| } |
| |
| #### Update Subscriber uverse [PUT] |
| |
| + Request 200 (application/json) |
| |
| { |
| "uverse": false |
| } |
| |
| + Response 200 (application/json) |
| |
| { |
| "uverse": false |
| } |
| |
| #### Subscriber features status [/api/tenant/cord/subscriber/{subscriber_id}/features/status/] |
| |
| + Parameters |
| + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer |
| |
| #### Read Subscriber status [GET] |
| |
| + Response 200 (application/json) |
| |
| { |
| "status": "enabled" |
| } |
| |
| #### Update Subscriber status [PUT] |
| |
| + Request 200 (application/json) |
| |
| { |
| "status": "enabled" |
| } |
| |
| + Response 200 (application/json) |
| |
| { |
| "status": "enabled" |
| } |
| |
| |
| # Group Truckroll |
| |
| Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump. |
| |
| ## Truckroll Collection [/api/tenant/truckroll/] |
| |
| ### List all Truckroll [GET] |
| |
| + Response 200 (application/json) |
| |
| [ |
| { |
| "humanReadableName": "vTR-tenant-9", |
| "id": 9, |
| "provider_service": 6, |
| "target_id": 2, |
| "scope": "container", |
| "test": "ping", |
| "argument": "8.8.8.8", |
| "result": "", |
| "result_code": "", |
| "is_synced": false, |
| "backend_status": "2 - Exception('Unreachable results in ansible recipe',)" |
| } |
| ] |
| |
| ### Create a Truckroll [POST] |
| |
| + Request (application/json) |
| |
| { |
| "target_id": 2, |
| "scope": "container", |
| "test": "ping", |
| "argument": "8.8.8.8" |
| } |
| |
| + Response 201 (application/json) |
| |
| { |
| "humanReadableName": "vTR-tenant-1", |
| "id": 1, |
| "provider_service": 6, |
| "target_id": 2, |
| "scope": "container", |
| "test": "ping", |
| "argument": "8.8.8.8", |
| "result": null, |
| "result_code": null, |
| "is_synced": false, |
| "backend_status": "0 - Provisioning in progress" |
| } |
| |
| ## Truckroll Detail [/api/tenant/truckroll/{truckroll_id}/] |
| |
| A virtual truckroll is complete once is_synced equal true |
| |
| + Parameters |
| + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer |
| |
| ### View a Truckroll Detail [GET] |
| |
| + Response 200 (application/json) |
| |
| { |
| "humanReadableName": "vTR-tenant-10", |
| "id": 10, |
| "provider_service": 6, |
| "target_id": 2, |
| "scope": "container", |
| "test": "ping", |
| "argument": "8.8.8.8", |
| "result": null, |
| "result_code": null, |
| "is_synced": false, |
| "backend_status": "0 - Provisioning in progress" |
| } |
| |
| ### Delete a Truckroll Detail [DELETE] |
| |
| + Response 204 |
| |
| |
| |
| # Group vOLT |
| |
| OLT devices aggregate a set of subscriber connections |
| |
| ## vOLT Collection [/api/tenant/cord/volt/] |
| |
| ### List all vOLT [GET] |
| |
| + Response 200 (application/json) |
| |
| [ |
| { |
| "humanReadableName": "vOLT-tenant-1", |
| "id": 1, |
| "service_specific_id": "123", |
| "s_tag": "222", |
| "c_tag": "432", |
| "subscriber": 1, |
| "related": { |
| "instance_id": 1, |
| "instance_name": "mysite_vcpe", |
| "vsg_id": 4, |
| "wan_container_ip": null, |
| "compute_node_name": "node2.opencloud.us" |
| } |
| } |
| ] |
| |
| ### Create a vOLT [POST] |
| |
| + Request (application/json) |
| |
| { |
| "s_tag": "222", |
| "c_tag": "432", |
| "subscriber": 1 |
| } |
| |
| + Response 201 (application/json) |
| |
| { |
| "humanReadableName": "vOLT-tenant-1", |
| "id": 1, |
| "service_specific_id": "123", |
| "s_tag": "222", |
| "c_tag": "432", |
| "subscriber": 1, |
| "related": { |
| "instance_id": 1, |
| "instance_name": "mysite_vcpe", |
| "vsg_id": 4, |
| "wan_container_ip": null, |
| "compute_node_name": "node2.opencloud.us" |
| } |
| } |
| |
| ## vOLT Detail [/api/tenant/cord/volt/{volt_id}/] |
| |
| A virtual volt is complete once is_synced equal true |
| |
| + Parameters |
| + volt_id: 1 (number) - ID of the vOLT in the form of an integer |
| |
| ### View a vOLT Detail [GET] |
| |
| + Response 200 (application/json) |
| |
| { |
| "humanReadableName": "vOLT-tenant-1", |
| "id": 1, |
| "service_specific_id": "123", |
| "s_tag": "222", |
| "c_tag": "432", |
| "subscriber": 1, |
| "related": { |
| "instance_id": 1, |
| "instance_name": "mysite_vcpe", |
| "vsg_id": 4, |
| "wan_container_ip": null, |
| "compute_node_name": "node2.opencloud.us" |
| } |
| } |
| |
| |
| |
| # Group ONOS Apps |
| |
| ## app Collection [/api/tenant/onos/app/] |
| |
| ### List all apps [GET] |
| |
| + Response 200 (application/json) |
| |
| [ |
| { |
| "humanReadableName": "onos-tenant-7", |
| "id": 7, |
| "name": "vBNG_ONOS_app", |
| "dependencies": "org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd" |
| } |
| ] |