summaryrefslogtreecommitdiffstats
path: root/docs/MultiCloud-APIv0-Specification.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/MultiCloud-APIv0-Specification.rst')
-rw-r--r--docs/MultiCloud-APIv0-Specification.rst2690
1 files changed, 2690 insertions, 0 deletions
diff --git a/docs/MultiCloud-APIv0-Specification.rst b/docs/MultiCloud-APIv0-Specification.rst
new file mode 100644
index 0000000..b89a51e
--- /dev/null
+++ b/docs/MultiCloud-APIv0-Specification.rst
@@ -0,0 +1,2690 @@
+..
+ This work is licensed under a Creative Commons Attribution 4.0
+ International License.
+
+================================
+MultiCloud API v0 Specification
+================================
+
+API Catalog
+===========
+
+1. **Scope**
+^^^^^^^^^^^^
+
+The scope of the present document is to describe the VIM Driver API
+specification.
+
+2. **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 |
++--------------------+-------------------------------------------------------------+
+
+3. **Image Management**
+^^^^^^^^^^^^^^^^^^^^^^^
+
+3.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 |
++---------------------+-------------------------------------------------------------------------------+
+
+3.1.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"
+
+ }
+
+3.1.2. **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
+ }
+
+3.2. **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 |
++---------------------+-----------------------------------------------------------------------------------------+
+
+3.2.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+3.2.2. **Response**
+>>>>>>>>>>>>>>>>>>>
+
+204: no content
+
+3.3. **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 |
++---------------------+-------------------------------------------------------------------------------+
+
+3.3.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **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 |
++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+3.3.2. **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"
+ }]
+ }
+
+
+3.4. **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 |
++---------------------+-----------------------------------------------------------------------------------------+
+
+3.4.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+3.4.2. **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"
+ }
+
+4. **Network Management**
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+4.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 |
++---------------------+---------------------------------------------------------------------------------+
+
+4.1.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
+ }
+
+4.1.2. **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
+ }
+
+4.2. **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 |
++---------------------+---------------------------------------------------------------------------------------------+
+
+4.2.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+4.2.2. **Response**
+>>>>>>>>>>>>>>>>>>>
+
+204: no content
+
+4.3. **List Network**
+---------------------
+
++---------------------+---------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks |
++---------------------+---------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+---------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+---------------------------------------------------------------------------------+
+
+4.3.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 |
++-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+
+
+4.3.2. **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
+
+ }]
+
+ }
+
+4.4. **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 |
++---------------------+---------------------------------------------------------------------------------------------+
+
+4.4.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+4.4.2. **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
+
+ }
+
+5. **Subnetwork Management**
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+5.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 |
++---------------------+--------------------------------------------------------------------------------+
+
+5.1.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": []
+
+ }
+
+5.1.2. **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": []
+
+ }
+
+5.2. **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 |
++---------------------+-------------------------------------------------------------------------------------------+
+
+5.2.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+5.2.2. **Response**
+>>>>>>>>>>>>>>>>>>>
+
+204: no content
+
+5.3. **List Subnets**
+---------------------
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+5.3.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 |
++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+
+
+5.3.2. **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": []
+
+ }
+
+ ]
+
+ }
+
+5.4. **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 |
++---------------------+-------------------------------------------------------------------------------------------+
+
+5.4.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+5.4.2. **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": []
+
+ }
+
+6. **Virtual Port**
+^^^^^^^^^^^^^^^^^^^
+
+6.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 |
++---------------------+------------------------------------------------------------------------------+
+
+6.1.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.** |
++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
+
+6.1.2. **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.** |
++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+
+6.2. **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 |
++---------------------+---------------------------------------------------------------------------------------+
+
+6.2.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+6.2.2. **Response**
+>>>>>>>>>>>>>>>>>>>
+
+204: no content
+
+6.3. **List Virtual Port**
+--------------------------
+
++---------------------+-----------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=============================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports |
++---------------------+-----------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-----------------------------------------------------------------------------+
+| Direction | VNFLCM->MULTIVIM |
++---------------------+-----------------------------------------------------------------------------+
+
+6.3.1. **Query**
+>>>>>>>>>>>>>>>>
+
++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+=================================================+
+| name | M | 1 | string | Port name to filter out list of virtual ports |
++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+
+
+6.3.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 |
++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
+| 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**
+
+
+6.4. **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 |
++---------------------+---------------------------------------------------------------------------------------+
+
+6.4.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+6.4.2. **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**
+
+
+7. **Server Management**
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+7.1. **Create Server**
+----------------------
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | VNFLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+7.1.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"
+
+ }
+
+7.1.2. **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,
+
+ }
+
+7.2. **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 |
++---------------------+-------------------------------------------------------------------------------------------+
+
+7.2.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+7.2.2. **Response**
+>>>>>>>>>>>>>>>>>>>
+
+204: no content
+
+7.3. **List Server**
+--------------------
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+7.3.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……}
+
++-----------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===================+
+| name | M | 1 | string | server name |
++-----------------+-----------------+-------------------+---------------+-------------------+
+
+7.3.2. **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
+
+7.4. **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 |
++---------------------+-------------------------------------------------------------------------------------------+
+
+7.4.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+7.4.2. **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
+
+8. **Flavor Management**
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+8.1. **Create Flavor**
+----------------------
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | VNFLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+8.1.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 |
++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
+
+8.1.2. **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 |
++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
+
+8.2. **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 |
++---------------------+--------------------------------------------------------------------------------------------+
+
+8.2.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+8.2.2. **Response**
+>>>>>>>>>>>>>>>>>>>
+
+204: no content
+
+8.3. **List Flavor**
+--------------------
+
++---------------------+---------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors |
++---------------------+---------------------------------------------------------------------------------+
+| Operation | get |
++---------------------+---------------------------------------------------------------------------------+
+| Direction | NFLCM,NSLCM->MULTIVIM |
++---------------------+---------------------------------------------------------------------------------+
+
+8.3.1. **Query**
+>>>>>>>>>>>>>>>>
+
++-----------------+-----------------+-------------------+---------------+----------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+==================================+
+| name | M | 1 | string | Flavor name to filter out list |
++-----------------+-----------------+-------------------+---------------+----------------------------------+
+
+8.3.2. **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
+
+8.4. **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 |
++---------------------+----------------------------------------------------------------------------------------------+
+
+8.4.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+N/A
+
+8.4.2. **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
+
+9. **Volume Management**
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+9.1. **Create Volume**
+----------------------
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | NSLCM->MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+9.1.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"
+
+ }
+
+9.1.2. **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,
+
+ }
+
+9.2. **Delete Volume**
+----------------------
+
++---------------------+-------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} |
++---------------------+-------------------------------------------------------------------------------------------+
+| Operation | DELETE |
++---------------------+-------------------------------------------------------------------------------------------+
+| Direction | NSLCM->MULTIVIM |
++---------------------+-------------------------------------------------------------------------------------------+
+
+9.2.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+ N/A
+
+9.2.2. **Response**
+>>>>>>>>>>>>>>>>>>>
+
+ 204: no content
+
+9.3. **List Volumes**
+---------------------
+
++---------------------+--------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes |
++---------------------+--------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+--------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+--------------------------------------------------------------------------------+
+
+9.3.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+ msb.onap.org:80/api/multicloud/v0/{cloud
+ owner}\_{region}/volumes?{……}
+
++-----------------+-----------------+-------------------+---------------+-------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+===================+
+| name | M | 1 | string | Volume name |
++-----------------+-----------------+-------------------+---------------+-------------------+
+
+9.3.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 |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| 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
+
+ }
+
+ ]
+
+ }
+
+9.4. **Get Volumes**
+--------------------
+
++---------------------+-------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} |
++---------------------+-------------------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-------------------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+-------------------------------------------------------------------------------------------+
+
+9.4.1. **Request**
+>>>>>>>>>>>>>>>>>>
+
+ N/A
+
+9.4.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 |
++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
+| 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
+
+ }
+
+10. **Tenant Management**
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+10.1. **List tenants**
+----------------------
+
++---------------------+---------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=====================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants |
++---------------------+---------------------------------------------------------------------+
+| Operation | GET |
++---------------------+---------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+---------------------------------------------------------------------+
+
+10.1.1. **Query**
+>>>>>>>>>>>>>>>>>
+
++---------------------+-----------------+-------------------+---------------+-------------------------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=====================+=================+===================+===============+=====================================+
+| name={tenantname} | O | 1 | string | Tenant name to filter output list |
++---------------------+-----------------+-------------------+---------------+-------------------------------------+
+
+10.1.2. **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"
+
+ }
+
+ ]
+
+ }
+
+11. **Limits**
+^^^^^^^^^^^^^^
+
+11.1. **List Limits of resouces**
+---------------------------------
+
++---------------------+-------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===============================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits |
++---------------------+-------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+-------------------------------------------------------------------------------+
+
+11.1.1. **Request**
+>>>>>>>>>>>>>>>>>>>
+
+N/A
+
+11.1.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,
+
+ }
+
+12. **Host Management**
+^^^^^^^^^^^^^^^^^^^^^^^
+
+12.1. **List hosts**
+--------------------
+
++---------------------+------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+==============================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts |
++---------------------+------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+------------------------------------------------------------------------------+
+
+12.1.1. **Request**
+>>>>>>>>>>>>>>>>>>>
+
+N/A
+
+12.1.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"
+
+ }
+
+ ]
+
+ }
+
+12.2. **Get host**
+------------------
+
++---------------------+-----------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+=========================================================================================+
+| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/hosts/{hostname} |
++---------------------+-----------------------------------------------------------------------------------------+
+| Operation | GET |
++---------------------+-----------------------------------------------------------------------------------------+
+| Direction | NSLCM-> MULTIVIM |
++---------------------+-----------------------------------------------------------------------------------------+
+
+12.2.1. **Request**
+>>>>>>>>>>>>>>>>>>>
+
+12.2.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"
+
+ }
+
+13. **VIM Management**
+^^^^^^^^^^^^^^^^^^^^^^
+
+13.1. **Update VIM Info**
+-------------------------
+
++---------------------+----------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+==============================================================================================+
+| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region}/registry |
++---------------------+----------------------------------------------------------------------------------------------+
+| Operation | POST |
++---------------------+----------------------------------------------------------------------------------------------+
+| Direction | ESR-> MULTICLOUD |
++---------------------+----------------------------------------------------------------------------------------------+
+
+13.1.1. **Request**
+>>>>>>>>>>>>>>>>>>>
+
++-----------------+-----------------+-------------------+---------------+-----------------------+
+| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
++=================+=================+===================+===============+=======================+
+| defaultTenant | M | 1 | string | default tenant name |
++-----------------+-----------------+-------------------+---------------+-----------------------+
+
+13.1.2. **Response**
+>>>>>>>>>>>>>>>>>>>>
+
+NA
+
+202: accept
+
+400: failed
+
+13.2. **Unregistry VIM**
+------------------------
+
++---------------------+-----------------------------------------------------------------------------------------------+
+| **IF Definition** | **Description** |
++=====================+===============================================================================================+
+| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region} |
++---------------------+-----------------------------------------------------------------------------------------------+
+| Operation | DELETE |
++---------------------+-----------------------------------------------------------------------------------------------+
+| Direction | ESR-> MULTICLOUD |
++---------------------+-----------------------------------------------------------------------------------------------+
+
+13.2.1. **Request**
+>>>>>>>>>>>>>>>>>>>
+
+NA
+
+13.2.2. **Response**
+>>>>>>>>>>>>>>>>>>>>
+
+NA
+
+204: No content found
+
+400: failed