blob: 43a81c7f2f13a54cc4fb5a5b922d0220f47075d3 [file] [log] [blame]
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"
}
]