summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorxinhuili <lxinhui@vmware.com>2017-10-08 03:05:00 +0800
committerxinhuili <lxinhui@vmware.com>2017-10-08 03:05:00 +0800
commitd04a2f7056c4579ee72b328dbb3413a3521ec662 (patch)
tree0d49a1b2eea3ca59e0d3159eee1831713a0b2ca9 /docs
parented6f94fc70e18c849b043b5616dbdd7cafa8ba9b (diff)
Add more docs for Multi VIM/Cloud project
This Patch is to add documents of deploymnet guide and API description into the project. Change-Id: I55ff0b8238aa79fd20808b6e9134ab1e77285cbb issue-id: MULTICLOUD-86 Signed-off-by: Xinhui Li <lxinhui@vmware.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/MultiCloud-API-Specification-V1.rst2829
-rw-r--r--docs/MultiCloud-Deployment-Guide.rst (renamed from docs/user/multivimproxy.txt)101
-rw-r--r--docs/index.rst7
-rw-r--r--docs/user/test.json10
4 files changed, 2895 insertions, 52 deletions
diff --git a/docs/MultiCloud-API-Specification-V1.rst b/docs/MultiCloud-API-Specification-V1.rst
new file mode 100644
index 0000000..398d43f
--- /dev/null
+++ b/docs/MultiCloud-API-Specification-V1.rst
@@ -0,0 +1,2829 @@
+================================
+MultiCloud API Specification V1
+================================
+
+API Catalog
+===========
+
+`1. Scope 5 <#_Toc490851650>`__
+
+`2. Terms, Definitions and Abbreviations 5 <#_Toc490851651>`__
+
+`3. Image Management 5 <#_Toc490851652>`__
+
+`3.1 Create Image 5 <#_Toc490851653>`__
+
+`3.1.1 Request 5 <#_Toc490851654>`__
+
+`3.1.2 Response 6 <#_Toc490851655>`__
+
+`3.2 Delete Image 7 <#_Toc490851656>`__
+
+`3.2.1 Request 7 <#_Toc490851657>`__
+
+`3.2.2 Response 7 <#_Toc490851658>`__
+
+`3.3 List Images 7 <#_Toc490851659>`__
+
+`3.3.1 Request 7 <#_Toc490851660>`__
+
+`3.3.2 Response 8 <#_Toc490851661>`__
+
+`3.4 Get Image 9 <#_Toc490851662>`__
+
+`3.4.1 Request 9 <#_Toc490851663>`__
+
+`3.4.2 Response 9 <#_Toc490851664>`__
+
+`4. Network Management 10 <#_Toc490851665>`__
+
+`4.1 Create Network 10 <#_Toc490851666>`__
+
+`4.1.1 Request 10 <#_Toc490851667>`__
+
+`4.1.2 Response 11 <#_Toc490851668>`__
+
+`4.2 Delete Network 12 <#_Toc490851669>`__
+
+`4.2.1 Request 12 <#_Toc490851670>`__
+
+`4.2.2 Response 12 <#_Toc490851671>`__
+
+`4.3 List Network 12 <#_Toc490851672>`__
+
+`4.3.1 Query 12 <#_Toc490851673>`__
+
+`4.3.2 Response 13 <#_Toc490851674>`__
+
+`4.4 Get Network 14 <#_Toc490851675>`__
+
+`4.4.1 Request 14 <#_Toc490851676>`__
+
+`4.4.2 Response 14 <#_Toc490851677>`__
+
+`5. Subnetwork Management 16 <#_Toc490851678>`__
+
+`5.1 Create Subnets 16 <#_Toc490851679>`__
+
+`5.1.1 Request 16 <#_Toc490851680>`__
+
+`5.1.2 Response 17 <#_Toc490851681>`__
+
+`5.2 Delete Subnets 18 <#_Toc490851682>`__
+
+`5.2.1 Request 18 <#_Toc490851683>`__
+
+`5.2.2 Response 18 <#_Toc490851684>`__
+
+`5.3 List Subnets 18 <#_Toc490851685>`__
+
+`5.3.1 Query 18 <#_Toc490851686>`__
+
+`5.3.2 Response 19 <#_Toc490851687>`__
+
+`5.4 Get Subnets 20 <#_Toc490851688>`__
+
+`5.4.1 Request 20 <#_Toc490851689>`__
+
+`5.4.2 Response 20 <#_Toc490851690>`__
+
+`6. Virtual Port 21 <#_Toc490851691>`__
+
+`6.1 Create Virtual Port 21 <#_Toc490851692>`__
+
+`6.1.1 Request 21 <#_Toc490851693>`__
+
+`6.1.2 Response 22 <#_Toc490851694>`__
+
+`6.2 Delete Virtual Port 22 <#_Toc490851695>`__
+
+`6.2.1 Request 23 <#_Toc490851696>`__
+
+`6.2.2 Response 23 <#_Toc490851697>`__
+
+`6.3 List Virtual Port 23 <#_Toc490851698>`__
+
+`6.3.1 Query 23 <#_Toc490851699>`__
+
+`6.3.2 Response 23 <#_Toc490851700>`__
+
+`6.4 Get Virtual Port 24 <#_Toc490851701>`__
+
+`6.4.1 Request 24 <#_Toc490851702>`__
+
+`6.4.2 Response 24 <#_Toc490851703>`__
+
+`7. Server Management 25 <#_Toc490851704>`__
+
+`7.1 Create Server 25 <#_Toc490851705>`__
+
+`7.1.1 Request 25 <#_Toc490851706>`__
+
+`7.1.2 Response 27 <#_Toc490851707>`__
+
+`7.2 Delete Server 28 <#_Toc490851708>`__
+
+`7.2.1 Request 28 <#_Toc490851709>`__
+
+`7.2.2 Response 28 <#_Toc490851710>`__
+
+`7.3 List Server 28 <#_Toc490851711>`__
+
+`7.3.1 Request 28 <#_Toc490851712>`__
+
+`7.3.2 Response 29 <#_Toc490851713>`__
+
+`7.4 Get Server 29 <#_Toc490851714>`__
+
+`7.4.1 Request 30 <#_Toc490851715>`__
+
+`7.4.2 Response 30 <#_Toc490851716>`__
+
+`8. Flavor Management 30 <#_Toc490851717>`__
+
+`8.1 Create Flavor 31 <#_Toc490851718>`__
+
+`8.1.1 Request 31 <#_Toc490851719>`__
+
+`8.1.2 Response 31 <#_Toc490851720>`__
+
+`8.2 Delete Flavor 32 <#_Toc490851721>`__
+
+`8.2.1 Request 32 <#_Toc490851722>`__
+
+`8.2.2 Response 32 <#_Toc490851723>`__
+
+`8.3 List Flavor 32 <#_Toc490851724>`__
+
+`8.3.1 Query 32 <#_Toc490851725>`__
+
+`8.3.2 Response 32 <#_Toc490851726>`__
+
+`8.4 Get Flavor 33 <#_Toc490851727>`__
+
+`8.4.1 Request 33 <#_Toc490851728>`__
+
+`8.4.2 Response 33 <#_Toc490851729>`__
+
+`9. Volume Management 34 <#_Toc490851730>`__
+
+`9.1 Create Volume 34 <#_Toc490851731>`__
+
+`9.1.1 Request 34 <#_Toc490851732>`__
+
+`9.1.2 Response 34 <#_Toc490851733>`__
+
+`9.2 Delete Volume 35 <#_Toc490851734>`__
+
+`9.2.1 Request 35 <#_Toc490851735>`__
+
+`9.2.2 Response 35 <#_Toc490851736>`__
+
+`9.3 List Volumes 35 <#_Toc490851737>`__
+
+`9.3.1 Request 35 <#_Toc490851738>`__
+
+`9.3.2 Response 36 <#_Toc490851739>`__
+
+`9.4 Get Volumes 37 <#_Toc490851740>`__
+
+`9.4.1 Request 37 <#_Toc490851741>`__
+
+`9.4.2 Response 37 <#_Toc490851742>`__
+
+`10. Tenant Management 38 <#_Toc490851743>`__
+
+`10.1 List tenants 38 <#_Toc490851744>`__
+
+`10.1.1 Query 38 <#_Toc490851745>`__
+
+`10.1.2 Response 38 <#_Toc490851746>`__
+
+`11. Limits 39 <#_Toc490851747>`__
+
+`11.1 List Limits of resouces: CPU&Memory, volume,network,etc
+39 <#_Toc490851748>`__
+
+`11.1.1 Request 39 <#_Toc490851749>`__
+
+`11.1.2 Response 39 <#_Toc490851750>`__
+
+`12. Host Management 41 <#_Toc490851751>`__
+
+`12.1 List hosts 41 <#_Toc490851752>`__
+
+`12.1.1 Request 41 <#_Toc490851753>`__
+
+`12.1.2 Response 41 <#_Toc490851754>`__
+
+`12.2 Get host 43 <#_Toc490851755>`__
+
+`12.2.1 Request 43 <#_Toc490851756>`__
+
+`12.2.2 Response 43 <#_Toc490851757>`__
+
+`13. VIM Management 45 <#_Toc490851758>`__
+
+`13.1 Update VIM Info 45 <#_Toc490851759>`__
+
+`13.1.1 Request 45 <#_Toc490851760>`__
+
+`13.1.2 Response 45 <#_Toc490851761>`__
+
+`13.2 Unregistry VIM 45 <#_Toc490851762>`__
+
+`13.2.1 Request 45 <#_Toc490851763>`__
+
+`13.2.2 Response 46 <#_Toc490851764>`__
+
+*
+*
+
+1. \ **Scope**
+
+The scope of the present document is to describe the VIM Driver API
+specification.
+
+1. \ **Terms, Definitions and Abbreviations**
+
+For the purposes of the present document, the following abbreviations
+apply:
+
++--------------------+-------------------------------------------------------------+
+| **Abbreviation** | |
++====================+=============================================================+
+| NFVO | Network Functions Virtualization Orchestrator |
++--------------------+-------------------------------------------------------------+
+| VNFM | Virtual Network Function Management |
++--------------------+-------------------------------------------------------------+
+| VIM | Virtualized Infrastructure Manager |
++--------------------+-------------------------------------------------------------+
+| MultiVIM | MultVIM driver services for OPEN-O to drive VIM instances |
++--------------------+-------------------------------------------------------------+
+
+Table 2-1 abbreviations
+
+1. \ **Image Management**
+
+ 1. \ **Create Image**
+
++---------------------+-------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===============================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images |
++---------------------+-------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+-------------------------------------------------------------------------------+
+| Direction | NSLCM->MULTIVIM |
++---------------------+-------------------------------------------------------------------------------+
+| Description | Create Image and Upload the image file to the VIM |
++---------------------+-------------------------------------------------------------------------------+
+
+1. \ **Request**
+
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+===========================+==================================================================================================+
+| name | M | 1 | String | Image Name |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
+| imagePath | M | 1 | String | Image Local Path from catalog |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
+| imageType | M | 1 | String | Image Type |
+| | | | | |
+| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
+| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
+| visibility | O | 1 | string | Visibility for this image. |
+| | | | | |
+| | | | | public, private, shared, or community |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
+| properties | O | 0..N | List of key-value pairs | Examples:--property vmware\_disktype=streamOptimized --property vmware\_adaptertype="lsiLogic" |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
+
+{
+
+"imageName": "cirros",
+
+"imagePath": "/home/cirros.qcow2",
+
+"imageType": "qcow2"
+
+“containerFormat”:”bare”
+
+}
+
+1. \ **Response**
+
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+===========================+========================================================+
+| id | M | 1 | String | Image UUID in the VIM |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| name | M | 1 | String | Image Name |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| returnCode | M | 1 | Int | 0: Already exist 1: Newly created |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| imageType | M | 1 | String | Image Type |
+| | | | | |
+| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| visibility | O | 1 | string | Visibility for this image. |
+| | | | | |
+| | | | | public, private, shared, or community |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| properties | O | 0..N | List of key-value pairs | |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| vimid | M | 1 | String | vim id |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
+
+*202*: accepted
+
+500: failed
+
+{
+
+ “id”:” 3c9eebdbbfd345658269340b9ea6fb73”,
+
+ "name": "cirros",
+
+ "returnCode": 1
+
+}
+
+1. \ **Delete Image**
+
++---------------------+-----------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageId} |
++---------------------+-----------------------------------------------------------------------------------------+
+| Operation | Delete |
++---------------------+-----------------------------------------------------------------------------------------+
+| Direction | NSLCM->MULTIVIM |
++---------------------+-----------------------------------------------------------------------------------------+
+| Description | Delete Image |
++---------------------+-----------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
+204: no content
+
+1. \ **List Images**
+
++---------------------+-------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===============================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images |
++---------------------+-------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-------------------------------------------------------------------------------+
+| Direction | NSLCM->MULTIVIM |
++---------------------+-------------------------------------------------------------------------------+
+| Description | Query Image list |
++---------------------+-------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/images?{……}
+
++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+==================================================================================================================================================================================================================================================================+
+| 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. |
++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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. |
++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of an image |
++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+1. \ **Response**
+
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| \ **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================================================+=================+===================+===============+========================================================+
+| images | M | 0..N | List | Image List |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| id | M | 1 | String | Image ID |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| size | M | 1 | int | Image Size |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| name | M | 1 | String | Image Name |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| status | M | 1 | String | Image Status |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| imageType | M | 1 | String | Image Type |
+| | | | | |
+| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| visibility | O | 1 | string | Visibility for this image. |
+| | | | | |
+| | | | | public, private, shared, or community |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| vimId | M | 1 | String | vim id |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| 200: ok | | |
+| | | |
+| 500: failed | | |
+| | | |
+| { | | |
+| | | |
+| “vimid”:”” | | |
+| | | |
+| “vimname”:”” | | |
+| | | |
+| "imageList": [ | | |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| { | | |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| "status": "active", | |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| "id": "5e2757c1-f846-4727-915c-9a872553ed75", |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| "size": 862016, | |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| "name": "vim-plus-cgsl40g-z.qcow2" |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| } | | |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| ] | | |
+| | | |
+| } | | |
++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+
+1. \ **Get Image**
+
++---------------------+-----------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageid} |
++---------------------+-----------------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-----------------------------------------------------------------------------------------+
+| Direction | NSLCM->MULTIVIM |
++---------------------+-----------------------------------------------------------------------------------------+
+| Description | Query Image Information |
++---------------------+-----------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+===============+========================================================+
+| id | M | 1 | String | Image ID |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| size | M | 1 | int | Image Size |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| name | M | 1 | String | Image Name |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| status | M | 1 | String | Image Status |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| imageType | M | 1 | String | Image Type |
+| | | | | |
+| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| visibility | O | 1 | string | Visibility for this image. |
+| | | | | |
+| | | | | public, private, shared, or community |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| vimId | M | 1 | String | vim id |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| vimName | M | 1 | string | vim name |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
+
+200: ok
+
+500: failed
+
+{
+
+“vimid”:””
+
+“vimname”:””
+
+"status": "active",
+
+"id": "5e2757c1-f846-4727-915c-9a872553ed75",
+
+"size": 862016,
+
+"name": "vim-plus-cgsl40g-z.qcow2"
+
+a}
+
+1. \ **Network Management**
+
+ 1. \ **Create Network**
+
++---------------------+---------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks |
++---------------------+---------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+---------------------------------------------------------------------------------+
+| Direction | VNFLCM,NSLCM->MULTIVIM |
++---------------------+---------------------------------------------------------------------------------+
+| Description | Create network and subnetwork on the VIM |
++---------------------+---------------------------------------------------------------------------------+
+
+1. \ **Request**
+
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=============================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
+| name | M | 1 | String | Logical network name |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| shared | M | 1 | boolean | Whether to share(1:sharing;0:private) |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| networkType | O | 1 | String | Network type |
+| | | | | |
+| | | | | flat, vlan, vxlan, gre, |
+| | | | | |
+| | | | | portgroup |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| segmentationId | O | 1 | Int | id of paragraph |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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. |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| { | |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| “tenant”: “tenant1”, | |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| “networkName”: “ommnet”, |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| “shared”: 1, | |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| “vlanTransparent”: 1, | |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| “networkType”:”vlan”, | |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| “segmentationId”:202, | |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| “physicalNetwork”:”ctrl”, | |
+| | |
+| “routerExternal”:0 | |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| } | |
++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+1. \ **Response**
+
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
+| status | M | 1 | string | Network status |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| id | M | 1 | string | Network id |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| name | M | 1 | string | Network name |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| segmentationId | O | 1 | int | Segmentation id |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| networkType | O | 1 | string | Network type |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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. |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vimId | M | 1 | String | vim id |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+202: accepted
+
+500: failed
+
+{
+
+“returnCode”:0,
+
+“vimId”:”11111”,
+
+“vimName”:”11111”,
+
+“status”: “ACTIVE”,
+
+“id”: “3c9eebdbbfd345658269340b9ea6fb73”,
+
+“name”: “net1”,
+
+“tenant”: “tenant1”,
+
+“networkName”: “ommnet”,
+
+“shared”: 1,
+
+“vlanTransparent”: 1,
+
+“networkType”:”vlan”,
+
+“segmentationId”:202,
+
+“physicalNetwork ”:”ctrl”,
+
+“routerExternal ”:0
+
+}
+
+1. \ **Delete Network**
+
++---------------------+---------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=============================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} |
++---------------------+---------------------------------------------------------------------------------------------+
+| Operation | Delete |
++---------------------+---------------------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+---------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
+204: no content
+
+1. \ **List Network**
+
++---------------------+---------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks |
++---------------------+---------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+---------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+---------------------------------------------------------------------------------+
+
+1. \ **Query**
+
++-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+=======================================================================================+
+| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of a network |
++-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+
+
+1. \ **Response**
+
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
+| vimId | M | 1 | String | vim id |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| networks | | 0..N | List | Network list |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| status | M | 1 | string | Network status |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| id | M | 1 | string | Network id |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| name | M | 1 | string | Network name |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| segmentationId | O | 1 | int | Segmentation id |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| networkType | O | 1 | string | Network type |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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. |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+200: ok
+
+500: failed
+
+{
+
+“vimId”:”11111”,
+
+“vimName”:”111”,
+
+“networks”:
+
+[{
+
+“status”: “ACTIVE”,
+
+“id”: “3c9eebdbbfd345658269340b9ea6fb73”,
+
+“name”: “net1”,
+
+“tenant”: “tenant1”,
+
+“networkName”: “ommnet”,
+
+“shared”: 1,
+
+“vlanTransparent”: 1,
+
+“networkType”:”vlan”,
+
+“segmentationId”:202,
+
+“physicalNetwork ”:”ctrl”,
+
+“routerExternal ”:0
+
+}]
+
+}
+
+PHYSICALNETWORK 
+
+1. \ **Get Network**
+
++---------------------+---------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=============================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} |
++---------------------+---------------------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+---------------------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+---------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
+| status | M | 1 | string | Network status |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| id | M | 1 | string | Network id |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| name | M | 1 | string | Network name |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| segmentationId | O | 1 | int | Segmentation id |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| networkType | O | 1 | string | Network type |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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. |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vimId | M | 1 | String | vim id |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+200: ok
+
+500: failed
+
+{
+
+ “vimId”:”11111”,
+
+ “vimName”:”11111”,
+
+ “status”: “ACTIVE”,
+
+ “id”: “3c9eebdbbfd345658269340b9ea6fb73”,
+
+ “name”: “net1”,
+
+ “tenant”: “tenant1”,
+
+ “networkName”: “ommnet”,
+
+ “shared”: 1,
+
+ “vlanTransparent”: 1,
+
+ “networkType”:”vlan”,
+
+ “segmentationId”:202,
+
+ “physicalNetwork ”:”ctrl”,
+
+ “routerExternal ”:0
+
+}
+
+1. \ **Subnetwork Management**
+
+ 1. \ **Create Subnets**
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | VNFLCM,NSLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+| Description | Create network and subnetwork on the VIM |
++---------------------+--------------------------------------------------------------------------------+
+
+1. \ **Request**
+
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+========================+======================+
+| networkId | M | 1 | String | Network Id |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| name | M | 1 | String | SubnetName |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| cidr | M | 1 | String | Subnet cidr |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| ipVersion | M | 1 | Int | Ip type |
+| | | | | |
+| | | | | 4,6 |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| enableDhcp | O | 1 | boolean | Whether to allow |
+| | | | | |
+| | | | | 1: yes;0: no |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| gatewayIp | O | 1 | String | Gateway ip |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| dnsNameservers | O | 1..n | List of servers | List of servers |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| hostRoutes | O | 1..n | List of routes | List of routes |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| allocationPools | O | 1..n | list of “allocation” | list of allocation |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| -->allocation | | | | |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| -->start | O | 1 | String | Start ip |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| -->end | O | 1 | String | End ip |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+
+{
+
+“tenant”: “tenant1”,
+
+“network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”,
+
+“subnetName”: “subnet1”,
+
+“cidr”: “10.43.35.0/24”,
+
+“ipVersion”: 4,
+
+“enableDhcp”: 1,
+
+“gatewayIp”: “10.43.35.1”,
+
+“dnsNameservers”: [],
+
+“allocationPools”:[{
+
+“start”: “192.168.199.2”,
+
+“end”: “192.168.199.254”
+
+}],
+
+“hostRoutes”: []
+
+}
+
+1. \ **Response**
+
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+========================+=====================================+
+| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| vimId | M | 1 | String | vim id |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| vimName | O | 1 | string | vim name |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| status | M | 1 | string | subnetwork status |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| id | M | 1 | string | subNetwork id |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| networkId | O | 1 | String | Network Id |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| networkName | O | 1 | String | Network Name |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| name | M | 1 | String | SubnetName |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| cidr | M | 1 | String | Subnet cidr |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| ipVersion | M | 1 | Int | Ip type |
+| | | | | |
+| | | | | 4,6 |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| enableDhcp | O | 1 | boolean | Whether to allow |
+| | | | | |
+| | | | | 1: yes;0: no |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| gatewayIp | O | 1 | String | Gateway ip |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| dnsNameservers | O | 1..n | List of servers | List of servers |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| hostRoutes | O | 1..n | List of routes | List of routes |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| allocationPools | O | 1..n | list of “allocation” | list of allocation |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| -->allocation | | | | |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| -->start | O | 1 | String | Start ip |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+| -->end | O | 1 | String | End ip |
++-------------------+-----------------+-------------------+------------------------+-------------------------------------+
+
+202: accepted
+
+500: failed
+
+{
+
+ “returnCode”:0,
+
+ “vimId”:”11111”,
+
+ “vimName”:”11111”,
+
+“status”:” ACTIVE”
+
+“id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23”
+
+“tenant”: “tenant1”,
+
+“network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”,
+
+“name”: “subnet1”,
+
+“cidr”: “10.43.35.0/24”,
+
+“ipVersion”: 4,
+
+“enableDhcp”: 1,
+
+“gatewayIp”: “10.43.35.1”,
+
+“dnsNameservers”: [],
+
+“allocationPools”:[{
+
+“start”: “192.168.199.2”,
+
+“end”: “192.168.199.254”
+
+}],
+
+“hostRoutes”: []
+
+}
+
+1. \ **Delete Subnets**
+
++---------------------+-------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetId} |
++---------------------+-------------------------------------------------------------------------------------------+
+| Operation | Delete |
++---------------------+-------------------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+-------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
+204: no content
+
+1. \ **List Subnets**
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+1. \ **Query**
+
+msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/subnets?{……}
+
++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+================================================================================================+
+| name | O | 1 | String | Filters fields of the response by a name, as a string. A valid value is the name of a subnet |
++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+
+
+1. \ **Response**
+
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+========================+======================+
+| vimId | M | 1 | String | vim id |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| vimName | O | 1 | string | vim name |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| subnets | M | 0..N | List | Network list |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| status | | 1 | string | subnetwork status |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| id | | 1 | string | subNetwork id |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| networkId | O | 1 | String | Network Id |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| networkName | O | 1 | String | Network Name |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| name | M | 1 | String | SubnetName |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| cidr | M | 1 | String | Subnet cidr |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| ipVersion | M | 1 | Int | Ip type |
+| | | | | |
+| | | | | 4,6 |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| enableDhcp | O | 1 | boolean | Whether to allow |
+| | | | | |
+| | | | | 1: yes;0: no |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| gatewayIp | O | 1 | String | Gateway ip |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| dnsNameservers | O | 1..n | List of servers | List of servers |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| hostRoutes | O | 1..n | List of routes | List of routes |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| allocationPools | O | 1..n | list of “allocation” | list of allocation |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| -->allocation | | | | |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| -->start | O | 1 | String | Start ip |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| -->end | O | 1 | String | End ip |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+
+**200: ok**
+
+**500: failed**
+
+{
+
+“vimId”:”11111”,
+
+“vimName”:”11111”,
+
+"subnets":[
+
+ {
+
+“status”:” ACTIVE”
+
+“id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23”
+
+“tenant”: “tenant1”,
+
+“network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”,
+
+“name”: “subnet1”,
+
+“cidr”: “10.43.35.0/24”,
+
+“ipVersion”: 4,
+
+“enableDhcp”: 1,
+
+“gatewayIp”: “10.43.35.1”,
+
+“dnsNameservers”: [],
+
+“allocationPools”:[{
+
+“start”: “192.168.199.2”,
+
+“end”: “192.168.199.254”
+
+}],
+
+“hostRoutes”: []
+
+ }
+
+]
+
+}
+
+1. \ **Get Subnets**
+
++---------------------+-------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetid} |
++---------------------+-------------------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+-------------------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+-------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+========================+======================+
+| vimId | M | 1 | String | vim id |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| vimName | O | 1 | string | vim name |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| status | | 1 | string | subnetwork status |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| id | | 1 | string | subNetwork id |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| networkId | O | 1 | String | Network Id |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| networkName | O | 1 | String | Network Name |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| name | M | 1 | String | SubnetName |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| cidr | M | 1 | String | Subnet cidr |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| ipVersion | M | 1 | Int | Ip type |
+| | | | | |
+| | | | | 4,6 |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| enableDhcp | O | 1 | boolean | Whether to allow |
+| | | | | |
+| | | | | 1: yes;0: no |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| gatewayIp | O | 1 | String | Gateway ip |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| dnsNameservers | O | 1..n | List of servers | List of servers |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| hostRoutes | O | 1..n | List of routes | List of routes |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| allocationPools | O | 1..n | list of “allocation” | list of allocation |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| -->allocation | | | | |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| -->start | O | 1 | String | Start ip |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+| -->end | O | 1 | String | End ip |
++-------------------+-----------------+-------------------+------------------------+----------------------+
+
+202: accepted
+
+500: failed
+
+{
+
+“status”:” ACTIVE”
+
+“id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23”
+
+“tenant”: “tenant1”,
+
+“network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”,
+
+“name”: “subnet1”,
+
+“cidr”: “10.43.35.0/24”,
+
+“ipVersion”: 4,
+
+“enableDhcp”: 1,
+
+“gatewayIp”: “10.43.35.1”,
+
+“dnsNameservers”: [],
+
+“allocationPools”:[{
+
+“start”: “192.168.199.2”,
+
+“end”: “192.168.199.254”
+
+}],
+
+“hostRoutes”: []
+
+}
+
+1. \ **Virtual Port**
+
+ 1. \ **Create Virtual Port**
+
++---------------------+------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+==============================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports |
++---------------------+------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+------------------------------------------------------------------------------+
+| Direction | VNFLCM->MULTIVIM |
++---------------------+------------------------------------------------------------------------------+
+
+1. \ **Request**
+
++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++========================+=================+===================+===============+=======================================================+
+| networkId | M | 1 | string | Network UUID |
++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
+| subnetId | O | 1 | string | Subnet UUID |
++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
+| name | M | 1 | string | Port name |
++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
+| macAddress | O | 1 | string | Mac address |
++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
+| ip | O | 1 | string | Ip address |
++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
+| vnicType | O | 1 | string | Virtual network card type, |
+| | | | | |
+| | | | | the value of three kinds of normal/direct/macvtap |
++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
+| \ **securityGroups** | **O** | **1** | **string** | **The IDs of security groups applied to the port.** |
++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
+
+1. \ **Response**
+
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++======================+=================+===================+===============+=====================================================+
+| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| vimId | M | 1 | String | vim id |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| status | M | 1 | string | status |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| id | M | 1 | string | Port Id |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| name | M | 1 | string | Port name |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| networkName | M | 1 | string | Network name |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| networkId | M | 1 | string | Network Id |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| subnetName | M | 1 | string | Subnet name |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| subnetId | M | 1 | string | SubnetId |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| macAddress | O | 1 | string | Mac address |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| ip | O | 1 | string | Ip address |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| vnicType | O | 1 | string | Virtual network card type, |
+| | | | | |
+| | | | | the value of three kinds of normal/direct/macvtap |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| **securityGroups** | **O** | **1** | **string** | **List of security group names.** |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+
+1. \ **Delete Virtual Port**
+
++---------------------+---------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=======================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} |
++---------------------+---------------------------------------------------------------------------------------+
+| Operation | DELETTE |
++---------------------+---------------------------------------------------------------------------------------+
+| Direction | VNFLCM->MULTIVIM |
++---------------------+---------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
+204: no content
+
+1. \ **List Virtual Port**
+
++---------------------+-----------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=============================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports |
++---------------------+-----------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-----------------------------------------------------------------------------+
+| Direction | VNFLCM->MULTIVIM |
++---------------------+-----------------------------------------------------------------------------+
+
+1. \ **Query**
+
++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+=================================================+
+| name | M | 1 | string | Port name to filter out list of virtual ports |
++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+
+
+1. \ **Response**
+
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===================+=================+===================+===============+=====================================================+
+| vimId | M | 1 | String | vim id |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| Ports | M | 0..N | List | ports |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| id | M | 1 | string | Port Id |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| name | M | 1 | string | Port name |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| status | M | 1 | string | status |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| **networkName** | O | 1 | string | Network name |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| networkId | M | 1 | string | Network Id |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| subnetName | O | 1 | string | Subnet name |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| subnetId | M | 1 | string | SubnetId |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| macAddress | O | 1 | string | Mac address |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| ip | O | 1 | string | Ip address |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| vnicType | O | 1 | string | Virtual network card type, |
+| | | | | |
+| | | | | the value of three kinds of normal/direct/macvtap |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| securityGroups | O | 1 | string | List of security group names. |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+
+**200: ok**
+
+**500: failed**
+
+{
+
+}
+
+1. \ **Get Virtual Port**
+
++---------------------+---------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=======================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} |
++---------------------+---------------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+---------------------------------------------------------------------------------------+
+| Direction | VNFLCM->MULTIVIM |
++---------------------+---------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++==================+=================+===================+===============+=====================================================+
+| vimId | M | 1 | String | vim id |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| status | M | 1 | string | status |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| id | M | 1 | string | Port Id |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| name | M | 1 | string | Port name |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| networkName | M | 1 | string | Network name |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| networkId | M | 1 | string | Network Id |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| subnetName | M | 1 | string | Subnet name |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| subnetId | M | 1 | string | SubnetId |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| macAddress | O | 1 | string | Mac address |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| ip | O | 1 | string | Ip address |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| vnicType | O | 1 | string | Virtual network card type, |
+| | | | | |
+| | | | | the value of three kinds of normal/direct/macvtap |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| securityGroups | O | 1 | string | **List of security group names.** |
++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+
+**200: ok**
+
+**500: failed**
+
+{
+
+}
+
+1. \ **Server Management**
+
+ 1. \ **Create Server**
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | VNFLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+1. \ **Request**
+
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++======================+=================+===================+=======================================+========================================================================================================================================================================================+
+| name | M | 1 | string | server name |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| boot | M | 1 | String | Start parameters |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| nicArray | O | 1..n | List of nic | List of nic |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| contextArray | O | 1..n | list of context | list of context |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| volumeArray | O | 1..n | list of volume | list of volume |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| availabilityZone | O | 1 | string | Usable field |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| flavorId | M | 1 | String | server Flavor id |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| userdata | O | 1 | string | Configuration information or scripts to use upon launch. Must be Base64 encoded. |
+| | | | | |
+| | | | | 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. |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **securityGroups** | **O** | **1** | **List of names of security group** | **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.** |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+**boot**
+
++-----------------+-----------------+-------------------+---------------+---------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===========================+
+| type | M | 1 | int | Startup mode |
+| | | | | |
+| | | | | 1. boot from the volume |
+| | | | | |
+| | | | | 2. boot from image |
++-----------------+-----------------+-------------------+---------------+---------------------------+
+| volumeId | O | 1 | string | Volume Id(type=1) |
++-----------------+-----------------+-------------------+---------------+---------------------------+
+| imageId | O | 1 | String | ImageId(type=2) |
++-----------------+-----------------+-------------------+---------------+---------------------------+
+
+**contextArray**
+
++-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===========================================================================================================================================================+
+| fileName | M | 1 | String | Injection file name |
++-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 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. ) |
++-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+volumeArray
+
++-----------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===================+
+| volumeId | M | 1 | String | Volume Id |
++-----------------+-----------------+-------------------+---------------+-------------------+
+
+nicArray
+
++-----------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===================+
+| portId | M | 1 | String | Port Id |
++-----------------+-----------------+-------------------+---------------+-------------------+
+
+**metadata**
+
++-----------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===================+
+| keyName | M | 1 | String | Key name |
++-----------------+-----------------+-------------------+---------------+-------------------+
+| value | M | 1 | string | value |
++-----------------+-----------------+-------------------+---------------+-------------------+
+
+{
+
+"tenant": "tenant1",
+
+"name": "vm1",
+
+“availabilityZone”:”az1”,
+
+“flavorName”:”vm\_large”,
+
+"boot": {
+
+"type": 1,
+
+" volumeName": "volume1"
+
+},
+
+“flavorId”:”vm\_large\_134213”
+
+"contextArray": [{
+
+"fileName": "test.yaml",
+
+"fileData": "….”
+
+}],
+
+"volumeArray": [{
+
+"volumeName": "vol1",
+
+}],
+
+“nicArray”:[{
+
+ “portId”:”port\_a”
+
+}]
+
+“metada”: [{
+
+"keyName": "foo",
+
+"value": "foo value”
+
+}],
+
+“userdata”:”abcdedf”
+
+}
+
+1. \ **Response**
+
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++======================+=================+===================+======================================+========================================================================================================================================================================================+
+| vimId | M | 1 | String | vim id |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| returnCode | | 1 | int | 0: Already exist 1: Newly created |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| id | M | 1 | string | server id |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| name | | 1 | string | server name |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| boot | M | 1 | String | Start parameters |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| nicArray | O | 1..n | List of nic | List of nic |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| volumeArray | O | 1..n | list of volume | list of volume |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| availabilityZone | O | 1 | string | Usable field |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| flavorId | M | 1 | String | server Flavor |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **securityGroups** | **O** | **1** | **List of name of security group** | **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.** |
+| | | | | |
+| | | | | **[TBD]** |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
+| | | | | |
+| | | | | [TBD] |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **status** | **M** | **1** | **string** | Server status, 0:INACTIVE,1:ACTIVE,2:ERROR |
++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+202: accepted
+
+500: failed
+
+{
+
+"id": "3c9eebdbbfd345658269340b9ea6fb73",
+
+"name": "vm1",
+
+"returnCode": 1,
+
+}
+
+1. \ **Delete Server**
+
++---------------------+-------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} |
++---------------------+-------------------------------------------------------------------------------------------+
+| Operation | DELETE |
++---------------------+-------------------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+-------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
+204: no content
+
+1. \ **List Server**
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……}
+
++-----------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===================+
+| name | M | 1 | string | server name |
++-----------------+-----------------+-------------------+---------------+-------------------+
+
+1. \ **Response**
+
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++======================+=================+===================+=======================================+========================================================================================================================================================================================+
+| vimId | M | 1 | String | vim id |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| servers | M | 1 | array | server list |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| id | M | 1 | string | server id |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| name | M | 1 | string | server name |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| boot | M | 1 | String | Start parameters |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| nicArray | O | 1..n | List of nic | List of nic |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| volumeArray | O | 1..n | list of volume | list of volume |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| availabilityZone | O | 1 | string | Usable field |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| flavorId | M | 1 | String | server Flavor |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| metada | O | 1 | keypair | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **securityGroups** | **O** | **1** | **List of names of security group** | **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.** |
+| | | | | |
+| | | | | **[TBD]** |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
+| | | | | |
+| | | | | [TBD] |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+200: ok
+
+500: failed
+
+{
+
+}
+
+1. \ **Get Server**
+
++---------------------+-------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} |
++---------------------+-------------------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+-------------------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+-------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++======================+=================+===================+=======================================+========================================================================================================================================================================================+
+| vimId | M | 1 | String | vim id |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| id | M | 1 | string | server id |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| name | M | 1 | string | server name |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| boot | M | 1 | String | Start parameters |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| nicArray | O | 1..n | List of nic | List of nic |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| volumeArray | O | 1..n | list of volume | list of volume |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| availabilityZone | O | 1 | string | Usable field |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| flavorId | M | 1 | String | server Flavor |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **securityGroups** | **O** | **1** | **List of names of security group** | **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.** |
+| | | | | |
+| | | | | **[TBD]** |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
+| | | | | |
+| | | | | [TBD] |
++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+200: ok
+
+500: failed
+
+{
+
+}
+
+1. \ **Flavor Management**
+
+ 1. \ **Create Flavor**
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | VNFLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+1. \ **Request**
+
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============================+==============================================================================================================================+
+| name | M | 1 | string | Flavor Name |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vcpu | M | 1 | int | Virtual CPU number |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| memory | M | 1 | int | Memory size |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| disk | M | 1 | int | The size of the root disk |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| ephemeral | O | 1 | int | The size of the ephemeral disk |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| swap | O | 1 | int | The size of the swap disk |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| 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. |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+
+1. \ **Response**
+
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===========================+==============================================================================================================================+
+| id | M | 1 | string | Flavor id |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| name | M | 1 | string | Flavor name |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vcpu | M | 1 | int | Virtual CPU number |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| memory | M | 1 | int | Memory size |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| disk | M | 1 | int | The size of the root disk |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| ephemeral | M | 1 | int | The size of the ephemeral disk |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| swap | M | 1 | int | The size of the swap disk |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| 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. |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| extraSpecs | O | 0..N | List of Key-value pairs | EPA parameter |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vimId | M | 1 | String | vim id |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+
+1. \ **Delete Flavor**
+
++---------------------+--------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+============================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors /{flavorid} |
++---------------------+--------------------------------------------------------------------------------------------+
+| Operation | DELETE |
++---------------------+--------------------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
+204: no content
+
+1. \ **List Flavor**
+
++---------------------+---------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors |
++---------------------+---------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+---------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+---------------------------------------------------------------------------------+
+
+1. \ **Query**
+
++-----------------+-----------------+-------------------+---------------+----------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+==================================+
+| name | M | 1 | string | Flavor name to filter out list |
++-----------------+-----------------+-------------------+---------------+----------------------------------+
+
+1. \ **Response**
+
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============================+==============================================================================================================================+
+| flavors | M | 0..N | list | Vm list |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| id | M | 1 | string | Flavor id |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| name | M | 1 | string | Flavor Name |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vcpu | M | 1 | int | Virtual CPU number |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| memory | M | 1 | int | Memory size |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| disk | M | 1 | int | The size of the root disk |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| ephemeral | M | 1 | int | The size of the ephemeral disk |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| swap | M | 1 | int | The size of the swap disk |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| 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. |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vimId | M | 1 | String | vim id |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+
+200: ok
+
+500: failed
+
+1. \ **Get Flavor**
+
++---------------------+----------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+==============================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors/{ flavorsid } |
++---------------------+----------------------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+----------------------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+----------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+N/A
+
+1. \ **Response**
+
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============================+==============================================================================================================================+
+| id | M | 1 | string | Flavor id |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| name | M | 1 | string | Flavor Name |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vcpu | M | 1 | int | Virtual CPU number |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| memory | M | 1 | int | Memory size |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| disk | M | 1 | int | The size of the root disk |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| ephemeral | M | 1 | int | The size of the ephemeral disk |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| swap | M | 1 | int | The size of the swap disk |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| 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. |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vimId | M | 1 | String | vim id |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+
+200: ok
+
+500: failed
+
+1. \ **Volume Management**
+
+ 1. \ **Create Volume**
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | NSLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+1. \ **Request**
+
++--------------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++====================+=================+===================+===============+===================+
+| name | M | 1 | string | Volume name |
++--------------------+-----------------+-------------------+---------------+-------------------+
+| volumeSize | M | 1 | int | Volume size |
++--------------------+-----------------+-------------------+---------------+-------------------+
+| imageId | O | 1 | string | Image UUID |
++--------------------+-----------------+-------------------+---------------+-------------------+
+| volumeType | O | 1 | string | Volume type |
++--------------------+-----------------+-------------------+---------------+-------------------+
+| availabilityZone | O | 1 | string | Usable field |
++--------------------+-----------------+-------------------+---------------+-------------------+
+
+ {
+
+ "tenant": "tenant1",
+
+ "volumeName": "volume1",
+
+ "volumeSize": 3,
+
+ "imageName": "cirros.qcow2",
+
+ "volumeType": "volumetype1",
+
+ "availabilityZone": "zone1"
+
+ }
+
+1. \ **Response**
+
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++====================+=================+===================+===============+=====================================+
+| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+| vimId | M | 1 | String | vim id |
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+| vimName | O | 1 | string | vim name |
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+| status | M | 1 | string | Volume status |
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+| id | M | 1 | string | Volume id |
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+| name | M | 1 | string | Volume name |
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+| volumeType | O | 1 | string | Volume type |
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+| availabilityZone | O | 1 | string | Availability Zone |
++--------------------+-----------------+-------------------+---------------+-------------------------------------+
+
+202: accepted
+
+500: failed
+
+ {
+
+ "id": "bc9eebdbbfd356458269340b9ea6fb73",
+
+ "name": "volume1",
+
+ "returnCode": 1,
+
+ }
+
+1. \ **Delete Volume**
+
++---------------------+-------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} |
++---------------------+-------------------------------------------------------------------------------------------+
+| Operation | DELETE |
++---------------------+-------------------------------------------------------------------------------------------+
+| Direction | NSLCM->MULTIVIM |
++---------------------+-------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+ N/A
+
+1. \ **Response**
+
+ 204: no content
+
+1. \ **List Volumes**
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+ msb.onap.org:80/api/multicloud/v0/{cloud
+ owner}\_{region}/volumes?{……}
+
++-----------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===================+
+| name | M | 1 | string | Volume name |
++-----------------+-----------------+-------------------+---------------+-------------------+
+
+1. \ **Response**
+
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++====================+=================+===================+======================+====================================================+
+| vimId | M | 1 | String | vim id |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| volumes | M | 1 | Array | |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| id | M | 1 | string | Volume id |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| name | M | 1 | string | Volume name |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| createTime | O | 1 | string | Create time |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| status | M | 1 | string | Volume status |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| volumeSize | M | 1 | int | Volume size |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| volumeType | M | 1 | string | Volume type |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| availabilityZone | M | 1 | string | Availability Zone |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+
+200: ok
+
+500: failed
+
+ {
+
+ "volumes": [
+
+ {
+
+ "status": "available",
+
+ "name": "test",
+
+ "attachments": [],
+
+ "createTime": "2015-12-02T07:57:23.000000",
+
+ " volumeType ": "ws",
+
+ "id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55",
+
+ "size": 20
+
+ },
+
+ {
+
+ "status": "in-use",
+
+ "name": "wangsong",
+
+ "attachments": [
+
+ {
+
+ "device": "/dev/vdc",
+
+ "serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
+
+ "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
+
+ "hostName": null,
+
+ "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
+
+ }
+
+ ],
+
+ "createTime": "2015-12-02T06:39:40.000000",
+
+ " volumeType ": null,
+
+ "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
+
+ "size": 40
+
+ }
+
+ ]
+
+ }
+
+1. \ **Get Volumes**
+
++---------------------+-------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} |
++---------------------+-------------------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-------------------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+-------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+ N/A
+
+1. \ **Response**
+
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++====================+=================+===================+======================+====================================================+
+| vimId | M | 1 | String | vim id |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| tenantId | M | 1 | String | Tenant UUID |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| id | | 1 | string | Volume id |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| name | | 1 | string | Volume name |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| createTime | | 1 | string | Create time |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| status | | 1 | string | Volume status |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| volumeType | | 1 | list of string | Volume type |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| volumeSize | | 1 | int | Volume size |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| availabilityZone | M | 1 | string | Availability Zone |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+
+**attachment:**
+
++-----------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===================+
+| device | | 1 | string | Device name |
++-----------------+-----------------+-------------------+---------------+-------------------+
+| serverId | | 1 | string | VM id |
++-----------------+-----------------+-------------------+---------------+-------------------+
+| volumeId | | 1 | string | Volume id |
++-----------------+-----------------+-------------------+---------------+-------------------+
+| hostName | | 1 | string | Host name |
++-----------------+-----------------+-------------------+---------------+-------------------+
+| id | | 1 | string | Device id |
++-----------------+-----------------+-------------------+---------------+-------------------+
+
+200: ok
+
+500: failed
+
+ {
+
+ "status": "in-use",
+
+ "name": "wangsong",
+
+ "attachments": [
+
+ {
+
+ "device": "/dev/vdc",
+
+ "serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
+
+ "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
+
+ "hostName": null,
+
+ "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
+
+ }
+
+ ],
+
+ "createTime": "2015-12-02T06:39:40.000000",
+
+ "volumeType ": null,
+
+ "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
+
+ "volumeSize ": 40
+
+ }
+
+1. \ **Tenant Management**
+
+ 1. \ **List tenants**
+
++---------------------+---------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=====================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants |
++---------------------+---------------------------------------------------------------------+
+| Operation | GET |
++---------------------+---------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+---------------------------------------------------------------------+
+
+1. \ **Query**
+
++---------------------+-----------------+-------------------+---------------+-------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=====================+=================+===================+===============+=====================================+
+| name={tenantname} | O | 1 | string | Tenant name to filter output list |
++---------------------+-----------------+-------------------+---------------+-------------------------------------+
+
+1. \ **Response**
+
++-----------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===================+
+| vimId | M | 1 | String | vim id |
++-----------------+-----------------+-------------------+---------------+-------------------+
+| vimName | O | 1 | string | vim name |
++-----------------+-----------------+-------------------+---------------+-------------------+
+| tenants | M | 1 | Array | |
++-----------------+-----------------+-------------------+---------------+-------------------+
+| id | M | 1 | string | tenant UUID |
++-----------------+-----------------+-------------------+---------------+-------------------+
+| name | M | 1 | string | tenant name |
++-----------------+-----------------+-------------------+---------------+-------------------+
+
+200: ok
+
+500: failed
+
+ {
+
+ " tenants ": [
+
+ {
+
+ "id": "1",
+
+ "name": "test\_a"
+
+ }
+
+ ]
+
+ }
+
+1. \ **Limits**
+
+ 1. \ **List Limits of resouces: CPU&Memory, volume,network,etc**
+
++---------------------+-------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===============================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits |
++---------------------+-------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+-------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+2. \ **Response**
+
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++===========================+=================+===================+===============+==================================================================+
+| vimId | M | 1 | String | vim id |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| tenantId | M | 1 | string | Tenant UUID |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxPersonality | O | 1 | int | The number of allowed injected files for each tenant. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxPersonalitySize | O | 1 | int | The number of allowed bytes of content for each injected file. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxServerGroupMembers | O | 1 | int | The number of allowed members for each server group. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxServerGroups | O | 1 | int | The number of allowed server groups for each tenant. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxServerMeta | O | 1 | int | The number of allowed metadata items for each instance. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxTotalCores | O | 1 | int | The number of allowed instance cores for each tenant. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxTotalInstances | O | 1 | int | The number of allowed instances for each tenant. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxTotalKeypairs | O | 1 | int | The number of allowed key pairs for each user. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxTotalRAMSize | O | 1 | int | The amount of allowed instance RAM, in MB, for each tenant. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxTotalVolumeGigabytes | O | 1 | int | The maximum total amount of volumes, in gibibytes (GiB). |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| maxTotalVolumes | O | 1 | int | The maximum number of volumes. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| totalVolumesUsed | O | 1 | int | The total number of volumes used. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| totalGigabytesUsed | O | 1 | int | The total number of gibibytes (GiB) used. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| network | O | 1 | int | The number of networks allowed for each project. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| subnet | O | 1 | int | The number of subnets allowed for each project. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| subnetpool | O | 1 | int | The number of subnet pools allowed for each project. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| security\_group\_rule | O | 1 | int | The number of security group rules allowed for each project. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| security\_group | O | 1 | int | The number of security groups allowed for each project. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| router | O | 1 | int | The number of routers allowed for each project. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+| port | O | 1 | int | The number of ports allowed for each project. |
++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
+
+200: ok
+
+500: failed
+
+ {
+
+ "maxPersonality": 5,
+
+ "maxPersonalitySize": 10240,
+
+ "maxServerMeta": 128,
+
+ "maxTotalCores": 20,
+
+ "maxTotalInstances": 10,
+
+ "maxTotalKeypairs": 100,
+
+ "maxTotalRAMSize": 51200,
+
+ "maxServerGroups": 10,
+
+ "maxServerGroupMembers": 10,
+
+ }
+
+1. \ **Host Management**
+
+ 1. \ **List hosts**
+
++---------------------+------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+==============================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts |
++---------------------+------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+2. \ **Response**
+
++-----------------+-----------------+-------------------+-----------------+-----------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+=================+===================================+
+| vimId | M | 1 | String | vim id |
++-----------------+-----------------+-------------------+-----------------+-----------------------------------+
+| vimName | O | 1 | string | vim name |
++-----------------+-----------------+-------------------+-----------------+-----------------------------------+
+| tenantId | M | 1 | string | Tenant Name |
++-----------------+-----------------+-------------------+-----------------+-----------------------------------+
+| hosts | M | 1 | Array of host | List of host information |
++-----------------+-----------------+-------------------+-----------------+-----------------------------------+
+| service | M | 1 | string | The service running on the host |
++-----------------+-----------------+-------------------+-----------------+-----------------------------------+
+| name | M | 1 | string | host name |
++-----------------+-----------------+-------------------+-----------------+-----------------------------------+
+| zone | O | 1 | string | Available zone for the host |
++-----------------+-----------------+-------------------+-----------------+-----------------------------------+
+
+200: ok
+
+500: failed
+
+ {
+
+ "vimId": "123",
+
+ "vimName": "vimName",
+
+ "tenantId": "tenantId1"
+
+ "hosts": [
+
+ {
+
+ "name": "b6e4adbc193d428ea923899d07fb001e",
+
+ "service": "conductor",
+
+ "zone": "internal",
+
+ "vimId": "123",
+
+ "vimName": "vimName",
+
+ "tenantId": "tenantId1"
+
+ },
+
+ {
+
+ "name": "09c025b0efc64211bd23fc50fa974cdf",
+
+ "service": "compute",
+
+ "zone": "nova"
+
+ "vimId": "123",
+
+ "vimName": "vimName",
+
+ "tenantId": "tenantId1"
+
+ },
+
+ {
+
+ "name": "e73ec0bd35c64de4a1adfa8b8969a1f6",
+
+ "service": "consoleauth",
+
+ "zone": "internal"
+
+ "vimId": "123",
+
+ "vimName": "vimName",
+
+ "tenantId": "tenantId1"
+
+ },
+
+ {
+
+ "host\_name": "396a8a0a234f476eb05fb9fbc5802ba7",
+
+ "service": "network",
+
+ "zone": "internal"
+
+ "vimId": "123",
+
+ "vimName": "vimName",
+
+ "tenantId": "tenantId1"
+
+ },
+
+ {
+
+ "name": "abffda96592c4eacaf4111c28fddee17",
+
+ "service": "scheduler",
+
+ "zone": "internal"
+
+ "vimId": "123",
+
+ "vimName": "vimName",
+
+ "tenantId": "tenantId1"
+
+ }
+
+ ]
+
+ }
+
+1. \ **Get host**
+
++---------------------+-----------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts/{hostname} |
++---------------------+-----------------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-----------------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+-----------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+2. \ **Response**
+
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+=====================+==============================================================+
+| vimId | M | 1 | String | vim id |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| vimName | O | 1 | string | vim name |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| tenantId | M | 1 | string | Tenant Name |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| host | M | 1 | List of resources | Host resource info |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| resource | M | 1..N | Object | Resource description |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| cpu | M | 1 | Int | The cpu info on the host. |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| memory\_mb | M | 1 | int | The memory info on the host (in MB). |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| name | M | 1 | string | host name |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| project | M | 1 | string | Value: total, used\_now, used\_max or specific project\_id |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+| disk\_gb | M | 1 | int | The disk info on the host (in GB). |
++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
+
+200: ok
+
+500: failed
+
+{
+
+"cpu": 1,
+
+"disk\_gb": 1028,
+
+"name": "c1a7de0ac9d94e4baceae031d05caae3",
+
+"memory\_mb": 8192,
+
+"vimId": "123",
+
+"vimName": "vimName",
+
+"tenantId": "tenantId1"
+
+}
+
+ {
+
+ "host": [
+
+ {
+
+ "memory\_mb": 4960,
+
+ "name": " c1a7de0ac9d94e4baceae031d05caae3",
+
+ "disk\_gb": 92,
+
+ "project": "(total)",
+
+ "cpu": 4
+
+ },
+
+ {
+
+ "memory\_mb": 1536,
+
+ "name": " c1a7de0ac9d94e4baceae031d05caae3",
+
+ "disk\_gb": 2,
+
+ "project": "(used\_now)",
+
+ "cpu": 2
+
+ },
+
+ {
+
+ "memory\_mb": 1024,
+
+ "name": " c1a7de0ac9d94e4baceae031d05caae3",
+
+ "disk\_gb": 2,
+
+ "project": "(used\_max)",
+
+ "cpu": 2
+
+ },
+
+ {
+
+ "memory\_mb": 1024,
+
+ "name": " c1a7de0ac9d94e4baceae031d05caae3",
+
+ "disk\_gb": 2,
+
+ "project": "568f7ec425db472ba348251bf1e7eebd",
+
+ "cpu": 2
+
+ }
+
+ ],
+
+ "vimName": "openstack\_newton",
+
+ "vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73",
+
+ "tenantId": "568f7ec425db472ba348251bf1e7eebd"
+
+ }
+
+1. \ **VIM Management**
+
+ 1. \ **Update VIM Info**
+
++---------------------+----------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+==============================================================================================+
+| URI | http(s)://[hostname][:port]/onapapi/ multicloud /v1/{cloud-owner}\_{cloud-region}/registry |
++---------------------+----------------------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+----------------------------------------------------------------------------------------------+
+| Direction | ESR-> MULTICLOUD |
++---------------------+----------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
++-----------------+-----------------+-------------------+---------------+-----------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+=======================+
+| defaultTenant | M | 1 | string | default tenant name |
++-----------------+-----------------+-------------------+---------------+-----------------------+
+
+1. \ **Response**
+
+NA
+
+202: accept
+
+400: failed
+
+1. \ **Unregistry VIM**
+
++---------------------+-----------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===============================================================================================+
+| URI | http(s)://[hostname][:port]/onapapi/multicloud/v1 /{cloud-owner}\_{cloud-region}/unregistry |
++---------------------+-----------------------------------------------------------------------------------------------+
+| Operation | DELETE |
++---------------------+-----------------------------------------------------------------------------------------------+
+| Direction | ESR-> MULTICLOUD |
++---------------------+-----------------------------------------------------------------------------------------------+
+
+1. \ **Request**
+
+NA
+
+1. \ **Response**
+
+NA
+
+204: No content found
+
+400: failed
diff --git a/docs/user/multivimproxy.txt b/docs/MultiCloud-Deployment-Guide.rst
index 5f83de9..77c5a2d 100644
--- a/docs/user/multivimproxy.txt
+++ b/docs/MultiCloud-Deployment-Guide.rst
@@ -1,4 +1,9 @@
-1 prepare docker environment
+================================
+ONAP MultiCloud Deployment Guide
+================================
+
+prepare docker environment
+~~~~~~~~~~~~~~~~~~~~~~~~~~
Please refer to onap deployment in kubernetes website(https://wiki.onap.org/display/DW/ONAP+on+Kubernetes)
to setup kubernets cluster.
@@ -22,7 +27,8 @@ kube-public Active 10d
kube-system Active 10d
onap Active 9d
-2 startup containers
+startup containers
+~~~~~~~~~~~~~~~~~~
first run kube2msb container.
@@ -101,16 +107,18 @@ No Service Name Version NameSpace Url Protocol Visualrange Control
1 multicloud v0 /api/multicloud/v0 REST InSystem
2 multicloud-vio v0 /api/multicloud-vio/v0 REST InSystem
-
Then register vio information into AAI service with region name "vmware" and region id "vio"
-# cur -X PUT -H "Authorization: Basic QUFJOkFBSQ==" - "Content-Type: application/json" -H "X-TransactionId:get_aai_subcr"
+
+.. code-block:: console
+
+# curl -X PUT -H "Authorization: Basic QUFJOkFBSQ==" -H "Content-Type: application/json" -H "X-TransactionId:get_aai_subcr"
https://aai_resource_docker_host_ip:30233/aai/v01/cloud-infrastructure/cloud-regions/cloud-region/vmware/vio
-d "{
- "cloud-type": "vmware",
- "cloud-region-version": "4.0",
- "esr-system-info-list": {
- "esr-system-info": [
- {
+ "cloud-type": "vmware",
+ "cloud-region-version": "4.0",
+ "esr-system-info-list": {
+ "esr-system-info": [
+ {
"esr-system-info-id": "123-456",
"system-name": "vim-vio",
"system-type": "vim",
@@ -121,31 +129,32 @@ https://aai_resource_docker_host_ip:30233/aai/v01/cloud-infrastructure/cloud-reg
"cloud-domain": "default",
"default-tenant": "admin",
"ssl-insecure": false
- }
- ]
- }
+ }
+ ]
+ }
}"
-
-
-
-3 Test Examples
+Test Examples
+~~~~~~~~~~~~~
The env HOST_IP is msb-iag service cluster-ip value is "10.43.188.78"(see it above).
The vimid is "vmware_vio" the registered name in aai.
-2.1 Get auth token
+Get auth token
+--------------
# send request to multicloud-framework(broker) service to get token
+.. code-block:: console
+
curl -X POST -d @test.json -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud/v0/<vimid>/identity/auth/tokens
-test.json content example:
+.. code-block:: console
+test.json content example:
{
- "auth":
- {
+ "auth": sudo pip install virtualenv{
"scope": {"project": {"id": “<project-id>”}},
"identity":
{
@@ -170,77 +179,91 @@ Nova endpoint:
http://$HOST_IP/api/multicloud-vio/v0/<vimid>/compute/<user-tenantid>
-2.2 List projects
+List projects
+-------------
Use identity’s endpoint: http://$HOST_IP/api/multicloud-vio/v0/<vimid>/identity/
curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/identity/projects
-2.3 Get os Hypervisor
+Get os Hypervisor
+-----------------
Use nova’s endpoint: http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<user-tenantid>
-curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/os-hypervisors/detail
+curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/os-hypervisors/detail
-2.4 List instance of user’s project
+List instance of user’s project
+--------------------------------
-curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers
+curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers
-2.5 Show instance detail
+Show instance detail
+--------------------
you need to input <server-id> in url path.
-curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/vimid/nova/tenantid/servers/<server-id>
+.. code-block:: console
+ $ curl -X GET -H 'X-Auth-Token:<token>' http://$HOST_IP/api/multicloud-vio/v0/vimid/nova/tenantid/servers/<server-id>
-2.6 Shutdown instance
+
+Shutdown instance
+-----------------
you need to input <server-id> in url path
-curl -X POST -d '{"os-stop":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+.. code-block:: console
+
+ $ curl -X POST -d '{"os-stop":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
-2.7 Start instance
+Start instance
+--------------
you need to input <server-id> in url path
-curl -X POST -d '{"os-start":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+curl -X POST -d '{"os-start":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
-2.8 Suspend instance
+Suspend instance
+----------------
you need to input <server-id> in url path
-curl -X POST -d '{"suspend":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
+curl -X POST -d '{"suspend":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
-2.9 Resume instance
+Resume instance
+----------------
you need to input <server-id> in url path
curl -X POST -d '{"resume":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
-2.10 Pause instance
+Pause instance
+--------------
you need to input <server-id> in url path
-curl -X POST -d '{"pause":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
-
+curl -X POST -d '{"pause":null}' -H 'X-Auth-Token:<token>' -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
-2.11 Unpasue instance
+Unpasue instance
+----------------
you need to input <server-id> in url path
curl -X POST -d '{"unpause":null}' -H 'X-Auth-Token:<token> -H 'Content-Type:application/json' http://$HOST_IP/api/multicloud-vio/v0/<vimid>/nova/<tenantid>/servers/<server-id>/action
-2.12 Reboot instance
+Reboot instance
+---------------
you need to input <server-id> in url path
diff --git a/docs/index.rst b/docs/index.rst
index 1dd525d..5de5f3e 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -1,8 +1,9 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-APPC Documentation Repository
------------------------------
+MultiCloud Documentation Repository
+-----------------------------------
.. toctree::
:maxdepth: 2
- user
+ MultiCloud-Deployment-Guide
+ MultiCloud-API-Specification-V1
diff --git a/docs/user/test.json b/docs/user/test.json
deleted file mode 100644
index cd19378..0000000
--- a/docs/user/test.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "auth":
- {
- "scope": {"project": {"id": "622b0f38ec9e4ce1ab5c3aad7765d045"}},
- "identity":
- {
- "password": {"user": {"domain": {"name": "Default"}, "password": "vmware", "name": "admin"}}, "methods": ["password"]
- }
- }
-}