blob: 43a81c7f2f13a54cc4fb5a5b922d0220f47075d3 [file] [log] [blame]
Teone7241e262016-04-18 14:39:41 -07001FORMAT: 1A
2
3# XOS
4
5
6# Group ONOS Services
7
8## ONOS Services Collection [/api/service/onos/]
9
10### List all ONOS Services [GET]
11
12+ Response 200 (application/json)
13
14 [
15 {
16 "humanReadableName": "service_ONOS_vBNG",
17 "id": 5,
18 "rest_hostname": "",
19 "rest_port": "8181",
20 "no_container": false,
21 "node_key": ""
22 }
23 ]
24
25
26# Group vSG
27
28## vSG Collection [/api/service/vsg/]
29
30### List all vSGs [GET]
31
32+ Response 200 (application/json)
33
34 [
35 {
36 "humanReadableName": "service_vsg",
37 "id": 2,
38 "wan_container_gateway_ip": "",
39 "wan_container_gateway_mac": "",
40 "dns_servers": "8.8.8.8",
41 "url_filter_kind": null,
42 "node_label": null
43 }
44 ]
45
46
47# Group Subscribers
48
49Resource related to the CORD Subscribers.
50
51## Subscribers Collection [/api/tenant/cord/subscriber/]
52
53### List All Subscribers [GET]
54
55+ Response 200 (application/json)
56
57 [
58 {
59 "humanReadableName": "cordSubscriber-1",
60 "id": 1,
61 "features": {
62 "cdn": false,
63 "uplink_speed": 1000000000,
64 "downlink_speed": 1000000000,
65 "uverse": false,
66 "status": "enabled"
67 },
68 "identity": {
69 "account_num": "123",
70 "name": "My House"
71 },
72 "related": {
73 "instance_name": "mysite_vcpe",
74 "vsg_id": 4,
75 "compute_node_name": "node2.opencloud.us",
76 "c_tag": "432",
77 "instance_id": 1,
78 "wan_container_ip": null,
79 "volt_id": 3,
80 "s_tag": "222"
81 }
82 }
83 ]
84
85## Subscriber Detail [/api/tenant/cord/subscriber/{subscriber_id}/]
86
87+ Parameters
88 + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
89
90### View a Subscriber Detail [GET]
91
92+ Response 200 (application/json)
93
94 {
95 "humanReadableName": "cordSubscriber-1",
96 "id": 1,
97 "features": {
98 "cdn": false,
99 "uplink_speed": 1000000000,
100 "downlink_speed": 1000000000,
101 "uverse": false,
102 "status": "enabled"
103 },
104 "identity": {
105 "account_num": "123",
106 "name": "My House"
107 },
108 "related": {
109 "instance_name": "mysite_vcpe",
110 "vsg_id": 4,
111 "compute_node_name": "node2.opencloud.us",
112 "c_tag": "432",
113 "instance_id": 1,
114 "wan_container_ip": null,
115 "volt_id": 3,
116 "s_tag": "222"
117 }
118 }
119
120### Delete a Subscriber [DELETE]
121
122+ Response 204
123
124### Subscriber features [/api/tenant/cord/subscriber/{subscriber_id}/features/]
125
126+ Parameters
127 + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
128
129### View a Subscriber Features Detail [GET]
130
131+ Response 200 (application/json)
132
133 {
134 "cdn": false,
135 "uplink_speed": 1000000000,
136 "downlink_speed": 1000000000,
137 "uverse": true,
138 "status": "enabled"
139 }
140
141#### Subscriber features uplink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/uplink_speed/]
142
143+ Parameters
144 + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
145
146#### Read Subscriber uplink_speed [GET]
147
148+ Response 200 (application/json)
149
150 {
151 "uplink_speed": 1000000000
152 }
153
154#### Update Subscriber uplink_speed [PUT]
155
156+ Request 200 (application/json)
157
158 {
159 "uplink_speed": 1000000000
160 }
161
162+ Response 200 (application/json)
163
164 {
165 "uplink_speed": 1000000000
166 }
167
168#### Subscriber features downlink_speed [/api/tenant/cord/subscriber/{subscriber_id}/features/downlink_speed/]
169
170+ Parameters
171 + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
172
173#### Read Subscriber downlink_speed [GET]
174
175+ Response 200 (application/json)
176
177 {
178 "downlink_speed": 1000000000
179 }
180
181#### Update Subscriber downlink_speed [PUT]
182
183+ Request 200 (application/json)
184
185 {
186 "downlink_speed": 1000000000
187 }
188
189+ Response 200 (application/json)
190
191 {
192 "downlink_speed": 1000000000
193 }
194
195#### Subscriber features cdn [/api/tenant/cord/subscriber/{subscriber_id}/features/cdn/]
196
197+ Parameters
198 + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
199
200#### Read Subscriber cdn [GET]
201
202+ Response 200 (application/json)
203
204 {
205 "cdn": false
206 }
207
208#### Update Subscriber cdn [PUT]
209
210+ Request 200 (application/json)
211
212 {
213 "cdn": false
214 }
215
216+ Response 200 (application/json)
217
218 {
219 "cdn": false
220 }
221
222#### Subscriber features uverse [/api/tenant/cord/subscriber/{subscriber_id}/features/uverse/]
223
224+ Parameters
225 + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
226
227#### Read Subscriber uverse [GET]
228
229+ Response 200 (application/json)
230
231 {
232 "uverse": false
233 }
234
235#### Update Subscriber uverse [PUT]
236
237+ Request 200 (application/json)
238
239 {
240 "uverse": false
241 }
242
243+ Response 200 (application/json)
244
245 {
246 "uverse": false
247 }
248
249#### Subscriber features status [/api/tenant/cord/subscriber/{subscriber_id}/features/status/]
250
251+ Parameters
252 + subscriber_id: 1 (number) - ID of the Subscriber in the form of an integer
253
254#### Read Subscriber status [GET]
255
256+ Response 200 (application/json)
257
258 {
259 "status": "enabled"
260 }
261
262#### Update Subscriber status [PUT]
263
264+ Request 200 (application/json)
265
266 {
267 "status": "enabled"
268 }
269
270+ Response 200 (application/json)
271
272 {
273 "status": "enabled"
274 }
275
276
277# Group Truckroll
278
279Virtual Truckroll, enable to perform basic test on user connectivity such as ping, traceroute and tcpdump.
280
281## Truckroll Collection [/api/tenant/truckroll/]
282
283### List all Truckroll [GET]
284
285+ Response 200 (application/json)
286
287 [
288 {
289 "humanReadableName": "vTR-tenant-9",
290 "id": 9,
291 "provider_service": 6,
292 "target_id": 2,
293 "scope": "container",
294 "test": "ping",
295 "argument": "8.8.8.8",
296 "result": "",
297 "result_code": "",
298 "is_synced": false,
299 "backend_status": "2 - Exception('Unreachable results in ansible recipe',)"
300 }
301 ]
302
303### Create a Truckroll [POST]
304
305+ Request (application/json)
306
307 {
308 "target_id": 2,
309 "scope": "container",
310 "test": "ping",
311 "argument": "8.8.8.8"
312 }
313
314+ Response 201 (application/json)
315
316 {
317 "humanReadableName": "vTR-tenant-1",
318 "id": 1,
319 "provider_service": 6,
320 "target_id": 2,
321 "scope": "container",
322 "test": "ping",
323 "argument": "8.8.8.8",
324 "result": null,
325 "result_code": null,
326 "is_synced": false,
327 "backend_status": "0 - Provisioning in progress"
328 }
329
330## Truckroll Detail [/api/tenant/truckroll/{truckroll_id}/]
331
332A virtual truckroll is complete once is_synced equal true
333
334+ Parameters
335 + truckroll_id: 1 (number) - ID of the Truckroll in the form of an integer
336
337### View a Truckroll Detail [GET]
338
339+ Response 200 (application/json)
340
341 {
342 "humanReadableName": "vTR-tenant-10",
343 "id": 10,
344 "provider_service": 6,
345 "target_id": 2,
346 "scope": "container",
347 "test": "ping",
348 "argument": "8.8.8.8",
349 "result": null,
350 "result_code": null,
351 "is_synced": false,
352 "backend_status": "0 - Provisioning in progress"
353 }
354
355### Delete a Truckroll Detail [DELETE]
356
357+ Response 204
358
359
360
361# Group vOLT
362
363OLT devices aggregate a set of subscriber connections
364
365## vOLT Collection [/api/tenant/cord/volt/]
366
367### List all vOLT [GET]
368
369+ Response 200 (application/json)
370
371 [
372 {
373 "humanReadableName": "vOLT-tenant-1",
374 "id": 1,
375 "service_specific_id": "123",
376 "s_tag": "222",
377 "c_tag": "432",
378 "subscriber": 1,
379 "related": {
380 "instance_id": 1,
381 "instance_name": "mysite_vcpe",
382 "vsg_id": 4,
383 "wan_container_ip": null,
384 "compute_node_name": "node2.opencloud.us"
385 }
386 }
387 ]
388
389### Create a vOLT [POST]
390
391+ Request (application/json)
392
393 {
394 "s_tag": "222",
395 "c_tag": "432",
396 "subscriber": 1
397 }
398
399+ Response 201 (application/json)
400
401 {
402 "humanReadableName": "vOLT-tenant-1",
403 "id": 1,
404 "service_specific_id": "123",
405 "s_tag": "222",
406 "c_tag": "432",
407 "subscriber": 1,
408 "related": {
409 "instance_id": 1,
410 "instance_name": "mysite_vcpe",
411 "vsg_id": 4,
412 "wan_container_ip": null,
413 "compute_node_name": "node2.opencloud.us"
414 }
415 }
416
417## vOLT Detail [/api/tenant/cord/volt/{volt_id}/]
418
419A virtual volt is complete once is_synced equal true
420
421+ Parameters
422 + volt_id: 1 (number) - ID of the vOLT in the form of an integer
423
424### View a vOLT Detail [GET]
425
426+ Response 200 (application/json)
427
428 {
429 "humanReadableName": "vOLT-tenant-1",
430 "id": 1,
431 "service_specific_id": "123",
432 "s_tag": "222",
433 "c_tag": "432",
434 "subscriber": 1,
435 "related": {
436 "instance_id": 1,
437 "instance_name": "mysite_vcpe",
438 "vsg_id": 4,
439 "wan_container_ip": null,
440 "compute_node_name": "node2.opencloud.us"
441 }
442 }
443
444
445
446# Group ONOS Apps
447
448## app Collection [/api/tenant/onos/app/]
449
450### List all apps [GET]
451
452+ Response 200 (application/json)
453
454 [
455 {
456 "humanReadableName": "onos-tenant-7",
457 "id": 7,
458 "name": "vBNG_ONOS_app",
459 "dependencies": "org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd"
460 }
461 ]