5debdb6a743bf74826a91f513a4ff9323c8e1eac
[multicloud/framework.git] / docs / MultiCloud-APIv1-Specification.rst
1 ..
2  This work is licensed under a Creative Commons Attribution 4.0
3  International License.
4
5 ================================
6 MultiCloud API v1 Specification
7 ================================
8
9 The is the specification for MultiCloud API version v1.
10
11 Note: "MultiCloud API Specification V1" refers to the specification for MultiCloud API version v0
12
13 API Catalog
14 ===========
15
16 1. **Scope**
17 ^^^^^^^^^^^^
18
19 The scope of the present document is to describe the MutliCloud NorthBound API
20 specification.
21
22 2. **Terms, Definitions and Abbreviations**
23 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24
25 For the purposes of the present document, the following abbreviations
26 apply:
27
28 ===================== =========================================================
29 Abbreviation           Description
30 ===================== =========================================================
31 NFVO                  Network Functions Virtualization Orchestrator
32 VNFM                  Virtual Network Function Management
33 VIM                   Virtualized Infrastructure Manager
34 MultiVIM/MultiCloud   MultVIM driver services for OPEN-O to drive VIM instances
35 ===================== =========================================================
36
37 3. **Image Management**
38 ^^^^^^^^^^^^^^^^^^^^^^^
39
40 3.1. **Create Image**
41 ---------------------
42
43 ===================== =========================================================
44 IF Definition          Description
45 ===================== =========================================================
46 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/images
47 Operation              POST
48 Direction              NSLCM->MULTIVIM
49 Description            Create Image and Upload the image file to the VIM
50 ===================== =========================================================
51
52 3.1.1. **Request**
53 >>>>>>>>>>>>>>>>>>
54
55 ================ ========= ============ ======== ================================
56 Parameter        Qualifier Cardinality  Content    Description
57 ================ ========= ============ ======== ================================
58 name             M         1            String     Image Name
59 imagePath        M         1            String     Image Local Path from catalog
60 imageType        M         1            String     Image Type
61                                                      ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso
62 visibility       O         1            string     Visibility for this image.
63                                                    public, private, shared, or community
64 containerFormat  M         1            string     ami,ari,aki,bare,ovf,ova, docker
65 properties       O         0..N         List       Examples:--property vmware_disktype=streamOptimized --property vmware_adaptertype="lsiLogic"
66 ================ ========= ============ ======== ================================
67
68
69 ::
70
71     {
72
73     "imageName": "cirros",
74
75     "imagePath": "/home/cirros.qcow2",
76
77     "imageType": "qcow2"
78
79     "containerFormat":"bare"
80
81     }
82
83 3.1.2. **Response**
84 >>>>>>>>>>>>>>>>>>>
85
86 ================ ========= ============ ======== ================================
87 Parameter        Qualifier Cardinality  Content    Description
88 ================ ========= ============ ======== ================================
89   id                  M         1       String                      Image UUID in the VIM
90   name                M         1       String                      Image Name
91   returnCode          M         1       Int                         0: Already exist 1: Newly created
92   imageType           M         1       String                      Image Type
93                                                                       ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso
94 containerFormat       M         1       string                      ami,?ari,?aki,?bare,?ovf,?ova, ?docker
95   visibility          O         1       string                      Visibility for this image.
96                                                                       public, private, shared, or community
97   properties          O                 0..N                List of key-value pairs
98   vimid               M         1       String                      vim id
99   vimName             O         1       string                      vim name
100   cloud-owner         M         1       String                      cloud owner
101 cloud-region-id       M         1       string                      cloud region id
102   tenantId            M         1       String                      Tenant UUID
103 ================ ========= ============ ======== ================================
104
105 *202*: accepted
106
107 500: failed
108
109 ::
110
111     {
112         "id": "3c9eebdbbfd345658269340b9ea6fb73",
113         "name": "cirros",
114         "returnCode": 1
115     }
116
117 3.2. **Delete Image**
118 ---------------------
119
120 ===================== =========================================================
121 IF Definition          Description
122 ===================== =========================================================
123 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/images/{imageId}
124 Operation              Delete
125 Direction              NSLCM->MULTIVIM
126 Description            Delete Image
127 ===================== =========================================================
128
129 3.2.1. **Request**
130 >>>>>>>>>>>>>>>>>>
131
132 N/A
133
134 3.2.2. **Response**
135 >>>>>>>>>>>>>>>>>>>
136
137 204: no content
138
139 3.3. **List Images**
140 --------------------
141
142 ===================== =========================================================
143 IF Definition          Description
144 ===================== =========================================================
145 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/images
146 Operation              GET
147 Direction              NSLCM->MULTIVIM
148 Description            Query Image list
149 ===================== =========================================================
150
151 3.3.1. **Request**
152 >>>>>>>>>>>>>>>>>>
153
154 ============== ========= ============ ======== ================================
155 Parameter      Qualifier Cardinality  Content    Description
156 ============== ========= ============ ======== ================================
157   limit             O         1       integer         Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
158   marker            O         1       string          The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request.
159   name              O         1       String          Filters the response by a name, as a string. A valid value is the name of an image
160 ============== ========= ============ ======== ================================
161
162
163 3.3.2. **Response**
164 >>>>>>>>>>>>>>>>>>>
165
166
167 ================ ========= ============ ======== ================================
168 Parameter        Qualifier Cardinality  Content    Description
169 ================ ========= ============ ======== ================================
170 images            M         0..N         List      Image List
171
172 id                M         1            String    Image ID
173
174 size              M         1            int       Image Size
175
176 name              M         1            String    Image Name
177
178 status            M         1            String    Image Status
179
180 imageType         M         1            String    Image Type
181                                                      ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso
182 containerFormat   M         1            string    ami,?ari,?aki,?bare,?ovf,?ova, ?docker
183 visibility        O         1            string    Visibility for this image.
184                                                      public, private, shared, or community
185 vimId             M         1            String    vim id
186 vimName           O         1            string    vim name
187 cloud-owner       M         1            String    cloud owner
188 cloud-region-id   M         1            string    cloud region id
189 tenantId          M         1            String    Tenant UUID
190 ================ ========= ============ ======== ================================
191
192 200: ok
193
194 500: failed
195
196 ::
197
198     {
199         "vimid": "",
200         "vimname": "",
201         "imageList": [{
202             "status": "active",
203             "id": "5e2757c1-f846-4727-915c-9a872553ed75",
204             "size": 862016,
205             "name": "vim-plus-cgsl40g-z.qcow2"
206         }]
207     }
208
209
210 3.4. **Get Image**
211 ------------------
212
213 ===================== =========================================================
214 IF Definition          Description
215 ===================== =========================================================
216 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/images/{imageid}
217 Operation              GET
218 Direction              NSLCM->MULTIVIM
219 Description            Query Image Information
220 ===================== =========================================================
221
222
223
224 3.4.1. **Request**
225 >>>>>>>>>>>>>>>>>>
226
227 N/A
228
229 3.4.2. **Response**
230 >>>>>>>>>>>>>>>>>>>
231
232 ================ ========= ============ ======== ================================
233 Parameter        Qualifier Cardinality  Content    Description
234 ================ ========= ============ ======== ================================
235   id                  M         1       String          Image ID
236   size                M         1       int             Image Size
237   name                M         1       String          Image Name
238   status              M         1       String          Image Status
239   imageType           M         1       String          Image Type
240                                                           ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso
241 containerFormat       M         1       string          ami,?ari,?aki,?bare,?ovf,?ova, ?docker
242   visibility          O         1       string          Visibility for this image.
243                                                           public, private, shared, or community
244   vimId               M         1       String          vim id
245   vimName             M         1       string          vim name
246   cloud-owner         M         1       String          cloud owner
247 cloud-region-id       M         1       string          cloud region id
248   tenantId            M         1       String          Tenant UUID
249 ================ ========= ============ ======== ================================
250
251 200: ok
252
253 500: failed
254
255 ::
256
257     {
258         "vimid": "",
259         "vimname": "",
260         "status": "active",
261         "id": "5e2757c1-f846-4727-915c-9a872553ed75",
262         "size": 862016,
263         "name": "vim-plus-cgsl40g-z.qcow2"
264     }
265
266 4. **Network Management**
267 ^^^^^^^^^^^^^^^^^^^^^^^^^
268
269 4.1. **Create Network**
270 -----------------------
271
272 ===================== =========================================================
273 IF Definition          Description
274 ===================== =========================================================
275 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/networks
276 Operation              POST
277 Direction              VNFLCM,NSLCM->MULTIVIM
278 Description            Create network on the VIM
279 ===================== =========================================================
280
281 4.1.1. **Request**
282 >>>>>>>>>>>>>>>>>>
283
284 ================ ========= ============ ======== ================================
285 Parameter        Qualifier Cardinality  Content    Description
286 ================ ========= ============ ======== ================================
287   name                M         1       String          Logical network name
288   shared              M         1       boolean         Whether to share(1:sharing;0:private)
289 vlanTransparent       O         1       boolean         Whether to support VLAN pass through(1:true;0:false)
290   networkType         O         1       String          Network type
291                                                           flat, vlan, vxlan, gre, portgroup
292   segmentationId      O         1       Int             id of paragraph
293 physicalNetwork       O         1       string          The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host.
294   routerExternal      O         1       boolean        Indicates whether this network can provide floating IPs via a router.
295 ================ ========= ============ ======== ================================
296
297
298 ::
299
300     {
301         "tenant": "tenant1",
302         "networkName": "ommnet",
303         "shared": 1,
304         "vlanTransparent": 1,
305         "networkType": "vlan",
306         "segmentationId": 202,
307         "physicalNetwork": "ctrl",
308         "routerExternal": 0
309     }
310
311 4.1.2. **Response**
312 >>>>>>>>>>>>>>>>>>>
313
314 ================ ========= ============ ======== ================================
315 Parameter        Qualifier Cardinality  Content    Description
316 ================ ========= ============ ======== ================================
317 status            M          1          string     Network status
318 id                M          1          string     Network id
319 name              M          1          string     Network name
320 tenantId          M          1          String     Tenant UUID
321 segmentationId    O          1          int        Segmentation id
322 networkType       O          1          string     Network type
323 physicalNetwork   O          1          string     The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host.
324 vlanTransparent   O          1          boolean    Whether to support VLAN pass through(1:true;0:false)
325 shared            O          1          boolean    Whether to share(1:sharing;0:private)
326 routerExternal    O          1          boolean    Indicates whether this network can provide floating IPs via a router.
327 returnCode        M          1          int        0: Already exist 1: Newly created
328 vimId             M          1          String     vim id
329 vimName           O          1          string     vim name
330 cloud-owner       M          1          String     cloud owner
331 cloud-region-id   M          1          string     cloud region id
332 ================ ========= ============ ======== ================================
333
334 202: accepted
335
336 500: failed
337
338 ::
339
340     {
341         "returnCode": 0,
342         "vimId": "11111",
343         "vimName": "11111",
344         "status": "ACTIVE",
345         "id": "3c9eebdbbfd345658269340b9ea6fb73",
346         "name": "net1",
347         "tenant": "tenant1",
348         "networkName": "ommnet",
349         "shared": 1,
350         "vlanTransparent": 1,
351         "networkType": "vlan",
352         "segmentationId": 202,
353         "physicalNetwork": "ctrl",
354         "routerExternal": 0
355     }
356
357 4.2. **Delete Network**
358 -----------------------
359
360 ===================== =========================================================
361 IF Definition          Description
362 ===================== =========================================================
363 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/networks/{networkId}
364 Operation              Delete
365 Direction              VNFLCM,NSLCM->MULTIVIM
366 Description            Delete a network on the VIM
367 ===================== =========================================================
368
369 4.2.1. **Request**
370 >>>>>>>>>>>>>>>>>>
371
372 N/A
373
374 4.2.2. **Response**
375 >>>>>>>>>>>>>>>>>>>
376
377 204: no content
378
379 4.3. **List Network**
380 ---------------------
381
382 ===================== =========================================================
383 IF Definition          Description
384 ===================== =========================================================
385 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/networks
386 Operation              GET
387 Direction              VNFLCM,NSLCM->MULTIVIM
388 Description            List networks on the VIM
389 ===================== =========================================================
390
391 4.3.1. **Query**
392 >>>>>>>>>>>>>>>>
393
394 ================ ========= ============ ======== ================================
395 Parameter        Qualifier Cardinality  Content    Description
396 ================ ========= ============ ======== ================================
397 name             O         1            String    Filters the response by a name, as a string. A valid value is the name of a network
398 ================ ========= ============ ======== ================================
399
400 4.3.2. **Response**
401 >>>>>>>>>>>>>>>>>>>
402
403 ================ ========= ============ ======== ================================
404 Parameter        Qualifier Cardinality  Content    Description
405 ================ ========= ============ ======== ================================
406 vimId             M           1         String        vim id
407 vimName           O           1         string        vim name
408 cloud-owner       M           1         String        cloud owner
409 cloud-region-id   M           1         string        cloud region id
410 networks                      0..N      List          Network list
411 status            M           1         string        Network status
412 id                M           1         string        Network id
413 name              M           1         string        Network name
414 tenantId          M           1         String        Tenant UUID
415 segmentationId    O           1         int           Segmentation id
416 networkType       O           1         string        Network type
417 physicalNetwork   O           1         string        The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host.
418 vlanTransparent   O           1         boolean       Whether to support VLAN pass through(1:true;0:false)
419 shared            O           1         boolean       Whether to share(1:sharing;0:private)
420 routerExternal    O           1         boolean       Indicates whether this network can provide floating IPs via a router
421 ================ ========= ============ ======== ================================
422
423 200: ok
424
425 500: failed
426
427 ::
428
429     {
430
431         "vimId": "11111",
432
433         "vimName": "111",
434
435         "networks":
436
437             [{
438
439                 "status": "ACTIVE",
440
441                 "id": "3c9eebdbbfd345658269340b9ea6fb73",
442
443                 "name": "net1",
444
445                 "tenant": "tenant1",
446
447                 "networkName": "ommnet",
448
449                 "shared": 1,
450
451                 "vlanTransparent": 1,
452
453                 "networkType": "vlan",
454
455                 "segmentationId": 202,
456
457                 "physicalNetwork ": "ctrl",
458
459                 "routerExternal ": 0
460
461             }]
462
463     }
464
465 4.4. **Get Network**
466 --------------------
467
468 ===================== =========================================================
469 IF Definition          Description
470 ===================== =========================================================
471 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/networks/{networkId}
472 Operation              get
473 Direction              VNFLCM,NSLCM->MULTIVIM
474 Description            Get a network on the VIM
475 ===================== =========================================================
476
477 4.4.1. **Request**
478 >>>>>>>>>>>>>>>>>>
479
480 N/A
481
482 4.4.2. **Response**
483 >>>>>>>>>>>>>>>>>>>
484
485 ================ ========= ============ ======== ================================
486 Parameter        Qualifier Cardinality  Content    Description
487 ================ ========= ============ ======== ================================
488   status              M         1       string          Network status
489   id                  M         1       string          Network id
490   name                M         1       string          Network name
491   tenantId            M         1       String          Tenant UUID
492   segmentationId      O         1       int             Segmentation id
493   networkType         O         1       string          Network type
494 physicalNetwork       O         1       string          The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host.
495 vlanTransparent       O         1       boolean         Whether to support VLAN pass through(1:true;0:false)
496   shared              O         1       boolean         Whether to share(1:sharing;0:private)
497   routerExternal      O         1       boolean         Indicates whether this network can provide floating IPs via a router.
498   returnCode          M         1       int             0: Already exist 1: Newly created
499   vimId               M         1       String          vim id
500   vimName             O         1       string          vim name
501   cloud-owner         M         1       String                      cloud owner
502 cloud-region-id       M         1       string                      cloud region id
503 ================ ========= ============ ======== ================================
504
505 200: ok
506
507 500: failed
508
509 ::
510
511     {
512
513         "vimId":"11111",
514
515         "vimName":"11111",
516
517         "status": "ACTIVE",
518
519         "id": "3c9eebdbbfd345658269340b9ea6fb73",
520
521         "name": "net1",
522
523         "tenant": "tenant1",
524
525         "networkName": "ommnet",
526
527         "shared": 1,
528
529         "vlanTransparent": 1,
530
531         "networkType":"vlan",
532
533         "segmentationId":202,
534
535         "physicalNetwork ":"ctrl",
536
537         "routerExternal ":0
538
539     }
540
541 5. **Subnetwork Management**
542 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
543
544 5.1. **Create Subnets**
545 -----------------------
546
547
548 ===================== =========================================================
549 IF Definition          Description
550 ===================== =========================================================
551 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/subnets
552 Operation              POST
553 Direction              VNFLCM,NSLCM->MULTIVIM
554 Description            Create subnet on the VIM
555 ===================== =========================================================
556
557 5.1.1. **Request**
558 >>>>>>>>>>>>>>>>>>
559
560 ================ ========= ============ ======== ================================
561 Parameter        Qualifier Cardinality  Content    Description
562 ================ ========= ============ ======== ================================
563   networkId           M         1       String                   Network Id
564   name                M         1       String                   SubnetName
565   cidr                M         1       String                   Subnet cidr
566   ipVersion           M         1       Int                      Ip type
567                                                                     4,6
568   enableDhcp          O         1       boolean                  Whether to allow
569                                                                          1: yes;0: no
570   gatewayIp           O         1       String                   Gateway ip
571 dnsNameservers        O         1..n    List        List of servers
572   hostRoutes          O         1..n    List        List of routes
573 allocationPools       O         1..n    list        List of allocation
574   -->allocation
575   -->start            O         1       String                   Start ip
576   -->end              O         1       String                   End ip
577 ================ ========= ============ ======== ================================
578
579 ::
580
581     {
582
583         "tenant": "tenant1",
584
585         "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
586
587         "subnetName": "subnet1",
588
589         "cidr": "10.43.35.0/24",
590
591         "ipVersion": 4,
592
593         "enableDhcp": 1,
594
595         "gatewayIp": "10.43.35.1",
596
597         "dnsNameservers": [],
598
599         "allocationPools": [{
600
601             "start": "192.168.199.2",
602
603             "end": "192.168.199.254"
604
605         }],
606
607         "hostRoutes": []
608
609     }
610
611 5.1.2. **Response**
612 >>>>>>>>>>>>>>>>>>>
613
614 ================ ========= ============ ======== ================================
615 Parameter        Qualifier Cardinality  Content    Description
616 ================ ========= ============ ======== ================================
617   returnCode          M         1       int                      0: Already exist 1: Newly created
618   vimId               M         1       String                   vim id
619   vimName             O         1       string                   vim name
620   cloud-owner         M         1       String                      cloud owner
621 cloud-region-id       M         1       string                      cloud region id
622   status              M         1       string                   subnetwork status
623   id                  M         1       string                   subNetwork id
624   tenantId            M         1       String                   Tenant UUID
625   networkId           O         1       String                   Network Id
626   networkName         O         1       String                   Network Name
627   name                M         1       String                   SubnetName
628   cidr                M         1       String                   Subnet cidr
629   ipVersion           M         1       Int                      Ip type
630                                                                   4,6
631   enableDhcp          O         1       boolean                  Whether to allow
632                                                                   1: yes;0: no
633   gatewayIp           O         1       String                   Gateway ip
634 dnsNameservers        O         1..n    List          List of servers
635   hostRoutes          O         1..     List           List of routes
636 allocationPools       O         1..n    List           list of allocation
637   -->allocation
638   -->start            O         1       String                   Start ip
639   -->end              O         1       String                   End ip
640 ================ ========= ============ ======== ================================
641
642 202: accepted
643
644 500: failed
645
646 ::
647
648     {
649
650         "returnCode": 0,
651
652         "vimId": "11111",
653
654         "vimName": "11111",
655
656         "status": " ACTIVE",
657
658         "id": " d62019d3-bc6e-4319-9c1d-6722fc136a23",
659
660         "tenant": "tenant1",
661
662         "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
663
664         "name": "subnet1",
665
666         "cidr": "10.43.35.0/24",
667
668         "ipVersion": 4,
669
670         "enableDhcp": 1,
671
672         "gatewayIp": "10.43.35.1",
673
674         "dnsNameservers": [],
675
676         "allocationPools": [{
677
678             "start": "192.168.199.2",
679
680             "end": "192.168.199.254"
681
682         }],
683
684         "hostRoutes": []
685
686     }
687
688 5.2. **Delete Subnets**
689 -----------------------
690
691 ===================== =========================================================
692 IF Definition          Description
693 ===================== =========================================================
694 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/subnets/{subnetId}
695 Operation              Delete
696 Direction              VNFLCM,NSLCM->MULTIVIM
697 Description            Delete a subnet on the VIM
698 ===================== =========================================================
699
700 5.2.1. **Request**
701 >>>>>>>>>>>>>>>>>>
702
703 N/A
704
705 5.2.2. **Response**
706 >>>>>>>>>>>>>>>>>>>
707
708 204: no content
709
710 5.3. **List Subnets**
711 ---------------------
712
713 ===================== =========================================================
714 IF Definition          Description
715 ===================== =========================================================
716 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/subnets
717 Operation              Get
718 Direction              VNFLCM,NSLCM->MULTIVIM
719 Description            List subnets on the VIM
720 ===================== =========================================================
721
722 5.3.1. **Query**
723 >>>>>>>>>>>>>>>>
724
725 msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/subnets?{……}
726
727 ================ ========= ============ ======== ================================
728 Parameter        Qualifier Cardinality  Content    Description
729 ================ ========= ============ ======== ================================
730   name              O         1         String          Filters fields of the response by a name, as a string. A valid value is the name of a subnet
731 ================ ========= ============ ======== ================================
732
733 5.3.2. **Response**
734 >>>>>>>>>>>>>>>>>>>
735
736 ================ ========= ============ ======== ================================
737 Parameter        Qualifier Cardinality  Content    Description
738 ================ ========= ============ ======== ================================
739   vimId               M         1       String                   vim id
740   vimName             O         1       string                   vim name
741   cloud-owner         M         1       String                      cloud owner
742 cloud-region-id       M         1       string                      cloud region id
743   subnets             M         0..N    List                     Network list
744   status                        1       string                   subnetwork status
745   id                            1       string                   subNetwork id
746   tenantId            M         1       String                   Tenant UUID
747   networkId           O         1       String                   Network Id
748   networkName         O         1       String                   Network Name
749   name                M         1       String                   SubnetName
750   cidr                M         1       String                   Subnet cidr
751   ipVersion           M         1       Int                      Ip type
752                                                                     4,6
753   enableDhcp          O         1       boolean                  Whether to allow
754                                                                     1: yes;0: no
755   gatewayIp           O         1       String                   Gateway ip
756 dnsNameservers        O         1..n    List          List of servers
757   hostRoutes          O         1..     List           List of routes
758 allocationPools       O         1..n    List         list of allocation
759   -->allocation
760   -->start            O         1       String                   Start ip
761   -->end              O         1       String                   End ip
762 ================ ========= ============ ======== ================================
763
764 **200: ok**
765
766 **500: failed**
767
768 ::
769
770     {
771
772         "vimId": "11111",
773
774         "vimName": "11111",
775
776         "subnets": [
777
778             {
779
780                 "status": " ACTIVE",
781
782                 "id": " d62019d3-bc6e-4319-9c1d-6722fc136a23",
783
784                 "tenant": "tenant1",
785
786                 "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
787
788                 "name": "subnet1",
789
790                 "cidr": "10.43.35.0/24",
791
792                 "ipVersion": 4,
793
794                 "enableDhcp": 1,
795
796                 "gatewayIp": "10.43.35.1",
797
798                 "dnsNameservers": [],
799
800                 "allocationPools": [{
801
802                     "start": "192.168.199.2",
803
804                     "end": "192.168.199.254"
805
806                 }],
807
808                 "hostRoutes": []
809
810             }
811
812         ]
813
814     }
815
816 5.4. **Get Subnets**
817 --------------------
818
819 ===================== =========================================================
820 IF Definition          Description
821 ===================== =========================================================
822 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/subnets/{subnetid}
823 Operation              GET
824 Direction              VNFLCM,NSLCM->MULTIVIM
825 Description            Get subnet on the VIM
826 ===================== =========================================================
827
828 5.4.1. **Request**
829 >>>>>>>>>>>>>>>>>>
830
831 N/A
832
833 5.4.2. **Response**
834 >>>>>>>>>>>>>>>>>>>
835
836 ================ ========= ============ ======== ================================
837 Parameter        Qualifier Cardinality  Content    Description
838 ================ ========= ============ ======== ================================
839   vimId               M         1       String                   vim id
840   vimName             O         1       string                   vim name
841   cloud-owner         M         1       String                      cloud owner
842 cloud-region-id       M         1       string                      cloud region id
843   status                        1       string                   subnetwork status
844   id                            1       string                   subNetwork id
845   tenantId            M         1       String                   Tenant UUID
846   networkId           O         1       String                   Network Id
847   networkName         O         1       String                   Network Name
848   name                M         1       String                   SubnetName
849   cidr                M         1       String                   Subnet cidr
850   ipVersion           M         1       Int                      Ip type
851                                                                    4,6
852   enableDhcp          O         1       boolean                  Whether to allow
853                                                                    1: yes;0: no
854   gatewayIp           O         1       String                   Gateway ip
855 dnsNameservers        O         1..n    List          List of servers
856   hostRoutes          O         1..     List           List of routes
857 allocationPools       O         1..n    List           list of allocation
858   -->allocation
859   -->start            O         1       String                   Start ip
860   -->end              O         1       String                   End ip
861 ================ ========= ============ ======== ================================
862
863 202: accepted
864
865 500: failed
866
867 ::
868
869     {
870
871         "status": " ACTIVE",
872
873         "id": " d62019d3-bc6e-4319-9c1d-6722fc136a23",
874
875         "tenant": "tenant1",
876
877         "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
878
879         "name": "subnet1",
880
881         "cidr": "10.43.35.0/24",
882
883         "ipVersion": 4,
884
885         "enableDhcp": 1,
886
887         "gatewayIp": "10.43.35.1",
888
889         "dnsNameservers": [],
890
891         "allocationPools": [{
892
893             "start": "192.168.199.2",
894
895             "end": "192.168.199.254"
896
897         }],
898
899         "hostRoutes": []
900
901     }
902
903 6. **Virtual Port**
904 ^^^^^^^^^^^^^^^^^^^
905
906 6.1. **Create Virtual Port**
907 ----------------------------
908
909 ===================== =========================================================
910 IF Definition          Description
911 ===================== =========================================================
912 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/ports
913 Operation              POST
914 Direction              VNFLCM->MULTIVIM
915 Description            Create a vport on the VIM
916 ===================== =========================================================
917
918 6.1.1. **Request**
919 >>>>>>>>>>>>>>>>>>
920
921 ================ ========= ============ ======== ================================
922 Parameter        Qualifier Cardinality  Content    Description
923 ================ ========= ============ ======== ================================
924   networkId           M         1       string          Network UUID
925   subnetId            O         1       string          Subnet UUID
926   name                M         1       string          Port name
927   macAddress          O         1       string          Mac address
928   ip                  O         1       string          Ip address
929   vnicType            O         1       string          Virtual network card type,
930                                                           the value of three kinds of normal/direct/macvtap
931   securityGroups     O          1       string      The IDs of security groups applied to the port
932 ================ ========= ============ ======== ================================
933
934 6.1.2. **Response**
935 >>>>>>>>>>>>>>>>>>>
936
937 ================ ========= ============ ======== ================================
938 Parameter        Qualifier Cardinality  Content    Description
939 ================ ========= ============ ======== ================================
940   returnCode          M         1       int             0: Already exist 1: Newly created
941   vimId               M         1       String          vim id
942   vimName             O         1       string          vim name
943   cloud-owner         M         1       String          cloud owner
944 cloud-region-id       M         1       string          cloud region id
945   status              M         1       string          status
946   id                  M         1       string          Port Id
947   name                M         1       string          Port name
948   tenantId            M         1       String          Tenant UUID
949   networkName         M         1       string          Network name
950   networkId           M         1       string          Network Id
951   subnetName          M         1       string          Subnet name
952   subnetId            M         1       string          SubnetId
953   macAddress          O         1       string          Mac address
954   ip                  O         1       string          Ip address
955   vnicType            O         1       string          Virtual network card type,
956                                                           the value of three kinds of normal/direct/macvtap
957   securityGroups     O          1       string      List of security group names.
958 ================ ========= ============ ======== ================================
959
960 6.2. **Delete Virtual Port**
961 ----------------------------
962
963 ===================== =========================================================
964 IF Definition          Description
965 ===================== =========================================================
966 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/ports/{portid}
967 Operation              POST
968 Direction              VNFLCM->MULTIVIM
969 Description            Delete a vport on the VIM
970 ===================== =========================================================
971
972 6.2.1. **Request**
973 >>>>>>>>>>>>>>>>>>
974
975 N/A
976
977 6.2.2. **Response**
978 >>>>>>>>>>>>>>>>>>>
979
980 204: no content
981
982 6.3. **List Virtual Port**
983 --------------------------
984
985 ===================== =========================================================
986 IF Definition          Description
987 ===================== =========================================================
988 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/ports
989 Operation              GET
990 Direction              VNFLCM->MULTIVIM
991 Description            List vports on the VIM
992 ===================== =========================================================
993
994 6.3.1. **Query**
995 >>>>>>>>>>>>>>>>
996
997 ================ ========= ============ ======== ================================
998 Parameter        Qualifier Cardinality  Content    Description
999 ================ ========= ============ ======== ================================
1000   name              M         1         string          Port name to filter out list of virtual ports
1001 ================ ========= ============ ======== ================================
1002
1003 6.3.2. **Response**
1004 >>>>>>>>>>>>>>>>>>>
1005
1006 ================ ========= ============ ======== ================================
1007 Parameter        Qualifier Cardinality  Content    Description
1008 ================ ========= ============ ======== ================================
1009   vimId               M         1       String          vim id
1010   vimName             O         1       string          vim name
1011   cloud-owner         M         1       String          cloud owner
1012 cloud-region-id       M         1       string          cloud region id
1013   tenantId            M         1       String          Tenant UUID
1014   Ports               M         0..N    List            ports
1015   id                  M         1       string          Port Id
1016   name                M         1       string          Port name
1017   status              M         1       string          status
1018   networkName         O         1       string          Network name
1019   networkId           M         1       string          Network Id
1020   subnetName          O         1       string          Subnet name
1021   subnetId            M         1       string          SubnetId
1022   macAddress          O         1       string          Mac address
1023   ip                  O         1       string          Ip address
1024   vnicType            O         1       string          Virtual network card type,
1025                                                           the value of three kinds of normal/direct/macvtap
1026   securityGroups      O         1       string          List of security group names.
1027 ================ ========= ============ ======== ================================
1028
1029 **200: ok**
1030
1031 **500: failed**
1032
1033
1034 6.4. **Get Virtual Port**
1035 -------------------------
1036
1037 ===================== =========================================================
1038 IF Definition          Description
1039 ===================== =========================================================
1040 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/ports/{portid}
1041 Operation              GET
1042 Direction              VNFLCM->MULTIVIM
1043 Description            Get a vport on the VIM
1044 ===================== =========================================================
1045
1046 6.4.1. **Request**
1047 >>>>>>>>>>>>>>>>>>
1048
1049 N/A
1050
1051 6.4.2. **Response**
1052 >>>>>>>>>>>>>>>>>>>
1053
1054 =============== ========= ============ ======== =================================
1055 Parameter       Qualifier Cardinality  Content    Description
1056 =============== ========= ============ ======== =================================
1057   vimId              M         1       String          vim id
1058   vimName            O         1       string          vim name
1059   cloud-owner        M         1       String          cloud owner
1060 cloud-region-id      M         1       string          cloud region id
1061   status             M         1       string          status
1062   id                 M         1       string          Port Id
1063   name               M         1       string          Port name
1064   tenantId           M         1       String          Tenant UUID
1065   networkName        M         1       string          Network name
1066   networkId          M         1       string          Network Id
1067   subnetName         M         1       string          Subnet name
1068   subnetId           M         1       string          SubnetId
1069   macAddress         O         1       string          Mac address
1070   ip                 O         1       string          Ip address
1071   vnicType           O         1       string          Virtual network card type,
1072                                                          the value of three kinds of normal/direct/macvtap
1073 securityGroups       O         1       string          List of security group names
1074 =============== ========= ============ ======== =================================
1075
1076 **200: ok**
1077
1078 **500: failed**
1079
1080
1081 7. **Server Management**
1082 ^^^^^^^^^^^^^^^^^^^^^^^^
1083
1084 7.1. **Create Server**
1085 ----------------------
1086
1087 ===================== =========================================================
1088 IF Definition          Description
1089 ===================== =========================================================
1090 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/servers
1091 Operation              POST
1092 Direction              VNFLCM->MULTIVIM
1093 Description            Create a vserver on the VIM
1094 ===================== =========================================================
1095
1096 7.1.1. **Request**
1097 >>>>>>>>>>>>>>>>>>
1098
1099 ================ ========= ============ ======== ================================
1100 Parameter        Qualifier Cardinality  Content    Description
1101 ================ ========= ============ ======== ================================
1102   name                M         1       string       server name
1103   boot                M         1       String       Start parameters
1104   nicArray            O         1..n    List         List
1105   contextArray        O         1..n    list         list of context
1106   volumeArray         O         1..n    List         List
1107 availabilityZone      O         1       string       Usable field
1108   flavorId            M         1       String       server Flavor id
1109   metadata            O         1       List         Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.
1110   userdata            O         1       string       Configuration information or scripts to use upon launch. Must be Base64 encoded.
1111                                                         NOTE: The â€˜null’ value allowed in Nova legacy v2 API, but due to the strict input validation, it isn’t allowed in Nova v2.1 API.
1112   securityGroups      O         1       List         One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.
1113   serverGroup         O         1       string       the ServerGroup for anti-affinity and affinity
1114 ================ ========= ============ ======== ================================
1115
1116
1117 **boot**
1118
1119 ================ ========= ============ ======== ================================
1120 Parameter        Qualifier Cardinality  Content    Description
1121 ================ ========= ============ ======== ================================
1122   type                M         1       int        Startup mode
1123                                                      1. boot from the volume
1124                                                      2. boot from image
1125   volumeId            O         1       string          Volume Id(type=1)
1126   imageId             O         1       String          ImageId(type=2)
1127 ================ ========= ============ ======== ================================
1128
1129 **contextArray**
1130
1131 ================ ========= ============ ======== ================================
1132 Parameter        Qualifier Cardinality  Content    Description
1133 ================ ========= ============ ======== ================================
1134   fileName            M         1       String          Injection file name
1135   fileData            M         1       string          Injection file content (injection file content inside the <mac>$MAC\_1</mac> $MAC\_1 need to be replaced by the MAC address, of which 1 is NIC index. )
1136 ================ ========= ============ ======== ================================
1137
1138
1139 **volumeArray**
1140
1141 ================ ========= ============ ======== ================================
1142 Parameter        Qualifier Cardinality  Content    Description
1143 ================ ========= ============ ======== ================================
1144   volumeId            M         1       String          Volume Id
1145 ================ ========= ============ ======== ================================
1146
1147 **nicArray**
1148
1149 ================ ========= ============ ======== ================================
1150 Parameter        Qualifier Cardinality  Content    Description
1151 ================ ========= ============ ======== ================================
1152   portId              M         1       String          Port Id
1153 ================ ========= ============ ======== ================================
1154
1155
1156 ::
1157
1158     {
1159
1160         "tenant": "tenant1",
1161
1162         "name": "vm1",
1163
1164         "availabilityZone": "az1",
1165
1166         "flavorName": "vm_large",
1167
1168         "boot": {
1169
1170             "type": 1,
1171
1172             " volumeName": "volume1"
1173
1174         },
1175
1176         "flavorId": "vm_large_134213",
1177
1178         "contextArray": [{
1179
1180             "fileName": "test.yaml",
1181
1182             "fileData": "…."
1183
1184         }],
1185
1186         "volumeArray": [{
1187
1188             "volumeName": "vol1",
1189
1190         }],
1191
1192         "nicArray": [{
1193
1194             "portId": "port_a"
1195
1196         }],
1197
1198         "metada": {
1199
1200             "foo": "foo value"
1201
1202         },
1203
1204         "userdata": "abcdedf"
1205
1206     }
1207
1208 7.1.2. **Response**
1209 >>>>>>>>>>>>>>>>>>>
1210
1211 ================ ========= ============ ======== ================================
1212 Parameter        Qualifier Cardinality  Content    Description
1213 ================ ========= ============ ======== ================================
1214   vimId               M         1       String     vim id
1215   vimName             O         1       string     vim name
1216   cloud-owner         M         1       String     cloud owner
1217 cloud-region-id       M         1       string     cloud region id
1218   returnCode                    1       int        0: Already exist 1: Newly created
1219   id                  M         1       string     server id
1220   name                          1       string     server name
1221   tenantId            M         1       String     Tenant UUID
1222   boot                M         1       String      Start parameters
1223   nicArray            O         1..n    List           List
1224   volumeArray         O         1..n    List            List
1225 availabilityZone      O         1       string           Usable field
1226   flavorId            M         1       String          server Flavor
1227   metadata            O         1       List            Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.
1228   securityGroups      O         1       List            One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.
1229   serverGroup         O          1      string           the ServerGroup for anti-affinity and affinity
1230   status              M          1      string           Server status,
1231                                                             0:INACTIVE,1:ACTIVE,2:ERROR
1232 ================ ========= ============ ======== ================================
1233
1234
1235 202: accepted
1236
1237 500: failed
1238
1239 ::
1240
1241     {
1242
1243     "id": "3c9eebdbbfd345658269340b9ea6fb73",
1244
1245     "name": "vm1",
1246
1247     "returnCode": 1,
1248
1249     }
1250
1251 7.2. **Delete Server**
1252 ----------------------
1253
1254 ===================== =========================================================
1255 IF Definition          Description
1256 ===================== =========================================================
1257 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/servers/{serverid}
1258 Operation              DELETE
1259 Direction              VNFLCM,NSLCM->MULTIVIM
1260 Description            Delete a vserver on the VIM
1261 ===================== =========================================================
1262
1263 7.2.1. **Request**
1264 >>>>>>>>>>>>>>>>>>
1265
1266 N/A
1267
1268 7.2.2. **Response**
1269 >>>>>>>>>>>>>>>>>>>
1270
1271 204: no content
1272
1273 7.3. **List Server**
1274 --------------------
1275
1276 ===================== =========================================================
1277 IF Definition          Description
1278 ===================== =========================================================
1279 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/servers
1280 Operation              GET
1281 Direction              VNFLCM,NSLCM->MULTIVIM
1282 Description            List vservers on the VIM
1283 ===================== =========================================================
1284
1285 7.3.1. **Request**
1286 >>>>>>>>>>>>>>>>>>
1287
1288 msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/vms?{……}
1289
1290 ================ ========= ============ ======== ================================
1291 Parameter        Qualifier Cardinality  Content    Description
1292 ================ ========= ============ ======== ================================
1293   name                M         1       string          server name
1294 ================ ========= ============ ======== ================================
1295
1296 7.3.2. **Response**
1297 >>>>>>>>>>>>>>>>>>>
1298
1299 ================ ========= ============ ======== ================================
1300 Parameter        Qualifier Cardinality  Content    Description
1301 ================ ========= ============ ======== ================================
1302   vimId               M         1       String                                  vim id
1303   vimName             O         1       string                                  vim name
1304   cloud-owner         M         1       String                      cloud owner
1305 cloud-region-id       M         1       string                      cloud region id
1306   servers             M         1       array                                   server list
1307   id                  M         1       string                                  server id
1308   name                M         1       string                                  server name
1309   tenantId            M         1       String                                  Tenant UUID
1310   boot                M         1       String                                  Start parameters
1311   nicArray             O        1..n    List                             List
1312   volumeArray          O        1..n    List                          List
1313 availabilityZone      O         1       string                                  Usable field
1314   flavorId            M         1       String                                  server Flavor
1315   metada              O         1       keypair                                 Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.
1316   securityGroups      O         1       List          One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.
1317   serverGroup          O         1      string                              the ServerGroup for anti-affinity and affinity
1318 ================ ========= ============ ======== ================================
1319
1320
1321 200: ok
1322
1323 500: failed
1324
1325 7.4. **Get Server**
1326 -------------------
1327
1328 ===================== =========================================================
1329 IF Definition          Description
1330 ===================== =========================================================
1331 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/servers/{serverid}
1332 Operation              GET
1333 Direction              VNFLCM,NSLCM->MULTIVIM
1334 Description            Get a vserver on the VIM
1335 ===================== =========================================================
1336
1337 7.4.1. **Request**
1338 >>>>>>>>>>>>>>>>>>
1339
1340 N/A
1341
1342 7.4.2. **Response**
1343 >>>>>>>>>>>>>>>>>>>
1344
1345 ================ ========= ============ ======== ================================
1346 Parameter        Qualifier Cardinality  Content    Description
1347 ================ ========= ============ ======== ================================
1348   vimId               M         1       String      vim id
1349   vimName             O         1       string      vim name
1350   cloud-owner         M         1       String      cloud owner
1351 cloud-region-id       M         1       string      cloud region id
1352   id                  M         1       string      server id
1353   name                M         1       string      server name
1354   tenantId            M         1       String      Tenant UUID
1355   boot                M         1       String      Start parameters
1356   nicArray             O        1..n    List        List
1357 volumeArray            O        1..n    List        List
1358 availabilityZone      O         1       string      Usable field
1359   flavorId            M         1       String      server Flavor
1360   metadata            O         1       List        Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.
1361   serverGroup         O         1       List        One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.
1362   serverGroup         O         1       string      the ServerGroup for anti-affinity and affinity
1363 ================ ========= ============ ======== ================================
1364
1365
1366 200: ok
1367
1368 500: failed
1369
1370
1371 7.5. **Heal Server**
1372 ----------------------
1373
1374 ===================== =========================================================
1375 IF Definition          Description
1376 ===================== =========================================================
1377 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/servers/{serverid}/action
1378 Operation              POST
1379 Direction              VNFLCM,NSLCM->MULTIVIM
1380 Description            Act on a vserver on the VIM
1381 ===================== =========================================================
1382
1383 7.5.1. **Request**
1384 >>>>>>>>>>>>>>>>>>
1385
1386 ================ ========= ============ ======== ================================
1387 Parameter        Qualifier Cardinality  Content    Description
1388 ================ ========= ============ ======== ================================
1389   os-start            M         1       none       The action to start a stopped server.
1390   os-stop             M         1       none       The action to stop a running server.
1391   reboot              M         1       object     The action to reboot a server.
1392   type                O         1       int        The type of the reboot action.
1393                                                       The valid values are HARD and SOFT
1394 ================ ========= ============ ======== ================================
1395
1396
1397 7.5.2. **Response**
1398 >>>>>>>>>>>>>>>>>>>
1399
1400 Normal response codes: 202
1401
1402 Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
1403
1404 8. **Flavor Management**
1405 ^^^^^^^^^^^^^^^^^^^^^^^^
1406
1407 8.1. **Create Flavor**
1408 ----------------------
1409
1410 ===================== =========================================================
1411 IF Definition          Description
1412 ===================== =========================================================
1413 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/flavors
1414 Operation              POST
1415 Direction              VNFLCM->MULTIVIM
1416 Description            Create a flavor on the VIM
1417 ===================== =========================================================
1418
1419 8.1.1. **Request**
1420 >>>>>>>>>>>>>>>>>>
1421
1422 ================ ========= ============ ======== ================================
1423 Parameter        Qualifier Cardinality  Content    Description
1424 ================ ========= ============ ======== ================================
1425   name                M         1       string     Flavor Name
1426   vcpu                M         1       int        Virtual CPU number
1427   memory              M         1       int        Memory size
1428   disk                M         1       int        The size of the root disk
1429   ephemeral           O         1       int        The size of the ephemeral disk
1430   swap                O         1       int        The size of the swap disk
1431   isPublic            O         1       boolean    Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified.
1432   extraSpecs          O         0..N    List       EPA parameter
1433 ================ ========= ============ ======== ================================
1434
1435
1436 8.1.2. **Response**
1437 >>>>>>>>>>>>>>>>>>>
1438
1439 ================ ========= ============ ======== ================================
1440 Parameter        Qualifier Cardinality  Content    Description
1441 ================ ========= ============ ======== ================================
1442   id                  M         1       string     Flavor id
1443   name                M         1       string     Flavor name
1444   returnCode          M         1       int        0: Already exist 1: Newly created
1445   tenantId            M         1       String     Tenant UUID
1446   vcpu                M         1       int        Virtual CPU number
1447   memory              M         1       int        Memory size
1448   disk                M         1       int        The size of the root disk
1449   ephemeral           M         1       int        The size of the ephemeral disk
1450   swap                M         1       int        The size of the swap disk
1451   isPublic            M         1       boolean    Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified.
1452   extraSpecs          O        0..N     List       EPA parameter
1453   vimId               M         1       String     vim id
1454   vimName             O         1       string     vim name
1455   cloud-owner         M         1       String     cloud owner
1456 cloud-region-id       M         1       string     cloud region id
1457 ================ ========= ============ ======== ================================
1458
1459
1460 8.2. **Delete Flavor**
1461 ----------------------
1462
1463 ===================== =========================================================
1464 IF Definition          Description
1465 ===================== =========================================================
1466 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/flavors /{flavorid}
1467 Operation              DELETE
1468 Direction              VNFLCM->MULTIVIM
1469 Description            Delete a flavor on the VIM
1470 ===================== =========================================================
1471
1472 8.2.1. **Request**
1473 >>>>>>>>>>>>>>>>>>
1474
1475 N/A
1476
1477 8.2.2. **Response**
1478 >>>>>>>>>>>>>>>>>>>
1479
1480 204: no content
1481
1482 8.3. **List Flavor**
1483 --------------------
1484
1485 ===================== =========================================================
1486 IF Definition          Description
1487 ===================== =========================================================
1488 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/flavors
1489 Operation              GET
1490 Direction              VNFLCM,NSLCM->MULTIVIM
1491 Description            List flavors on the VIM
1492 ===================== =========================================================
1493
1494 8.3.1. **Query**
1495 >>>>>>>>>>>>>>>>
1496
1497 ================ ========= ============ ======== ================================
1498 Parameter        Qualifier Cardinality  Content    Description
1499 ================ ========= ============ ======== ================================
1500   name                M         1       string          Flavor name to filter out list
1501 ================ ========= ============ ======== ================================
1502
1503 8.3.2. **Response**
1504 >>>>>>>>>>>>>>>>>>>
1505
1506 ================ ========= ============ ======== ================================
1507 Parameter        Qualifier Cardinality  Content    Description
1508 ================ ========= ============ ======== ================================
1509   flavors             M         0..N    list      Vm list
1510   id                  M         1       string    Flavor id
1511   name                M         1       string    Flavor Name
1512   vcpu                M         1       int       Virtual CPU number
1513   memory              M         1       int       Memory size
1514   disk                M         1       int       The size of the root disk
1515   ephemeral           M         1       int       The size of the ephemeral disk
1516   swap                M         1       int       The size of the swap disk
1517   isPublic            M         1       boolean   Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified.
1518   extraSpecs          O         0..N    List      EPA parameter
1519   vimId               M         1       String    vim id
1520   vimName             O         1       string    vim name
1521   cloud-owner         M         1       String    cloud owner
1522 cloud-region-id       M         1       string    cloud region id
1523   tenantId            M         1       String    Tenant UUID
1524 ================ ========= ============ ======== ================================
1525
1526
1527 200: ok
1528
1529 500: failed
1530
1531 8.4. **Get Flavor**
1532 -------------------
1533
1534 ===================== =========================================================
1535 IF Definition          Description
1536 ===================== =========================================================
1537 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/flavors/{flavorid}
1538 Operation              GET
1539 Direction              VNFLCM->MULTIVIM
1540 Description            Get a flavor on the VIM
1541 ===================== =========================================================
1542
1543 8.4.1. **Request**
1544 >>>>>>>>>>>>>>>>>>
1545
1546 N/A
1547
1548 8.4.2. **Response**
1549 >>>>>>>>>>>>>>>>>>>
1550
1551 ================ ========= ============ ======== ================================
1552 Parameter        Qualifier Cardinality  Content    Description
1553 ================ ========= ============ ======== ================================
1554   id                  M         1       string     Flavor id
1555   name                M         1       string     Flavor Name
1556   vcpu                M         1       int        Virtual CPU number
1557   memory              M         1       int        Memory size
1558   disk                M         1       int        The size of the root disk
1559   ephemeral           M         1       int        The size of the ephemeral disk
1560   swap                M         1       int        The size of the swap disk
1561   isPublic            M         1       boolean    Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified.
1562   extraSpecs          O         0..N    List       EPA parameter
1563   vimId               M         1       String     vim id
1564   vimName             O         1       string     vim name
1565   cloud-owner         M         1       String     cloud owner
1566 cloud-region-id       M         1       string     cloud region id
1567   tenantId            M         1       String     Tenant UUID
1568 ================ ========= ============ ======== ================================
1569
1570 200: ok
1571
1572 500: failed
1573
1574 9. **Volume Management**
1575 ^^^^^^^^^^^^^^^^^^^^^^^^
1576
1577 9.1. **Create Volume**
1578 ----------------------
1579
1580 ===================== =========================================================
1581 IF Definition          Description
1582 ===================== =========================================================
1583 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/volumes
1584 Operation              POST
1585 Direction              VNFLCM->MULTIVIM
1586 Description            Create volume on the VIM
1587 ===================== =========================================================
1588
1589 9.1.1. **Request**
1590 >>>>>>>>>>>>>>>>>>
1591
1592 ================ ========= ============ ======== ================================
1593 Parameter        Qualifier Cardinality  Content    Description
1594 ================ ========= ============ ======== ================================
1595   name                M         1       string          Volume name
1596   volumeSize          M         1       int             Volume size
1597   imageId             O         1       string          Image UUID
1598   volumeType          O         1       string          Volume type
1599 availabilityZone      O         1       string          Usable field
1600 ================ ========= ============ ======== ================================
1601
1602 ::
1603
1604     {
1605
1606     "tenant": "tenant1",
1607
1608     "volumeName": "volume1",
1609
1610     "volumeSize": 3,
1611
1612     "imageName": "cirros.qcow2",
1613
1614     "volumeType": "volumetype1",
1615
1616     "availabilityZone": "zone1"
1617
1618     }
1619
1620 9.1.2. **Response**
1621 >>>>>>>>>>>>>>>>>>>
1622
1623 ================ ========= ============ ======== ================================
1624 Parameter        Qualifier Cardinality  Content    Description
1625 ================ ========= ============ ======== ================================
1626   returnCode          M         1       int             0: Already exist 1: Newly created
1627   vimId               M         1       String          vim id
1628   vimName             O         1       string          vim name
1629   cloud-owner         M         1       String          cloud owner
1630 cloud-region-id       M         1       string          cloud region id
1631   tenantId            M         1       String          Tenant UUID
1632   status              M         1       string          Volume status
1633   id                  M         1       string          Volume id
1634   name                M         1       string          Volume name
1635   volumeType          O         1       string          Volume type
1636 availabilityZone      O         1       string          Availability Zone
1637 ================ ========= ============ ======== ================================
1638
1639 202: accepted
1640
1641 500: failed
1642
1643 ::
1644
1645     {
1646
1647     "id": "bc9eebdbbfd356458269340b9ea6fb73",
1648
1649     "name": "volume1",
1650
1651     "returnCode": 1,
1652
1653     }
1654
1655 9.2. **Delete Volume**
1656 ----------------------
1657
1658 ===================== =========================================================
1659 IF Definition          Description
1660 ===================== =========================================================
1661 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/volumes/{volumeId}
1662 Operation              DELETE
1663 Direction              VNFLCM->MULTIVIM
1664 Description            Delete volume on the VIM
1665 ===================== =========================================================
1666
1667 9.2.1. **Request**
1668 >>>>>>>>>>>>>>>>>>
1669
1670     N/A
1671
1672 9.2.2. **Response**
1673 >>>>>>>>>>>>>>>>>>>
1674
1675     204: no content
1676
1677 9.3. **List Volumes**
1678 ---------------------
1679
1680 ===================== =========================================================
1681 IF Definition          Description
1682 ===================== =========================================================
1683 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/volumes
1684 Operation              GET
1685 Direction              VNFLCM->MULTIVIM
1686 Description            List volumes on the VIM
1687 ===================== =========================================================
1688
1689 9.3.1. **Request**
1690 >>>>>>>>>>>>>>>>>>
1691
1692     msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/volumes?{……}
1693
1694 ================ ========= ============ ======== ================================
1695 Parameter        Qualifier Cardinality  Content    Description
1696 ================ ========= ============ ======== ================================
1697   name                M         1       string          Volume name
1698 ================ ========= ============ ======== ================================
1699
1700 9.3.2. **Response**
1701 >>>>>>>>>>>>>>>>>>>
1702
1703 ================ ========= ============ ======== ================================
1704 Parameter        Qualifier Cardinality  Content    Description
1705 ================ ========= ============ ======== ================================
1706   vimId               M         1       String                 vim id
1707   vimName             O         1       string                 vim name
1708   cloud-owner         M         1       String       cloud owner
1709 cloud-region-id       M         1       string        cloud region id
1710   tenantId            M         1       String                 Tenant UUID
1711   volumes             M         1       Array
1712   id                  M         1       string                 Volume id
1713   name                M         1       string                 Volume name
1714   createTime          O         1       string                 Create time
1715   status              M         1       string                 Volume status
1716   volumeSize          M         1       int                    Volume size
1717   volumeType          M         1       string                 Volume type
1718 availabilityZone      M         1       string                 Availability Zone
1719   attachments         M         1..n    list        List of additional information on the cloud disk
1720 ================ ========= ============ ======== ================================
1721
1722 200: ok
1723
1724 500: failed
1725
1726 ::
1727
1728     {
1729
1730         "volumes": [
1731
1732             {
1733
1734                 "status": "available",
1735
1736                 "name": "test",
1737
1738                 "attachments": [],
1739
1740                 "createTime": "2015-12-02T07:57:23.000000",
1741
1742                 " volumeType ": "ws",
1743
1744                 "id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55",
1745
1746                 "size": 20
1747
1748             },
1749
1750             {
1751
1752                 "status": "in-use",
1753
1754                 "name": "wangsong",
1755
1756                 "attachments": [
1757
1758                     {
1759
1760                         "device": "/dev/vdc",
1761
1762                         "serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
1763
1764                         "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
1765
1766                         "hostName": null,
1767
1768                         "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
1769
1770                     }
1771
1772                 ],
1773
1774                 "createTime": "2015-12-02T06:39:40.000000",
1775
1776                 " volumeType ": null,
1777
1778                 "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
1779
1780                 "size": 40
1781
1782             }
1783
1784         ]
1785
1786     }
1787
1788 9.4. **Get Volumes**
1789 --------------------
1790
1791 ===================== =========================================================
1792 IF Definition          Description
1793 ===================== =========================================================
1794 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/volumes/{volumeid}
1795 Operation              GET
1796 Direction              VNFLCM->MULTIVIM
1797 Description            Get volume on the VIM
1798 ===================== =========================================================
1799
1800 9.4.1. **Request**
1801 >>>>>>>>>>>>>>>>>>
1802
1803     N/A
1804
1805 9.4.2. **Response**
1806 >>>>>>>>>>>>>>>>>>>
1807
1808 ================ ========= ============ ======== ================================
1809 Parameter        Qualifier Cardinality  Content    Description
1810 ================ ========= ============ ======== ================================
1811   vimId               M         1       String                 vim id
1812   vimName             O         1       string                 vim name
1813   cloud-owner         M         1       String                      cloud owner
1814 cloud-region-id       M         1       string                      cloud region id
1815   tenantId            M         1       String                 Tenant UUID
1816   id                            1       string                 Volume id
1817   name                          1       string                 Volume name
1818   createTime                    1       string                 Create time
1819   status                        1       string                 Volume status
1820   volumeType                    1       List         Volume type
1821   volumeSize                    1       int                    Volume size
1822 availabilityZone      M         1       string                 Availability Zone
1823   attachments         M         1..n    list       List of additional information on the cloud disk
1824 ================ ========= ============ ======== ================================
1825
1826 **attachment:**
1827
1828 ============== ========= ============ ======== ==================================
1829 Parameter      Qualifier Cardinality  Content    Description
1830 ============== ========= ============ ======== ==================================
1831   device                      1       string          Device name
1832   serverId                    1       string          VM id
1833   volumeId                    1       string          Volume id
1834   hostName                    1       string          Host name
1835   id                          1       string          Device id
1836 ============== ========= ============ ======== ==================================
1837
1838 200: ok
1839
1840 500: failed
1841
1842 ::
1843
1844     {
1845
1846         "status": "in-use",
1847
1848         "name": "wangsong",
1849
1850         "attachments": [
1851
1852             {
1853
1854                 "device": "/dev/vdc",
1855
1856                 "serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
1857
1858                 "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
1859
1860                 "hostName": null,
1861
1862                 "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
1863
1864             }
1865
1866         ],
1867
1868         "createTime": "2015-12-02T06:39:40.000000",
1869
1870         "volumeType ": null,
1871
1872         "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
1873
1874         "volumeSize ": 40
1875
1876     }
1877
1878 10. **Tenant Management**
1879 ^^^^^^^^^^^^^^^^^^^^^^^^^
1880
1881 10.1. **List tenants**
1882 ----------------------
1883
1884
1885 ===================== =========================================================
1886 IF Definition          Description
1887 ===================== =========================================================
1888 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/tenants
1889 Operation              GET
1890 Direction              VNFLCM->MULTIVIM
1891 Description            List tenants on the VIM
1892 ===================== =========================================================
1893
1894
1895 10.1.1. **Query**
1896 >>>>>>>>>>>>>>>>>
1897
1898 ================= ========= ============ ======== ================================
1899 Parameter         Qualifier Cardinality  Content    Description
1900 ================= ========= ============ ======== ================================
1901 name={tenantname}      O         1       string          Tenant name to filter output list
1902 ================= ========= ============ ======== ================================
1903
1904
1905 10.1.2. **Response**
1906 >>>>>>>>>>>>>>>>>>>>
1907
1908 ================ ========= ============ ======== ================================
1909 Parameter        Qualifier Cardinality  Content    Description
1910 ================ ========= ============ ======== ================================
1911   vimId               M         1       String          vim id
1912   vimName             O         1       string          vim name
1913   cloud-owner         M         1       String          cloud owner
1914 cloud-region-id       M         1       string          cloud region id
1915   tenants             M         1       Array
1916   id                  M         1       string          tenant UUID
1917   name                M         1       string          tenant name
1918 ================ ========= ============ ======== ================================
1919
1920 200: ok
1921
1922 500: failed
1923
1924 ::
1925
1926     {
1927
1928         " tenants ": [
1929
1930             {
1931
1932                 "id": "1",
1933
1934                 "name": "test\_a"
1935
1936             }
1937
1938         ]
1939
1940     }
1941
1942 11. **Limits**
1943 ^^^^^^^^^^^^^^
1944
1945 11.1. **List Limits of resouces**
1946 ---------------------------------
1947
1948 ===================== =========================================================
1949 IF Definition          Description
1950 ===================== =========================================================
1951 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/limits
1952 Operation              GET
1953 Direction              VNFLCM->MULTIVIM
1954 Description            Get limits on the VIM
1955 ===================== =========================================================
1956
1957
1958 11.1.1. **Request**
1959 >>>>>>>>>>>>>>>>>>>
1960
1961 N/A
1962
1963 11.1.2. **Response**
1964 >>>>>>>>>>>>>>>>>>>>
1965
1966 ======================== ========= ============ ======== ========================
1967 Parameter                Qualifier Cardinality  Content    Description
1968 ======================== ========= ============ ======== ========================
1969   vimId                       M         1       String          vim id                                                          vimName                     O         1       string          vim name
1970   cloud-owner                 M         1       String          cloud owner
1971 cloud-region-id               M         1       string          cloud region id                                       tenantId                      M         1       string          Tenant UUID                                                     maxPersonality                O         1       int             The number of allowed injected files for each tenant.
1972   maxPersonalitySize          O         1       int             The number of allowed bytes of content for each injected file.
1973   maxServerGroupMembers       O         1       int             The number of allowed members for each server group.
1974   maxServerGroups             O         1       int             The number of allowed server groups for each tenant.
1975   maxServerMeta               O         1       int             The number of allowed metadata items for each instance.
1976   maxTotalCores               O         1       int             The number of allowed instance cores for each tenant.
1977   maxTotalInstances           O         1       int             The number of allowed instances for each tenant.
1978   maxTotalKeypairs            O         1       int             The number of allowed key pairs for each user.
1979   maxTotalRAMSize             O         1       int             The amount of allowed instance RAM, in MB, for each tenant.
1980 maxTotalVolumeGigabytes       O         1       int             The maximum total amount of volumes, in gibibytes (GiB).
1981   maxTotalVolumes             O         1       int             The maximum number of volumes.
1982   totalVolumesUsed            O         1       int             The total number of volumes used.
1983   totalGigabytesUsed          O         1       int             The total number of gibibytes (GiB) used.
1984   network                     O         1       int             The number of networks allowed for each project.
1985   subnet                      O         1       int             The number of subnets allowed for each project.
1986   subnetpool                  O         1       int             The number of subnet pools allowed for each project.
1987   security\_group\_rule       O         1       int             The number of security group rules allowed for each project.
1988   security\_group             O         1       int             The number of security groups allowed for each project.
1989   router                      O         1       int             The number of routers allowed for each project.
1990   port                        O         1       int             The number of ports allowed for each project.
1991 ======================== ========= ============ ======== ========================
1992
1993 200: ok
1994
1995 500: failed
1996
1997 ::
1998
1999     {
2000
2001     "maxPersonality": 5,
2002
2003     "maxPersonalitySize": 10240,
2004
2005     "maxServerMeta": 128,
2006
2007     "maxTotalCores": 20,
2008
2009     "maxTotalInstances": 10,
2010
2011     "maxTotalKeypairs": 100,
2012
2013     "maxTotalRAMSize": 51200,
2014
2015     "maxServerGroups": 10,
2016
2017     "maxServerGroupMembers": 10,
2018
2019     }
2020
2021 12. **Host Management**
2022 ^^^^^^^^^^^^^^^^^^^^^^^
2023
2024 12.1. **List hosts**
2025 --------------------
2026
2027 ===================== =========================================================
2028 IF Definition          Description
2029 ===================== =========================================================
2030 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/hosts
2031 Operation              GET
2032 Direction              VNFLCM->MULTIVIM
2033 Description            list hosts on the VIM
2034 ===================== =========================================================
2035
2036 12.1.1. **Request**
2037 >>>>>>>>>>>>>>>>>>>
2038
2039 N/A
2040
2041 12.1.2. **Response**
2042 >>>>>>>>>>>>>>>>>>>>
2043
2044 =============== ========= ============ ======== ==================================
2045 Parameter       Qualifier Cardinality  Content    Description
2046 =============== ========= ============ ======== ==================================
2047   vimId              M         1       String            vim id
2048   vimName            O         1       string            vim name
2049   cloud-owner        M         1       String            cloud owner
2050 cloud-region-id      M         1       string            cloud region id
2051   tenantId           M         1       string            Tenant Name
2052   hosts              M         1       Array     List of host information
2053   service            M         1       string            The service running on the host
2054   name               M         1       string            host name
2055   zone               O         1       string            Available zone for the host
2056 =============== ========= ============ ======== ==================================
2057
2058 200: ok
2059
2060 500: failed
2061
2062 ::
2063
2064     {
2065
2066         "vimId": "123",
2067
2068         "vimName": "vimName",
2069
2070         "tenantId": "tenantId1"
2071
2072         "hosts": [
2073
2074             {
2075
2076                 "name": "b6e4adbc193d428ea923899d07fb001e",
2077
2078                 "service": "conductor",
2079
2080                 "zone": "internal",
2081
2082                 "vimId": "123",
2083
2084                 "vimName": "vimName",
2085
2086                 "tenantId": "tenantId1"
2087
2088             },
2089
2090             {
2091
2092                 "name": "09c025b0efc64211bd23fc50fa974cdf",
2093
2094                 "service": "compute",
2095
2096                 "zone": "nova"
2097
2098                 "vimId": "123",
2099
2100                 "vimName": "vimName",
2101
2102                 "tenantId": "tenantId1"
2103
2104             },
2105
2106             {
2107
2108                 "name": "e73ec0bd35c64de4a1adfa8b8969a1f6",
2109
2110                 "service": "consoleauth",
2111
2112                 "zone": "internal"
2113
2114                 "vimId": "123",
2115
2116                 "vimName": "vimName",
2117
2118                 "tenantId": "tenantId1"
2119
2120             },
2121
2122             {
2123
2124                 "host\_name": "396a8a0a234f476eb05fb9fbc5802ba7",
2125
2126                 "service": "network",
2127
2128                 "zone": "internal"
2129
2130                 "vimId": "123",
2131
2132                 "vimName": "vimName",
2133
2134                 "tenantId": "tenantId1"
2135
2136             },
2137
2138             {
2139
2140                 "name": "abffda96592c4eacaf4111c28fddee17",
2141
2142                 "service": "scheduler",
2143
2144                 "zone": "internal"
2145
2146                 "vimId": "123",
2147
2148                 "vimName": "vimName",
2149
2150                 "tenantId": "tenantId1"
2151
2152             }
2153
2154         ]
2155
2156     }
2157
2158 12.2. **Get host**
2159 ------------------
2160
2161 ===================== =========================================================
2162 IF Definition          Description
2163 ===================== =========================================================
2164 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/hosts/{hostname}
2165 Operation              GET
2166 Direction              VNFLCM->MULTIVIM
2167 Description            Get a host on the VIM
2168 ===================== =========================================================
2169
2170
2171 12.2.1. **Request**
2172 >>>>>>>>>>>>>>>>>>>
2173
2174 12.2.2. **Response**
2175 >>>>>>>>>>>>>>>>>>>>
2176
2177 =============== ========= ============ ======== ==================================
2178 Parameter       Qualifier Cardinality  Content    Description
2179 =============== ========= ============ ======== ==================================
2180   vimId              M         1       String                vim id
2181   vimName            O         1       string                vim name
2182 cloud-owner          M         1       String                cloud owner
2183 cloud-region-id      M         1       string                cloud region id
2184   tenantId           M         1       string                Tenant Name
2185   host               M         1       List     Host resource info
2186   resource           M                 1..N                Object                Resource description
2187   cpu                M         1       Int                   The cpu info on the host.
2188   memory_mb          M         1       int                   The memory info on the host (in MB).
2189   name               M         1       string                host name
2190   project            M         1       string                Value: total, used_now, used_max or specific project_id
2191   disk_gb            M         1       int                   The disk info on the host (in GB).
2192 =============== ========= ============ ======== ==================================
2193
2194 200: ok
2195
2196 500: failed
2197
2198 ::
2199
2200     {
2201
2202         "cpu": 1,
2203
2204         "disk\_gb": 1028,
2205
2206         "name": "c1a7de0ac9d94e4baceae031d05caae3",
2207
2208         "memory\_mb": 8192,
2209
2210         "vimId": "123",
2211
2212         "vimName": "vimName",
2213
2214         "tenantId": "tenantId1",
2215
2216         "host": [
2217
2218             {
2219
2220                 "memory\_mb": 4960,
2221
2222                 "name": " c1a7de0ac9d94e4baceae031d05caae3",
2223
2224                 "disk\_gb": 92,
2225
2226                 "project": "(total)",
2227
2228                 "cpu": 4
2229
2230             },
2231
2232             {
2233
2234                 "memory\_mb": 1536,
2235
2236                 "name": " c1a7de0ac9d94e4baceae031d05caae3",
2237
2238                 "disk\_gb": 2,
2239
2240                 "project": "(used\_now)",
2241
2242                 "cpu": 2
2243
2244             },
2245
2246             {
2247
2248                 "memory\_mb": 1024,
2249
2250                 "name": " c1a7de0ac9d94e4baceae031d05caae3",
2251
2252                 "disk\_gb": 2,
2253
2254                 "project": "(used\_max)",
2255
2256                 "cpu": 2
2257
2258             },
2259
2260             {
2261
2262                 "memory\_mb": 1024,
2263
2264                 "name": " c1a7de0ac9d94e4baceae031d05caae3",
2265
2266                 "disk\_gb": 2,
2267
2268                 "project": "568f7ec425db472ba348251bf1e7eebd",
2269
2270                 "cpu": 2
2271
2272             }
2273
2274         ],
2275
2276         "vimName": "openstack\_newton",
2277
2278         "vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73",
2279
2280         "tenantId": "568f7ec425db472ba348251bf1e7eebd"
2281
2282     }
2283
2284 13. **VIM Management**
2285 ^^^^^^^^^^^^^^^^^^^^^^
2286
2287 13.1. **Update VIM Info**
2288 -------------------------
2289
2290 ===================== =========================================================
2291 IF Definition          Description
2292 ===================== =========================================================
2293 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/registry
2294 Operation              POST
2295 Direction              ESR-> MULTICLOUD
2296 Description            Register a VIM instance to ONAP
2297 ===================== =========================================================
2298
2299 13.1.1. **Request**
2300 >>>>>>>>>>>>>>>>>>>
2301
2302 ============== ========= ============ ======== ==================================
2303 Parameter      Qualifier Cardinality  Content    Description
2304 ============== ========= ============ ======== ==================================
2305 defaultTenant       M         1       string          default tenant name
2306 ============== ========= ============ ======== ==================================
2307
2308 13.1.2. **Response**
2309 >>>>>>>>>>>>>>>>>>>>
2310
2311 NA
2312
2313 202: accept
2314
2315 400: failed
2316
2317 13.2. **Unregistry VIM**
2318 ------------------------
2319
2320 ===================== =========================================================
2321 IF Definition          Description
2322 ===================== =========================================================
2323 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}
2324 Operation              DELETE
2325 Direction              ESR-> MULTICLOUD
2326 Description            Unregister a VIM instance from ONAP
2327 ===================== =========================================================
2328
2329
2330 13.2.1. **Request**
2331 >>>>>>>>>>>>>>>>>>>
2332
2333 NA
2334
2335 13.2.2. **Response**
2336 >>>>>>>>>>>>>>>>>>>>
2337
2338 NA
2339
2340 204: No content found
2341
2342 400: failed
2343
2344
2345
2346 14. **infrastructure workload LCM**
2347 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2348
2349 14.1. **Instantiate infrastructure workload**
2350 ----------------------------------------------
2351
2352 ===================== =========================================================
2353 IF Definition          Description
2354 ===================== =========================================================
2355 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/infra_workload
2356 Operation              POST
2357 Direction              SO-> MULTICLOUD
2358 Description            Instantiate infrastructure workload
2359 ===================== =========================================================
2360
2361 14.1.1. **Request**
2362 >>>>>>>>>>>>>>>>>>>
2363
2364 ================ ========= ============ ======== ==================================
2365 Parameter        Qualifier Cardinality  Content    Description
2366 ================ ========= ============ ======== ==================================
2367 generic-vnf-id       O         1        string          generif VNF ID to search AAI object
2368 vf-module-id         O         1        string          vf module id  to search AAI object
2369 oof_directives       O         1        Object          oof directives to update template_data
2370 sdnc_directives      O         1        Object          sdnc directives to update template_data
2371 template_type        M         1        string          template type with which the MultiCloud plugin inteprates template_data
2372                                                             "heat",etc.
2373 template_data        M         1        Object          workload template data to instantiate workload onto VIM/Cloud instance
2374 ================ ========= ============ ======== ==================================
2375
2376 ::
2377
2378   {
2379      "generic-vnf-id":"vnf-id-111111",
2380      "vf-module-id":"vf-module-id-2222222",
2381      "oof_directives":{},
2382      "sdnc_directives":{},
2383      "template_type":"heat",
2384      "template_data":{{
2385          "files":{  },
2386          "disable_rollback":true,
2387          "parameters":{
2388             "flavor":"m1.heat"
2389          },
2390          "stack_name":"teststack",
2391          "template":{
2392             "heat_template_version":"2013-05-23",
2393             "description":"Simple template to test heat commands",
2394             "parameters":
2395             {
2396                "flavor":{
2397                   "default":"m1.tiny",
2398                   "type":"string"
2399                }
2400             },
2401             "resources":{
2402                "hello_world":{
2403                   "type":"OS::Nova::Server",
2404                   "properties":{
2405                      "key_name":"heat_key",
2406                      "flavor":{
2407                         "get_param":"flavor"
2408                      },
2409                      "image":"40be8d1a-3eb9-40de-8abd-43237517384f",
2410                      "user_data":"#!/bin/bash -xv\necho \"hello world\" &gt; /root/hello-world.txt\n"
2411                   }
2412                }
2413             }
2414          },
2415          "timeout_mins":60
2416      }
2417   }
2418
2419 14.1.2. **Response**
2420 >>>>>>>>>>>>>>>>>>>>
2421
2422 ================== ========= ============ ======== ==================================
2423 Parameter          Qualifier Cardinality  Content    Description
2424 ================== ========= ============ ======== ==================================
2425 template_type          M         1        string          template type with which the MultiCloud plugin inteprates template_data
2426                                                             "heat",etc.
2427 workload_id            M         1        string          The ID of infrastructure workload resource
2428 template_response      M         1        Object          response from VIM/Cloud instance which is instantiating workload
2429 ================== ========= ============ ======== ==================================
2430
2431
2432 201: Created
2433
2434 202: Accepted
2435
2436 400: Bad Request
2437
2438 401: Unauthorized
2439
2440 409: Conflict
2441
2442 ::
2443
2444     {
2445         "template_type":"heat",
2446         "workload_id": "1234567890abcd"
2447         "template_response":
2448         {
2449             "stack": {
2450             "id": "1234567890abcd",
2451             "links": [
2452                 {
2453                      "href": "",
2454                      "rel": "self"
2455                 }
2456             ]
2457         }
2458     }
2459
2460
2461 14.2. **Query infrastructure workload**
2462 ---------------------------------------
2463
2464 ===================== =========================================================
2465 IF Definition          Description
2466 ===================== =========================================================
2467 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/infra_workload/{workload-id}
2468 Operation              GET
2469 Direction              SO-> MULTICLOUD
2470 Description            Query the status of the infrastructure workload
2471 ===================== =========================================================
2472
2473
2474 14.2.1. **Request**
2475 >>>>>>>>>>>>>>>>>>>
2476
2477 NA
2478
2479 14.2.2. **Response**
2480 >>>>>>>>>>>>>>>>>>>>
2481
2482 ================== ========= ============ ======== ==================================
2483 Parameter          Qualifier Cardinality  Content    Description
2484 ================== ========= ============ ======== ==================================
2485 template_type          M         1        string          template type with which the MultiCloud plugin inteprates template_data
2486                                                             "heat",etc.
2487 workload_id            M         1        string          The ID of infrastructure workload resource
2488 workload_status        M         1        string          Status of infrastructure workload:
2489                                                               DELETE_IN_PROGRESS, CREATE_COMPLETE, CREATE_FAILED
2490                                                               DELETE_IN_PROGRESS, DELETE_COMPLETE, DELETE_FAILED
2491                                                               UPDATE_IN_PROGRESS, UPDATE_COMPLETE, UPDATE_FAILED
2492 ================== ========= ============ ======== ==================================
2493
2494
2495 200: OK
2496
2497 400: Bad Request
2498
2499 401: Unauthorized
2500
2501 404: Not Found
2502
2503 500: Internal Server Error
2504
2505 ::
2506
2507     {
2508         "template_type":"heat",
2509         "workload_id": "1234567890abcd",
2510         "workload_status":"CREATE_IN_PROCESS"
2511     }
2512
2513
2514 14.3. **Delete infrastructure workload**
2515 ----------------------------------------
2516
2517 ===================== =========================================================
2518 IF Definition          Description
2519 ===================== =========================================================
2520 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/infra_workload/{workload-id}
2521 Operation              DELETE
2522 Direction              SO-> MULTICLOUD
2523 Description            DELETE the infrastructure workload
2524 ===================== =========================================================
2525
2526
2527 14.3.1. **Request**
2528 >>>>>>>>>>>>>>>>>>>
2529
2530 NA
2531
2532 14.3.2. **Response**
2533 >>>>>>>>>>>>>>>>>>>>
2534
2535 NA
2536
2537
2538 204: No Content, The server has fulfilled the request by deleting the resource.
2539
2540 400: Bad Request
2541
2542 401: Unauthorized
2543
2544 404: Not Found
2545
2546 500: Internal Server Error
2547
2548
2549 15. **Proxied OpenStack APIs**
2550 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2551
2552 15.1. **Tokens**
2553 -------------------------
2554
2555 +---------------------+----------------------------------------------------------------------------------------------+
2556 | **IF Definition**   | **Description**                                                                              |
2557 +=====================+==============================================================================================+
2558 | URI                 | http://msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{region-id}/identity/v3/auth/tokens   |
2559 +---------------------+----------------------------------------------------------------------------------------------+
2560 | Operation           | POST                                                                                         |
2561 +---------------------+----------------------------------------------------------------------------------------------+
2562 | Direction           | NSLCM-> MULTICLOUD                                                                           |
2563 +---------------------+----------------------------------------------------------------------------------------------+
2564
2565 15.1.1. **Request**
2566 >>>>>>>>>>>>>>>>>>>
2567
2568 +-----------------+-----------------+-------------------+---------------+-----------------------+
2569 | **Parameter**   | **Qualifier**   | **Cardinality**   | **Content**   | **Description**       |
2570 +=================+=================+===================+===============+=======================+
2571 | auth            | O               | 1                 | Object        | Same as OpenStack     |
2572 |                 |                 |                   |               | Identity Tokens API   |
2573 +-----------------+-----------------+-------------------+---------------+-----------------------+
2574
2575 ::
2576
2577     {
2578
2579     }
2580
2581 15.1.2. **Response**
2582 >>>>>>>>>>>>>>>>>>>>
2583
2584
2585 +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
2586 | **Parameter**   | **Qualifier**   | **Cardinality**   | **Content**         | **Description**                                              |
2587 +=================+=================+===================+=====================+==============================================================+
2588 | X-Subject-Token | M               | 1                 | String              | The authentication token in Header                           |
2589 +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
2590 | token           | O               | 1                 | Object              | Token response, the same as OpenStack Identity Tokens API    |
2591 +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
2592
2593 201: Created
2594
2595 401: Unauthorized
2596
2597 403: Forbidden
2598
2599 500: failed
2600
2601
2602 ::
2603
2604   Header:
2605     X-Subject-Token: a33f3b209e9b471a97fbeab8324a9a45
2606
2607   Body:
2608
2609       {
2610            "token" : {
2611               "user" : {
2612                  "domain" : {
2613                     "id" : "default",
2614                     "name" : "Default"
2615                  },
2616                  "id" : "9efb043c7629497a8028d7325ca1afb0",
2617                  "name" : "admin"
2618               },
2619               "catalog" : [
2620                  {
2621                     "type" : "network",
2622                     "endpoints" : [
2623                        {
2624                           "interface" : "public",
2625                           "id" : "39583c1508ad4b71b380570a745ee10a",
2626                           "url" : "http://172.16.77.10:80/api/multicloud-titaniumcloud/v1/CloudOwner/RegionOne/network",
2627                           "region_id" : "RegionOne",
2628                           "region" : "RegionOne"
2629                        }
2630                     ],
2631                     "name" : "neutron",
2632                     "id" : "99aefcc82a9246f98f8c281e61ffc754"
2633                  },
2634                  ...
2635               ]
2636               "project" : {
2637                  "name" : "admin",
2638                  "id" : "fcca3cc49d5e42caae15459e27103efc",
2639                  "domain" : {
2640                     "id" : "default",
2641                     "name" : "Default"
2642                  }
2643               },
2644               "is_domain" : false,
2645               "expires_at" : "2017-09-11T03:52:29.000000Z"
2646            }
2647       }