Refactor the docs
[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 **metadata**
1156
1157 ================ ========= ============ ======== ================================
1158 Parameter        Qualifier Cardinality  Content    Description
1159 ================ ========= ============ ======== ================================
1160   keyName             M         1       String          Key name
1161   value               M         1       string          value
1162 ================ ========= ============ ======== ================================
1163
1164 ::
1165
1166     {
1167
1168         "tenant": "tenant1",
1169
1170         "name": "vm1",
1171
1172         "availabilityZone": "az1",
1173
1174         "flavorName": "vm_large",
1175
1176         "boot": {
1177
1178             "type": 1,
1179
1180             " volumeName": "volume1"
1181
1182         },
1183
1184         "flavorId": "vm_large_134213",
1185
1186         "contextArray": [{
1187
1188             "fileName": "test.yaml",
1189
1190             "fileData": "…."
1191
1192         }],
1193
1194         "volumeArray": [{
1195
1196             "volumeName": "vol1",
1197
1198         }],
1199
1200         "nicArray": [{
1201
1202             "portId": "port_a"
1203
1204         }],
1205
1206         "metada": [{
1207
1208             "keyName": "foo",
1209
1210             "value": "foo value"
1211
1212         }],
1213
1214         "userdata": "abcdedf"
1215
1216     }
1217
1218 7.1.2. **Response**
1219 >>>>>>>>>>>>>>>>>>>
1220
1221 ================ ========= ============ ======== ================================
1222 Parameter        Qualifier Cardinality  Content    Description
1223 ================ ========= ============ ======== ================================
1224   vimId               M         1       String     vim id
1225   vimName             O         1       string     vim name
1226   cloud-owner         M         1       String     cloud owner
1227 cloud-region-id       M         1       string     cloud region id
1228   returnCode                    1       int        0: Already exist 1: Newly created
1229   id                  M         1       string     server id
1230   name                          1       string     server name
1231   tenantId            M         1       String     Tenant UUID
1232   boot                M         1       String      Start parameters
1233   nicArray            O         1..n    List           List
1234   volumeArray         O         1..n    List            List
1235 availabilityZone      O         1       string           Usable field
1236   flavorId            M         1       String          server Flavor
1237   metadata            O         1       List            Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.
1238   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.
1239   serverGroup         O          1      string           the ServerGroup for anti-affinity and affinity
1240   status              M          1      string           Server status,
1241                                                             0:INACTIVE,1:ACTIVE,2:ERROR
1242 ================ ========= ============ ======== ================================
1243
1244
1245 202: accepted
1246
1247 500: failed
1248
1249 ::
1250
1251     {
1252
1253     "id": "3c9eebdbbfd345658269340b9ea6fb73",
1254
1255     "name": "vm1",
1256
1257     "returnCode": 1,
1258
1259     }
1260
1261 7.2. **Delete Server**
1262 ----------------------
1263
1264 ===================== =========================================================
1265 IF Definition          Description
1266 ===================== =========================================================
1267 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/servers/{serverid}
1268 Operation              DELETE
1269 Direction              VNFLCM,NSLCM->MULTIVIM
1270 Description            Delete a vserver on the VIM
1271 ===================== =========================================================
1272
1273 7.2.1. **Request**
1274 >>>>>>>>>>>>>>>>>>
1275
1276 N/A
1277
1278 7.2.2. **Response**
1279 >>>>>>>>>>>>>>>>>>>
1280
1281 204: no content
1282
1283 7.3. **List Server**
1284 --------------------
1285
1286 ===================== =========================================================
1287 IF Definition          Description
1288 ===================== =========================================================
1289 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/servers
1290 Operation              GET
1291 Direction              VNFLCM,NSLCM->MULTIVIM
1292 Description            List vservers on the VIM
1293 ===================== =========================================================
1294
1295 7.3.1. **Request**
1296 >>>>>>>>>>>>>>>>>>
1297
1298 msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/vms?{……}
1299
1300 ================ ========= ============ ======== ================================
1301 Parameter        Qualifier Cardinality  Content    Description
1302 ================ ========= ============ ======== ================================
1303   name                M         1       string          server name
1304 ================ ========= ============ ======== ================================
1305
1306 7.3.2. **Response**
1307 >>>>>>>>>>>>>>>>>>>
1308
1309 ================ ========= ============ ======== ================================
1310 Parameter        Qualifier Cardinality  Content    Description
1311 ================ ========= ============ ======== ================================
1312   vimId               M         1       String                                  vim id
1313   vimName             O         1       string                                  vim name
1314   cloud-owner         M         1       String                      cloud owner
1315 cloud-region-id       M         1       string                      cloud region id
1316   servers             M         1       array                                   server list
1317   id                  M         1       string                                  server id
1318   name                M         1       string                                  server name
1319   tenantId            M         1       String                                  Tenant UUID
1320   boot                M         1       String                                  Start parameters
1321   nicArray             O        1..n    List                             List
1322   volumeArray          O        1..n    List                          List
1323 availabilityZone      O         1       string                                  Usable field
1324   flavorId            M         1       String                                  server Flavor
1325   metada              O         1       keypair                                 Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.
1326   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.
1327   serverGroup          O         1      string                              the ServerGroup for anti-affinity and affinity
1328 ================ ========= ============ ======== ================================
1329
1330
1331 200: ok
1332
1333 500: failed
1334
1335 7.4. **Get Server**
1336 -------------------
1337
1338 ===================== =========================================================
1339 IF Definition          Description
1340 ===================== =========================================================
1341 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/servers/{serverid}
1342 Operation              GET
1343 Direction              VNFLCM,NSLCM->MULTIVIM
1344 Description            Get a vserver on the VIM
1345 ===================== =========================================================
1346
1347 7.4.1. **Request**
1348 >>>>>>>>>>>>>>>>>>
1349
1350 N/A
1351
1352 7.4.2. **Response**
1353 >>>>>>>>>>>>>>>>>>>
1354
1355 ================ ========= ============ ======== ================================
1356 Parameter        Qualifier Cardinality  Content    Description
1357 ================ ========= ============ ======== ================================
1358   vimId               M         1       String      vim id
1359   vimName             O         1       string      vim name
1360   cloud-owner         M         1       String      cloud owner
1361 cloud-region-id       M         1       string      cloud region id
1362   id                  M         1       string      server id
1363   name                M         1       string      server name
1364   tenantId            M         1       String      Tenant UUID
1365   boot                M         1       String      Start parameters
1366   nicArray             O        1..n    List        List
1367 volumeArray            O        1..n    List        List
1368 availabilityZone      O         1       string      Usable field
1369   flavorId            M         1       String      server Flavor
1370   metadata            O         1       List        Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each.
1371   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.
1372   serverGroup         O         1       string      the ServerGroup for anti-affinity and affinity
1373 ================ ========= ============ ======== ================================
1374
1375
1376 200: ok
1377
1378 500: failed
1379
1380
1381 7.5. **Heal Server**
1382 ----------------------
1383
1384 ===================== =========================================================
1385 IF Definition          Description
1386 ===================== =========================================================
1387 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/servers/{serverid}/action
1388 Operation              POST
1389 Direction              VNFLCM,NSLCM->MULTIVIM
1390 Description            Act on a vserver on the VIM
1391 ===================== =========================================================
1392
1393 7.5.1. **Request**
1394 >>>>>>>>>>>>>>>>>>
1395
1396 ================ ========= ============ ======== ================================
1397 Parameter        Qualifier Cardinality  Content    Description
1398 ================ ========= ============ ======== ================================
1399   os-start            M         1       none       The action to start a stopped server.
1400   os-stop             M         1       none       The action to stop a running server.
1401   reboot              M         1       object     The action to reboot a server.
1402   type                O         1       int        The type of the reboot action.
1403                                                       The valid values are HARD and SOFT
1404 ================ ========= ============ ======== ================================
1405
1406
1407 7.5.2. **Response**
1408 >>>>>>>>>>>>>>>>>>>
1409
1410 Normal response codes: 202
1411
1412 Error response codes: unauthorized(401), forbidden(403), itemNotFound(404), conflict(409)
1413
1414 8. **Flavor Management**
1415 ^^^^^^^^^^^^^^^^^^^^^^^^
1416
1417 8.1. **Create Flavor**
1418 ----------------------
1419
1420 ===================== =========================================================
1421 IF Definition          Description
1422 ===================== =========================================================
1423 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/flavors
1424 Operation              POST
1425 Direction              VNFLCM->MULTIVIM
1426 Description            Create a flavor on the VIM
1427 ===================== =========================================================
1428
1429 8.1.1. **Request**
1430 >>>>>>>>>>>>>>>>>>
1431
1432 ================ ========= ============ ======== ================================
1433 Parameter        Qualifier Cardinality  Content    Description
1434 ================ ========= ============ ======== ================================
1435   name                M         1       string     Flavor Name
1436   vcpu                M         1       int        Virtual CPU number
1437   memory              M         1       int        Memory size
1438   disk                M         1       int        The size of the root disk
1439   ephemeral           O         1       int        The size of the ephemeral disk
1440   swap                O         1       int        The size of the swap disk
1441   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.
1442   extraSpecs          O         0..N    List       EPA parameter
1443 ================ ========= ============ ======== ================================
1444
1445
1446 8.1.2. **Response**
1447 >>>>>>>>>>>>>>>>>>>
1448
1449 ================ ========= ============ ======== ================================
1450 Parameter        Qualifier Cardinality  Content    Description
1451 ================ ========= ============ ======== ================================
1452   id                  M         1       string     Flavor id
1453   name                M         1       string     Flavor name
1454   returnCode          M         1       int        0: Already exist 1: Newly created
1455   tenantId            M         1       String     Tenant UUID
1456   vcpu                M         1       int        Virtual CPU number
1457   memory              M         1       int        Memory size
1458   disk                M         1       int        The size of the root disk
1459   ephemeral           M         1       int        The size of the ephemeral disk
1460   swap                M         1       int        The size of the swap disk
1461   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.
1462   extraSpecs          O        0..N     List       EPA parameter
1463   vimId               M         1       String     vim id
1464   vimName             O         1       string     vim name
1465   cloud-owner         M         1       String     cloud owner
1466 cloud-region-id       M         1       string     cloud region id
1467 ================ ========= ============ ======== ================================
1468
1469
1470 8.2. **Delete Flavor**
1471 ----------------------
1472
1473 ===================== =========================================================
1474 IF Definition          Description
1475 ===================== =========================================================
1476 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/flavors /{flavorid}
1477 Operation              DELETE
1478 Direction              VNFLCM->MULTIVIM
1479 Description            Delete a flavor on the VIM
1480 ===================== =========================================================
1481
1482 8.2.1. **Request**
1483 >>>>>>>>>>>>>>>>>>
1484
1485 N/A
1486
1487 8.2.2. **Response**
1488 >>>>>>>>>>>>>>>>>>>
1489
1490 204: no content
1491
1492 8.3. **List Flavor**
1493 --------------------
1494
1495 ===================== =========================================================
1496 IF Definition          Description
1497 ===================== =========================================================
1498 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/flavors
1499 Operation              GET
1500 Direction              VNFLCM,NSLCM->MULTIVIM
1501 Description            List flavors on the VIM
1502 ===================== =========================================================
1503
1504 8.3.1. **Query**
1505 >>>>>>>>>>>>>>>>
1506
1507 ================ ========= ============ ======== ================================
1508 Parameter        Qualifier Cardinality  Content    Description
1509 ================ ========= ============ ======== ================================
1510   name                M         1       string          Flavor name to filter out list
1511 ================ ========= ============ ======== ================================
1512
1513 8.3.2. **Response**
1514 >>>>>>>>>>>>>>>>>>>
1515
1516 ================ ========= ============ ======== ================================
1517 Parameter        Qualifier Cardinality  Content    Description
1518 ================ ========= ============ ======== ================================
1519   flavors             M         0..N    list      Vm list
1520   id                  M         1       string    Flavor id
1521   name                M         1       string    Flavor Name
1522   vcpu                M         1       int       Virtual CPU number
1523   memory              M         1       int       Memory size
1524   disk                M         1       int       The size of the root disk
1525   ephemeral           M         1       int       The size of the ephemeral disk
1526   swap                M         1       int       The size of the swap disk
1527   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.
1528   extraSpecs          O         0..N    List      EPA parameter
1529   vimId               M         1       String    vim id
1530   vimName             O         1       string    vim name
1531   cloud-owner         M         1       String    cloud owner
1532 cloud-region-id       M         1       string    cloud region id
1533   tenantId            M         1       String    Tenant UUID
1534 ================ ========= ============ ======== ================================
1535
1536
1537 200: ok
1538
1539 500: failed
1540
1541 8.4. **Get Flavor**
1542 -------------------
1543
1544 ===================== =========================================================
1545 IF Definition          Description
1546 ===================== =========================================================
1547 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/flavors/{flavorid}
1548 Operation              GET
1549 Direction              VNFLCM->MULTIVIM
1550 Description            Get a flavor on the VIM
1551 ===================== =========================================================
1552
1553 8.4.1. **Request**
1554 >>>>>>>>>>>>>>>>>>
1555
1556 N/A
1557
1558 8.4.2. **Response**
1559 >>>>>>>>>>>>>>>>>>>
1560
1561 ================ ========= ============ ======== ================================
1562 Parameter        Qualifier Cardinality  Content    Description
1563 ================ ========= ============ ======== ================================
1564   id                  M         1       string     Flavor id
1565   name                M         1       string     Flavor Name
1566   vcpu                M         1       int        Virtual CPU number
1567   memory              M         1       int        Memory size
1568   disk                M         1       int        The size of the root disk
1569   ephemeral           M         1       int        The size of the ephemeral disk
1570   swap                M         1       int        The size of the swap disk
1571   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.
1572   extraSpecs          O         0..N    List       EPA parameter
1573   vimId               M         1       String     vim id
1574   vimName             O         1       string     vim name
1575   cloud-owner         M         1       String     cloud owner
1576 cloud-region-id       M         1       string     cloud region id
1577   tenantId            M         1       String     Tenant UUID
1578 ================ ========= ============ ======== ================================
1579
1580 200: ok
1581
1582 500: failed
1583
1584 9. **Volume Management**
1585 ^^^^^^^^^^^^^^^^^^^^^^^^
1586
1587 9.1. **Create Volume**
1588 ----------------------
1589
1590 ===================== =========================================================
1591 IF Definition          Description
1592 ===================== =========================================================
1593 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/volumes
1594 Operation              POST
1595 Direction              VNFLCM->MULTIVIM
1596 Description            Create volume on the VIM
1597 ===================== =========================================================
1598
1599 9.1.1. **Request**
1600 >>>>>>>>>>>>>>>>>>
1601
1602 ================ ========= ============ ======== ================================
1603 Parameter        Qualifier Cardinality  Content    Description
1604 ================ ========= ============ ======== ================================
1605   name                M         1       string          Volume name
1606   volumeSize          M         1       int             Volume size
1607   imageId             O         1       string          Image UUID
1608   volumeType          O         1       string          Volume type
1609 availabilityZone      O         1       string          Usable field
1610 ================ ========= ============ ======== ================================
1611
1612 ::
1613
1614     {
1615
1616     "tenant": "tenant1",
1617
1618     "volumeName": "volume1",
1619
1620     "volumeSize": 3,
1621
1622     "imageName": "cirros.qcow2",
1623
1624     "volumeType": "volumetype1",
1625
1626     "availabilityZone": "zone1"
1627
1628     }
1629
1630 9.1.2. **Response**
1631 >>>>>>>>>>>>>>>>>>>
1632
1633 ================ ========= ============ ======== ================================
1634 Parameter        Qualifier Cardinality  Content    Description
1635 ================ ========= ============ ======== ================================
1636   returnCode          M         1       int             0: Already exist 1: Newly created
1637   vimId               M         1       String          vim id
1638   vimName             O         1       string          vim name
1639   cloud-owner         M         1       String          cloud owner
1640 cloud-region-id       M         1       string          cloud region id
1641   tenantId            M         1       String          Tenant UUID
1642   status              M         1       string          Volume status
1643   id                  M         1       string          Volume id
1644   name                M         1       string          Volume name
1645   volumeType          O         1       string          Volume type
1646 availabilityZone      O         1       string          Availability Zone
1647 ================ ========= ============ ======== ================================
1648
1649 202: accepted
1650
1651 500: failed
1652
1653 ::
1654
1655     {
1656
1657     "id": "bc9eebdbbfd356458269340b9ea6fb73",
1658
1659     "name": "volume1",
1660
1661     "returnCode": 1,
1662
1663     }
1664
1665 9.2. **Delete Volume**
1666 ----------------------
1667
1668 ===================== =========================================================
1669 IF Definition          Description
1670 ===================== =========================================================
1671 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/volumes/{volumeId}
1672 Operation              DELETE
1673 Direction              VNFLCM->MULTIVIM
1674 Description            Delete volume on the VIM
1675 ===================== =========================================================
1676
1677 9.2.1. **Request**
1678 >>>>>>>>>>>>>>>>>>
1679
1680     N/A
1681
1682 9.2.2. **Response**
1683 >>>>>>>>>>>>>>>>>>>
1684
1685     204: no content
1686
1687 9.3. **List Volumes**
1688 ---------------------
1689
1690 ===================== =========================================================
1691 IF Definition          Description
1692 ===================== =========================================================
1693 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/volumes
1694 Operation              GET
1695 Direction              VNFLCM->MULTIVIM
1696 Description            List volumes on the VIM
1697 ===================== =========================================================
1698
1699 9.3.1. **Request**
1700 >>>>>>>>>>>>>>>>>>
1701
1702     msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/volumes?{……}
1703
1704 ================ ========= ============ ======== ================================
1705 Parameter        Qualifier Cardinality  Content    Description
1706 ================ ========= ============ ======== ================================
1707   name                M         1       string          Volume name
1708 ================ ========= ============ ======== ================================
1709
1710 9.3.2. **Response**
1711 >>>>>>>>>>>>>>>>>>>
1712
1713 ================ ========= ============ ======== ================================
1714 Parameter        Qualifier Cardinality  Content    Description
1715 ================ ========= ============ ======== ================================
1716   vimId               M         1       String                 vim id
1717   vimName             O         1       string                 vim name
1718   cloud-owner         M         1       String       cloud owner
1719 cloud-region-id       M         1       string        cloud region id
1720   tenantId            M         1       String                 Tenant UUID
1721   volumes             M         1       Array
1722   id                  M         1       string                 Volume id
1723   name                M         1       string                 Volume name
1724   createTime          O         1       string                 Create time
1725   status              M         1       string                 Volume status
1726   volumeSize          M         1       int                    Volume size
1727   volumeType          M         1       string                 Volume type
1728 availabilityZone      M         1       string                 Availability Zone
1729   attachments         M         1..n    list        List of additional information on the cloud disk
1730 ================ ========= ============ ======== ================================
1731
1732 200: ok
1733
1734 500: failed
1735
1736 ::
1737
1738     {
1739
1740         "volumes": [
1741
1742             {
1743
1744                 "status": "available",
1745
1746                 "name": "test",
1747
1748                 "attachments": [],
1749
1750                 "createTime": "2015-12-02T07:57:23.000000",
1751
1752                 " volumeType ": "ws",
1753
1754                 "id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55",
1755
1756                 "size": 20
1757
1758             },
1759
1760             {
1761
1762                 "status": "in-use",
1763
1764                 "name": "wangsong",
1765
1766                 "attachments": [
1767
1768                     {
1769
1770                         "device": "/dev/vdc",
1771
1772                         "serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
1773
1774                         "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
1775
1776                         "hostName": null,
1777
1778                         "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
1779
1780                     }
1781
1782                 ],
1783
1784                 "createTime": "2015-12-02T06:39:40.000000",
1785
1786                 " volumeType ": null,
1787
1788                 "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
1789
1790                 "size": 40
1791
1792             }
1793
1794         ]
1795
1796     }
1797
1798 9.4. **Get Volumes**
1799 --------------------
1800
1801 ===================== =========================================================
1802 IF Definition          Description
1803 ===================== =========================================================
1804 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/volumes/{volumeid}
1805 Operation              GET
1806 Direction              VNFLCM->MULTIVIM
1807 Description            Get volume on the VIM
1808 ===================== =========================================================
1809
1810 9.4.1. **Request**
1811 >>>>>>>>>>>>>>>>>>
1812
1813     N/A
1814
1815 9.4.2. **Response**
1816 >>>>>>>>>>>>>>>>>>>
1817
1818 ================ ========= ============ ======== ================================
1819 Parameter        Qualifier Cardinality  Content    Description
1820 ================ ========= ============ ======== ================================
1821   vimId               M         1       String                 vim id
1822   vimName             O         1       string                 vim name
1823   cloud-owner         M         1       String                      cloud owner
1824 cloud-region-id       M         1       string                      cloud region id
1825   tenantId            M         1       String                 Tenant UUID
1826   id                            1       string                 Volume id
1827   name                          1       string                 Volume name
1828   createTime                    1       string                 Create time
1829   status                        1       string                 Volume status
1830   volumeType                    1       List         Volume type
1831   volumeSize                    1       int                    Volume size
1832 availabilityZone      M         1       string                 Availability Zone
1833   attachments         M         1..n    list       List of additional information on the cloud disk
1834 ================ ========= ============ ======== ================================
1835
1836 **attachment:**
1837
1838 ============== ========= ============ ======== ==================================
1839 Parameter      Qualifier Cardinality  Content    Description
1840 ============== ========= ============ ======== ==================================
1841   device                      1       string          Device name
1842   serverId                    1       string          VM id
1843   volumeId                    1       string          Volume id
1844   hostName                    1       string          Host name
1845   id                          1       string          Device id
1846 ============== ========= ============ ======== ==================================
1847
1848 200: ok
1849
1850 500: failed
1851
1852 ::
1853
1854     {
1855
1856         "status": "in-use",
1857
1858         "name": "wangsong",
1859
1860         "attachments": [
1861
1862             {
1863
1864                 "device": "/dev/vdc",
1865
1866                 "serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
1867
1868                 "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
1869
1870                 "hostName": null,
1871
1872                 "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
1873
1874             }
1875
1876         ],
1877
1878         "createTime": "2015-12-02T06:39:40.000000",
1879
1880         "volumeType ": null,
1881
1882         "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
1883
1884         "volumeSize ": 40
1885
1886     }
1887
1888 10. **Tenant Management**
1889 ^^^^^^^^^^^^^^^^^^^^^^^^^
1890
1891 10.1. **List tenants**
1892 ----------------------
1893
1894
1895 ===================== =========================================================
1896 IF Definition          Description
1897 ===================== =========================================================
1898 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/tenants
1899 Operation              GET
1900 Direction              VNFLCM->MULTIVIM
1901 Description            List tenants on the VIM
1902 ===================== =========================================================
1903
1904
1905 10.1.1. **Query**
1906 >>>>>>>>>>>>>>>>>
1907
1908 ================= ========= ============ ======== ================================
1909 Parameter         Qualifier Cardinality  Content    Description
1910 ================= ========= ============ ======== ================================
1911 name={tenantname}      O         1       string          Tenant name to filter output list
1912 ================= ========= ============ ======== ================================
1913
1914
1915 10.1.2. **Response**
1916 >>>>>>>>>>>>>>>>>>>>
1917
1918 ================ ========= ============ ======== ================================
1919 Parameter        Qualifier Cardinality  Content    Description
1920 ================ ========= ============ ======== ================================
1921   vimId               M         1       String          vim id
1922   vimName             O         1       string          vim name
1923   cloud-owner         M         1       String          cloud owner
1924 cloud-region-id       M         1       string          cloud region id
1925   tenants             M         1       Array
1926   id                  M         1       string          tenant UUID
1927   name                M         1       string          tenant name
1928 ================ ========= ============ ======== ================================
1929
1930 200: ok
1931
1932 500: failed
1933
1934 ::
1935
1936     {
1937
1938         " tenants ": [
1939
1940             {
1941
1942                 "id": "1",
1943
1944                 "name": "test\_a"
1945
1946             }
1947
1948         ]
1949
1950     }
1951
1952 11. **Limits**
1953 ^^^^^^^^^^^^^^
1954
1955 11.1. **List Limits of resouces**
1956 ---------------------------------
1957
1958 ===================== =========================================================
1959 IF Definition          Description
1960 ===================== =========================================================
1961 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/limits
1962 Operation              GET
1963 Direction              VNFLCM->MULTIVIM
1964 Description            Get limits on the VIM
1965 ===================== =========================================================
1966
1967
1968 11.1.1. **Request**
1969 >>>>>>>>>>>>>>>>>>>
1970
1971 N/A
1972
1973 11.1.2. **Response**
1974 >>>>>>>>>>>>>>>>>>>>
1975
1976 ======================== ========= ============ ======== ========================
1977 Parameter                Qualifier Cardinality  Content    Description
1978 ======================== ========= ============ ======== ========================
1979   vimId                       M         1       String          vim id                                                          vimName                     O         1       string          vim name
1980   cloud-owner                 M         1       String          cloud owner
1981 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.
1982   maxPersonalitySize          O         1       int             The number of allowed bytes of content for each injected file.
1983   maxServerGroupMembers       O         1       int             The number of allowed members for each server group.
1984   maxServerGroups             O         1       int             The number of allowed server groups for each tenant.
1985   maxServerMeta               O         1       int             The number of allowed metadata items for each instance.
1986   maxTotalCores               O         1       int             The number of allowed instance cores for each tenant.
1987   maxTotalInstances           O         1       int             The number of allowed instances for each tenant.
1988   maxTotalKeypairs            O         1       int             The number of allowed key pairs for each user.
1989   maxTotalRAMSize             O         1       int             The amount of allowed instance RAM, in MB, for each tenant.
1990 maxTotalVolumeGigabytes       O         1       int             The maximum total amount of volumes, in gibibytes (GiB).
1991   maxTotalVolumes             O         1       int             The maximum number of volumes.
1992   totalVolumesUsed            O         1       int             The total number of volumes used.
1993   totalGigabytesUsed          O         1       int             The total number of gibibytes (GiB) used.
1994   network                     O         1       int             The number of networks allowed for each project.
1995   subnet                      O         1       int             The number of subnets allowed for each project.
1996   subnetpool                  O         1       int             The number of subnet pools allowed for each project.
1997   security\_group\_rule       O         1       int             The number of security group rules allowed for each project.
1998   security\_group             O         1       int             The number of security groups allowed for each project.
1999   router                      O         1       int             The number of routers allowed for each project.
2000   port                        O         1       int             The number of ports allowed for each project.
2001 ======================== ========= ============ ======== ========================
2002
2003 200: ok
2004
2005 500: failed
2006
2007 ::
2008
2009     {
2010
2011     "maxPersonality": 5,
2012
2013     "maxPersonalitySize": 10240,
2014
2015     "maxServerMeta": 128,
2016
2017     "maxTotalCores": 20,
2018
2019     "maxTotalInstances": 10,
2020
2021     "maxTotalKeypairs": 100,
2022
2023     "maxTotalRAMSize": 51200,
2024
2025     "maxServerGroups": 10,
2026
2027     "maxServerGroupMembers": 10,
2028
2029     }
2030
2031 12. **Host Management**
2032 ^^^^^^^^^^^^^^^^^^^^^^^
2033
2034 12.1. **List hosts**
2035 --------------------
2036
2037 ===================== =========================================================
2038 IF Definition          Description
2039 ===================== =========================================================
2040 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/hosts
2041 Operation              GET
2042 Direction              VNFLCM->MULTIVIM
2043 Description            list hosts on the VIM
2044 ===================== =========================================================
2045
2046 12.1.1. **Request**
2047 >>>>>>>>>>>>>>>>>>>
2048
2049 N/A
2050
2051 12.1.2. **Response**
2052 >>>>>>>>>>>>>>>>>>>>
2053
2054 =============== ========= ============ ======== ==================================
2055 Parameter       Qualifier Cardinality  Content    Description
2056 =============== ========= ============ ======== ==================================
2057   vimId              M         1       String            vim id
2058   vimName            O         1       string            vim name
2059   cloud-owner        M         1       String            cloud owner
2060 cloud-region-id      M         1       string            cloud region id
2061   tenantId           M         1       string            Tenant Name
2062   hosts              M         1       Array     List of host information
2063   service            M         1       string            The service running on the host
2064   name               M         1       string            host name
2065   zone               O         1       string            Available zone for the host
2066 =============== ========= ============ ======== ==================================
2067
2068 200: ok
2069
2070 500: failed
2071
2072 ::
2073
2074     {
2075
2076         "vimId": "123",
2077
2078         "vimName": "vimName",
2079
2080         "tenantId": "tenantId1"
2081
2082         "hosts": [
2083
2084             {
2085
2086                 "name": "b6e4adbc193d428ea923899d07fb001e",
2087
2088                 "service": "conductor",
2089
2090                 "zone": "internal",
2091
2092                 "vimId": "123",
2093
2094                 "vimName": "vimName",
2095
2096                 "tenantId": "tenantId1"
2097
2098             },
2099
2100             {
2101
2102                 "name": "09c025b0efc64211bd23fc50fa974cdf",
2103
2104                 "service": "compute",
2105
2106                 "zone": "nova"
2107
2108                 "vimId": "123",
2109
2110                 "vimName": "vimName",
2111
2112                 "tenantId": "tenantId1"
2113
2114             },
2115
2116             {
2117
2118                 "name": "e73ec0bd35c64de4a1adfa8b8969a1f6",
2119
2120                 "service": "consoleauth",
2121
2122                 "zone": "internal"
2123
2124                 "vimId": "123",
2125
2126                 "vimName": "vimName",
2127
2128                 "tenantId": "tenantId1"
2129
2130             },
2131
2132             {
2133
2134                 "host\_name": "396a8a0a234f476eb05fb9fbc5802ba7",
2135
2136                 "service": "network",
2137
2138                 "zone": "internal"
2139
2140                 "vimId": "123",
2141
2142                 "vimName": "vimName",
2143
2144                 "tenantId": "tenantId1"
2145
2146             },
2147
2148             {
2149
2150                 "name": "abffda96592c4eacaf4111c28fddee17",
2151
2152                 "service": "scheduler",
2153
2154                 "zone": "internal"
2155
2156                 "vimId": "123",
2157
2158                 "vimName": "vimName",
2159
2160                 "tenantId": "tenantId1"
2161
2162             }
2163
2164         ]
2165
2166     }
2167
2168 12.2. **Get host**
2169 ------------------
2170
2171 ===================== =========================================================
2172 IF Definition          Description
2173 ===================== =========================================================
2174 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/{tenantid}/hosts/{hostname}
2175 Operation              GET
2176 Direction              VNFLCM->MULTIVIM
2177 Description            Get a host on the VIM
2178 ===================== =========================================================
2179
2180
2181 12.2.1. **Request**
2182 >>>>>>>>>>>>>>>>>>>
2183
2184 12.2.2. **Response**
2185 >>>>>>>>>>>>>>>>>>>>
2186
2187 =============== ========= ============ ======== ==================================
2188 Parameter       Qualifier Cardinality  Content    Description
2189 =============== ========= ============ ======== ==================================
2190   vimId              M         1       String                vim id
2191   vimName            O         1       string                vim name
2192 cloud-owner          M         1       String                cloud owner
2193 cloud-region-id      M         1       string                cloud region id
2194   tenantId           M         1       string                Tenant Name
2195   host               M         1       List     Host resource info
2196   resource           M                 1..N                Object                Resource description
2197   cpu                M         1       Int                   The cpu info on the host.
2198   memory_mb          M         1       int                   The memory info on the host (in MB).
2199   name               M         1       string                host name
2200   project            M         1       string                Value: total, used_now, used_max or specific project_id
2201   disk_gb            M         1       int                   The disk info on the host (in GB).
2202 =============== ========= ============ ======== ==================================
2203
2204 200: ok
2205
2206 500: failed
2207
2208 ::
2209
2210     {
2211
2212         "cpu": 1,
2213
2214         "disk\_gb": 1028,
2215
2216         "name": "c1a7de0ac9d94e4baceae031d05caae3",
2217
2218         "memory\_mb": 8192,
2219
2220         "vimId": "123",
2221
2222         "vimName": "vimName",
2223
2224         "tenantId": "tenantId1",
2225
2226         "host": [
2227
2228             {
2229
2230                 "memory\_mb": 4960,
2231
2232                 "name": " c1a7de0ac9d94e4baceae031d05caae3",
2233
2234                 "disk\_gb": 92,
2235
2236                 "project": "(total)",
2237
2238                 "cpu": 4
2239
2240             },
2241
2242             {
2243
2244                 "memory\_mb": 1536,
2245
2246                 "name": " c1a7de0ac9d94e4baceae031d05caae3",
2247
2248                 "disk\_gb": 2,
2249
2250                 "project": "(used\_now)",
2251
2252                 "cpu": 2
2253
2254             },
2255
2256             {
2257
2258                 "memory\_mb": 1024,
2259
2260                 "name": " c1a7de0ac9d94e4baceae031d05caae3",
2261
2262                 "disk\_gb": 2,
2263
2264                 "project": "(used\_max)",
2265
2266                 "cpu": 2
2267
2268             },
2269
2270             {
2271
2272                 "memory\_mb": 1024,
2273
2274                 "name": " c1a7de0ac9d94e4baceae031d05caae3",
2275
2276                 "disk\_gb": 2,
2277
2278                 "project": "568f7ec425db472ba348251bf1e7eebd",
2279
2280                 "cpu": 2
2281
2282             }
2283
2284         ],
2285
2286         "vimName": "openstack\_newton",
2287
2288         "vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73",
2289
2290         "tenantId": "568f7ec425db472ba348251bf1e7eebd"
2291
2292     }
2293
2294 13. **VIM Management**
2295 ^^^^^^^^^^^^^^^^^^^^^^
2296
2297 13.1. **Update VIM Info**
2298 -------------------------
2299
2300 ===================== =========================================================
2301 IF Definition          Description
2302 ===================== =========================================================
2303 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/registry
2304 Operation              POST
2305 Direction              ESR-> MULTICLOUD
2306 Description            Register a VIM instance to ONAP
2307 ===================== =========================================================
2308
2309 13.1.1. **Request**
2310 >>>>>>>>>>>>>>>>>>>
2311
2312 ============== ========= ============ ======== ==================================
2313 Parameter      Qualifier Cardinality  Content    Description
2314 ============== ========= ============ ======== ==================================
2315 defaultTenant       M         1       string          default tenant name
2316 ============== ========= ============ ======== ==================================
2317
2318 13.1.2. **Response**
2319 >>>>>>>>>>>>>>>>>>>>
2320
2321 NA
2322
2323 202: accept
2324
2325 400: failed
2326
2327 13.2. **Unregistry VIM**
2328 ------------------------
2329
2330 ===================== =========================================================
2331 IF Definition          Description
2332 ===================== =========================================================
2333 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}
2334 Operation              DELETE
2335 Direction              ESR-> MULTICLOUD
2336 Description            Unregister a VIM instance from ONAP
2337 ===================== =========================================================
2338
2339
2340 13.2.1. **Request**
2341 >>>>>>>>>>>>>>>>>>>
2342
2343 NA
2344
2345 13.2.2. **Response**
2346 >>>>>>>>>>>>>>>>>>>>
2347
2348 NA
2349
2350 204: No content found
2351
2352 400: failed
2353
2354
2355
2356 14. **infrastructure workload LCM**
2357 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2358
2359 14.1. **Instantiate infrastructure workload**
2360 ----------------------------------------------
2361
2362 ===================== =========================================================
2363 IF Definition          Description
2364 ===================== =========================================================
2365 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/infra_workload
2366 Operation              POST
2367 Direction              SO-> MULTICLOUD
2368 Description            Instantiate infrastructure workload
2369 ===================== =========================================================
2370
2371 14.1.1. **Request**
2372 >>>>>>>>>>>>>>>>>>>
2373
2374 ================ ========= ============ ======== ==================================
2375 Parameter        Qualifier Cardinality  Content    Description
2376 ================ ========= ============ ======== ==================================
2377 generic-vnf-id       O         1        string          generif VNF ID to search AAI object
2378 vf-module-id         O         1        string          vf module id  to search AAI object
2379 oof_directives       O         1        Object          oof directives to update template_data
2380 sdnc_directives      O         1        Object          sdnc directives to update template_data
2381 template_type        M         1        string          template type with which the MultiCloud plugin inteprates template_data
2382                                                             "heat",etc.
2383 template_data        M         1        Object          workload template data to instantiate workload onto VIM/Cloud instance
2384 ================ ========= ============ ======== ==================================
2385
2386 ::
2387
2388   {
2389      "generic-vnf-id":"vnf-id-111111",
2390      "vf-module-id":"vf-module-id-2222222",
2391      "oof_directives":{},
2392      "sdnc_directives":{},
2393      "template_type":"heat",
2394      "template_data":{{
2395          "files":{  },
2396          "disable_rollback":true,
2397          "parameters":{
2398             "flavor":"m1.heat"
2399          },
2400          "stack_name":"teststack",
2401          "template":{
2402             "heat_template_version":"2013-05-23",
2403             "description":"Simple template to test heat commands",
2404             "parameters":
2405             {
2406                "flavor":{
2407                   "default":"m1.tiny",
2408                   "type":"string"
2409                }
2410             },
2411             "resources":{
2412                "hello_world":{
2413                   "type":"OS::Nova::Server",
2414                   "properties":{
2415                      "key_name":"heat_key",
2416                      "flavor":{
2417                         "get_param":"flavor"
2418                      },
2419                      "image":"40be8d1a-3eb9-40de-8abd-43237517384f",
2420                      "user_data":"#!/bin/bash -xv\necho \"hello world\" &gt; /root/hello-world.txt\n"
2421                   }
2422                }
2423             }
2424          },
2425          "timeout_mins":60
2426      }
2427   }
2428
2429 14.1.2. **Response**
2430 >>>>>>>>>>>>>>>>>>>>
2431
2432 ================== ========= ============ ======== ==================================
2433 Parameter          Qualifier Cardinality  Content    Description
2434 ================== ========= ============ ======== ==================================
2435 template_type          M         1        string          template type with which the MultiCloud plugin inteprates template_data
2436                                                             "heat",etc.
2437 workload_id            M         1        string          The ID of infrastructure workload resource
2438 template_response      M         1        Object          response from VIM/Cloud instance which is instantiating workload
2439 ================== ========= ============ ======== ==================================
2440
2441
2442 201: Created
2443
2444 202: Accepted
2445
2446 400: Bad Request
2447
2448 401: Unauthorized
2449
2450 409: Conflict
2451
2452 ::
2453
2454     {
2455         "template_type":"heat",
2456         "workload_id": "1234567890abcd"
2457         "template_response":
2458         {
2459             "stack": {
2460             "id": "1234567890abcd",
2461             "links": [
2462                 {
2463                      "href": "",
2464                      "rel": "self"
2465                 }
2466             ]
2467         }
2468     }
2469
2470
2471 14.2. **Query infrastructure workload**
2472 ---------------------------------------
2473
2474 ===================== =========================================================
2475 IF Definition          Description
2476 ===================== =========================================================
2477 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/infra_workload/{workload-id}
2478 Operation              GET
2479 Direction              SO-> MULTICLOUD
2480 Description            Query the status of the infrastructure workload
2481 ===================== =========================================================
2482
2483
2484 14.2.1. **Request**
2485 >>>>>>>>>>>>>>>>>>>
2486
2487 NA
2488
2489 14.2.2. **Response**
2490 >>>>>>>>>>>>>>>>>>>>
2491
2492 ================== ========= ============ ======== ==================================
2493 Parameter          Qualifier Cardinality  Content    Description
2494 ================== ========= ============ ======== ==================================
2495 template_type          M         1        string          template type with which the MultiCloud plugin inteprates template_data
2496                                                             "heat",etc.
2497 workload_id            M         1        string          The ID of infrastructure workload resource
2498 workload_status        M         1        string          Status of infrastructure workload:
2499                                                               DELETE_IN_PROGRESS, CREATE_COMPLETE, CREATE_FAILED
2500                                                               DELETE_IN_PROGRESS, DELETE_COMPLETE, DELETE_FAILED
2501                                                               UPDATE_IN_PROGRESS, UPDATE_COMPLETE, UPDATE_FAILED
2502 ================== ========= ============ ======== ==================================
2503
2504
2505 200: OK
2506
2507 400: Bad Request
2508
2509 401: Unauthorized
2510
2511 404: Not Found
2512
2513 500: Internal Server Error
2514
2515 ::
2516
2517     {
2518         "template_type":"heat",
2519         "workload_id": "1234567890abcd",
2520         "workload_status":"CREATE_IN_PROCESS"
2521     }
2522
2523
2524 14.3. **Delete infrastructure workload**
2525 ----------------------------------------
2526
2527 ===================== =========================================================
2528 IF Definition          Description
2529 ===================== =========================================================
2530 URI                    msb.onap.org:80/api/multicloud/v1/{cloud-owner}/{cloud-region-id}/infra_workload/{workload-id}
2531 Operation              DELETE
2532 Direction              SO-> MULTICLOUD
2533 Description            DELETE the infrastructure workload
2534 ===================== =========================================================
2535
2536
2537 14.3.1. **Request**
2538 >>>>>>>>>>>>>>>>>>>
2539
2540 NA
2541
2542 14.3.2. **Response**
2543 >>>>>>>>>>>>>>>>>>>>
2544
2545 NA
2546
2547
2548 204: No Content, The server has fulfilled the request by deleting the resource.
2549
2550 400: Bad Request
2551
2552 401: Unauthorized
2553
2554 404: Not Found
2555
2556 500: Internal Server Error