blob: cb3b32c5474b1a3952b88e5424b9416fce185b89 [file] [log] [blame]
================================
MultiCloud API Specification V1
================================
API Catalog
===========
`1. Scope 5 <#_Toc490851650>`__
`2. Terms, Definitions and Abbreviations 5 <#_Toc490851651>`__
`3. Image Management 5 <#_Toc490851652>`__
`3.1 Create Image 5 <#_Toc490851653>`__
`3.1.1 Request 5 <#_Toc490851654>`__
`3.1.2 Response 6 <#_Toc490851655>`__
`3.2 Delete Image 7 <#_Toc490851656>`__
`3.2.1 Request 7 <#_Toc490851657>`__
`3.2.2 Response 7 <#_Toc490851658>`__
`3.3 List Images 7 <#_Toc490851659>`__
`3.3.1 Request 7 <#_Toc490851660>`__
`3.3.2 Response 8 <#_Toc490851661>`__
`3.4 Get Image 9 <#_Toc490851662>`__
`3.4.1 Request 9 <#_Toc490851663>`__
`3.4.2 Response 9 <#_Toc490851664>`__
`4. Network Management 10 <#_Toc490851665>`__
`4.1 Create Network 10 <#_Toc490851666>`__
`4.1.1 Request 10 <#_Toc490851667>`__
`4.1.2 Response 11 <#_Toc490851668>`__
`4.2 Delete Network 12 <#_Toc490851669>`__
`4.2.1 Request 12 <#_Toc490851670>`__
`4.2.2 Response 12 <#_Toc490851671>`__
`4.3 List Network 12 <#_Toc490851672>`__
`4.3.1 Query 12 <#_Toc490851673>`__
`4.3.2 Response 13 <#_Toc490851674>`__
`4.4 Get Network 14 <#_Toc490851675>`__
`4.4.1 Request 14 <#_Toc490851676>`__
`4.4.2 Response 14 <#_Toc490851677>`__
`5. Subnetwork Management 16 <#_Toc490851678>`__
`5.1 Create Subnets 16 <#_Toc490851679>`__
`5.1.1 Request 16 <#_Toc490851680>`__
`5.1.2 Response 17 <#_Toc490851681>`__
`5.2 Delete Subnets 18 <#_Toc490851682>`__
`5.2.1 Request 18 <#_Toc490851683>`__
`5.2.2 Response 18 <#_Toc490851684>`__
`5.3 List Subnets 18 <#_Toc490851685>`__
`5.3.1 Query 18 <#_Toc490851686>`__
`5.3.2 Response 19 <#_Toc490851687>`__
`5.4 Get Subnets 20 <#_Toc490851688>`__
`5.4.1 Request 20 <#_Toc490851689>`__
`5.4.2 Response 20 <#_Toc490851690>`__
`6. Virtual Port 21 <#_Toc490851691>`__
`6.1 Create Virtual Port 21 <#_Toc490851692>`__
`6.1.1 Request 21 <#_Toc490851693>`__
`6.1.2 Response 22 <#_Toc490851694>`__
`6.2 Delete Virtual Port 22 <#_Toc490851695>`__
`6.2.1 Request 23 <#_Toc490851696>`__
`6.2.2 Response 23 <#_Toc490851697>`__
`6.3 List Virtual Port 23 <#_Toc490851698>`__
`6.3.1 Query 23 <#_Toc490851699>`__
`6.3.2 Response 23 <#_Toc490851700>`__
`6.4 Get Virtual Port 24 <#_Toc490851701>`__
`6.4.1 Request 24 <#_Toc490851702>`__
`6.4.2 Response 24 <#_Toc490851703>`__
`7. Server Management 25 <#_Toc490851704>`__
`7.1 Create Server 25 <#_Toc490851705>`__
`7.1.1 Request 25 <#_Toc490851706>`__
`7.1.2 Response 27 <#_Toc490851707>`__
`7.2 Delete Server 28 <#_Toc490851708>`__
`7.2.1 Request 28 <#_Toc490851709>`__
`7.2.2 Response 28 <#_Toc490851710>`__
`7.3 List Server 28 <#_Toc490851711>`__
`7.3.1 Request 28 <#_Toc490851712>`__
`7.3.2 Response 29 <#_Toc490851713>`__
`7.4 Get Server 29 <#_Toc490851714>`__
`7.4.1 Request 30 <#_Toc490851715>`__
`7.4.2 Response 30 <#_Toc490851716>`__
`8. Flavor Management 30 <#_Toc490851717>`__
`8.1 Create Flavor 31 <#_Toc490851718>`__
`8.1.1 Request 31 <#_Toc490851719>`__
`8.1.2 Response 31 <#_Toc490851720>`__
`8.2 Delete Flavor 32 <#_Toc490851721>`__
`8.2.1 Request 32 <#_Toc490851722>`__
`8.2.2 Response 32 <#_Toc490851723>`__
`8.3 List Flavor 32 <#_Toc490851724>`__
`8.3.1 Query 32 <#_Toc490851725>`__
`8.3.2 Response 32 <#_Toc490851726>`__
`8.4 Get Flavor 33 <#_Toc490851727>`__
`8.4.1 Request 33 <#_Toc490851728>`__
`8.4.2 Response 33 <#_Toc490851729>`__
`9. Volume Management 34 <#_Toc490851730>`__
`9.1 Create Volume 34 <#_Toc490851731>`__
`9.1.1 Request 34 <#_Toc490851732>`__
`9.1.2 Response 34 <#_Toc490851733>`__
`9.2 Delete Volume 35 <#_Toc490851734>`__
`9.2.1 Request 35 <#_Toc490851735>`__
`9.2.2 Response 35 <#_Toc490851736>`__
`9.3 List Volumes 35 <#_Toc490851737>`__
`9.3.1 Request 35 <#_Toc490851738>`__
`9.3.2 Response 36 <#_Toc490851739>`__
`9.4 Get Volumes 37 <#_Toc490851740>`__
`9.4.1 Request 37 <#_Toc490851741>`__
`9.4.2 Response 37 <#_Toc490851742>`__
`10. Tenant Management 38 <#_Toc490851743>`__
`10.1 List tenants 38 <#_Toc490851744>`__
`10.1.1 Query 38 <#_Toc490851745>`__
`10.1.2 Response 38 <#_Toc490851746>`__
`11. Limits 39 <#_Toc490851747>`__
`11.1 List Limits of resouces: CPU&Memory, volume,network,etc
39 <#_Toc490851748>`__
`11.1.1 Request 39 <#_Toc490851749>`__
`11.1.2 Response 39 <#_Toc490851750>`__
`12. Host Management 41 <#_Toc490851751>`__
`12.1 List hosts 41 <#_Toc490851752>`__
`12.1.1 Request 41 <#_Toc490851753>`__
`12.1.2 Response 41 <#_Toc490851754>`__
`12.2 Get host 43 <#_Toc490851755>`__
`12.2.1 Request 43 <#_Toc490851756>`__
`12.2.2 Response 43 <#_Toc490851757>`__
`13. VIM Management 45 <#_Toc490851758>`__
`13.1 Update VIM Info 45 <#_Toc490851759>`__
`13.1.1 Request 45 <#_Toc490851760>`__
`13.1.2 Response 45 <#_Toc490851761>`__
`13.2 Unregistry VIM 45 <#_Toc490851762>`__
`13.2.1 Request 45 <#_Toc490851763>`__
`13.2.2 Response 46 <#_Toc490851764>`__
*
*
1. \ **Scope**
The scope of the present document is to describe the VIM Driver API
specification.
1. \ **Terms, Definitions and Abbreviations**
For the purposes of the present document, the following abbreviations
apply:
+--------------------+-------------------------------------------------------------+
| **Abbreviation** | |
+====================+=============================================================+
| NFVO | Network Functions Virtualization Orchestrator |
+--------------------+-------------------------------------------------------------+
| VNFM | Virtual Network Function Management |
+--------------------+-------------------------------------------------------------+
| VIM | Virtualized Infrastructure Manager |
+--------------------+-------------------------------------------------------------+
| MultiVIM | MultVIM driver services for OPEN-O to drive VIM instances |
+--------------------+-------------------------------------------------------------+
Table 2-1 abbreviations
1. \ **Image Management**
1. \ **Create Image**
+---------------------+-------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images |
+---------------------+-------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+-------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------+
| Description | Create Image and Upload the image file to the VIM |
+---------------------+-------------------------------------------------------------------------------+
1. \ **Request**
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===========================+==================================================================================================+
| name | M | 1 | String | Image Name |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| imagePath | M | 1 | String | Image Local Path from catalog |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| imageType | M | 1 | String | Image Type |
| | | | | |
| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| containerFormat | M | 1 | string | amiariakibareovfova,  docker |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| visibility | O | 1 | string | Visibility for this image. |
| | | | | |
| | | | | public, private, shared, or community |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| properties | O | 0..N | List of key-value pairs | Examples:--property vmware\_disktype=streamOptimized --property vmware\_adaptertype="lsiLogic" |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
{
"imageName": "cirros",
"imagePath": "/home/cirros.qcow2",
"imageType": "qcow2"
containerFormat”:”bare
}
1. \ **Response**
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===========================+========================================================+
| id | M | 1 | String | Image UUID in the VIM |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| name | M | 1 | String | Image Name |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| returnCode | M | 1 | Int | 0: Already exist 1: Newly created |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| imageType | M | 1 | String | Image Type |
| | | | | |
| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| containerFormat | M | 1 | string | amiariakibareovfova,  docker |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| visibility | O | 1 | string | Visibility for this image. |
| | | | | |
| | | | | public, private, shared, or community |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| properties | O | 0..N | List of key-value pairs | |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| vimid | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
*202*: accepted
500: failed
{
id”:” 3c9eebdbbfd345658269340b9ea6fb73”,
"name": "cirros",
"returnCode": 1
}
1. \ **Delete Image**
+---------------------+-----------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageId} |
+---------------------+-----------------------------------------------------------------------------------------+
| Operation | Delete |
+---------------------+-----------------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-----------------------------------------------------------------------------------------+
| Description | Delete Image |
+---------------------+-----------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
204: no content
1. \ **List Images**
+---------------------+-------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images |
+---------------------+-------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------+
| Description | Query Image list |
+---------------------+-------------------------------------------------------------------------------+
1. \ **Request**
msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/images?{……}
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+==================================================================================================================================================================================================================================================================+
| limit | O | 1 | integer | Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. |
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| marker | O | 1 | string | The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. |
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of an image |
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1. \ **Response**
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| \ **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================================================+=================+===================+===============+========================================================+
| images | M | 0..N | List | Image List |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| id | M | 1 | String | Image ID |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| size | M | 1 | int | Image Size |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| name | M | 1 | String | Image Name |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| status | M | 1 | String | Image Status |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| imageType | M | 1 | String | Image Type |
| | | | | |
| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| containerFormat | M | 1 | string | amiariakibareovfova,  docker |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| visibility | O | 1 | string | Visibility for this image. |
| | | | | |
| | | | | public, private, shared, or community |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| 200: ok | | | | |
| | | | | |
| 500: failed | | | | |
| | | | | |
| { | | | | |
| | | | | |
| vimid”:”” | | | | |
| | | | | |
| vimname”:”” | | | | |
| | | | | |
| "imageList": [ | | | | |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| { | | | | |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| "status": "active", | | | | |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| "id": "5e2757c1-f846-4727-915c-9a872553ed75", | | | | |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| "size": 862016, | | | | |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| "name": "vim-plus-cgsl40g-z.qcow2" | | | | |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| } | | | | |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| ] | | | | |
| | | | | |
| } | | | | |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
1. \ **Get Image**
+---------------------+-----------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageid} |
+---------------------+-----------------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-----------------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-----------------------------------------------------------------------------------------+
| Description | Query Image Information |
+---------------------+-----------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+========================================================+
| id | M | 1 | String | Image ID |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| size | M | 1 | int | Image Size |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| name | M | 1 | String | Image Name |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| status | M | 1 | String | Image Status |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| imageType | M | 1 | String | Image Type |
| | | | | |
| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| containerFormat | M | 1 | string | amiariakibareovfova,  docker |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| visibility | O | 1 | string | Visibility for this image. |
| | | | | |
| | | | | public, private, shared, or community |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| vimName | M | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
200: ok
500: failed
{
vimid”:””
vimname”:””
"status": "active",
"id": "5e2757c1-f846-4727-915c-9a872553ed75",
"size": 862016,
"name": "vim-plus-cgsl40g-z.qcow2"
a}
1. \ **Network Management**
1. \ **Create Network**
+---------------------+---------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks |
+---------------------+---------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+---------------------------------------------------------------------------------+
| Direction | VNFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------+
| Description | Create network and subnetwork on the VIM |
+---------------------+---------------------------------------------------------------------------------+
1. \ **Request**
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=============================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
| name | M | 1 | String | Logical network name |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| shared | M | 1 | boolean | Whether to share(1:sharing;0:private) |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkType | O | 1 | String | Network type |
| | | | | |
| | | | | flat, vlan, vxlan, gre, |
| | | | | |
| | | | | portgroup |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| segmentationId | O | 1 | Int | id of paragraph |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| { | | | | |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenant”: tenant1”, | | | | |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkName”: ommnet”, | | | | |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| shared”: 1, | | | | |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vlanTransparent”: 1, | | | | |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkType”:”vlan”, | | | | |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| segmentationId”:202, | | | | |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| physicalNetwork”:”ctrl”, | | | | |
| | | | | |
| routerExternal”:0 | | | | |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| } | | | | |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1. \ **Response**
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
| status | M | 1 | string | Network status |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | Network id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Network name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| segmentationId | O | 1 | int | Segmentation id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkType | O | 1 | string | Network type |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
202: accepted
500: failed
{
returnCode”:0,
vimId”:”11111”,
vimName”:”11111”,
status”: ACTIVE”,
id”: 3c9eebdbbfd345658269340b9ea6fb73”,
name”: net1”,
tenant”: tenant1”,
networkName”: ommnet”,
shared”: 1,
vlanTransparent”: 1,
networkType”:”vlan”,
segmentationId”:202,
physicalNetwork ”:”ctrl”,
routerExternal ”:0
}
1. \ **Delete Network**
+---------------------+---------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=============================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} |
+---------------------+---------------------------------------------------------------------------------------------+
| Operation | Delete |
+---------------------+---------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
204: no content
1. \ **List Network**
+---------------------+---------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks |
+---------------------+---------------------------------------------------------------------------------+
| Operation | get |
+---------------------+---------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------+
1. \ **Query**
+-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+=======================================================================================+
| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of a network |
+-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+
1. \ **Response**
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networks | | 0..N | List | Network list |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| status | M | 1 | string | Network status |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | Network id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Network name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| segmentationId | O | 1 | int | Segmentation id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkType | O | 1 | string | Network type |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
{
vimId”:”11111”,
vimName”:”111”,
networks”:
[{
status”: ACTIVE”,
id”: 3c9eebdbbfd345658269340b9ea6fb73”,
name”: net1”,
tenant”: tenant1”,
networkName”: ommnet”,
shared”: 1,
vlanTransparent”: 1,
networkType”:”vlan”,
segmentationId”:202,
physicalNetwork ”:”ctrl”,
routerExternal ”:0
}]
}
PHYSICALNETWORK 
1. \ **Get Network**
+---------------------+---------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=============================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} |
+---------------------+---------------------------------------------------------------------------------------------+
| Operation | get |
+---------------------+---------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
| status | M | 1 | string | Network status |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | Network id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Network name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| segmentationId | O | 1 | int | Segmentation id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkType | O | 1 | string | Network type |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
{
vimId”:”11111”,
vimName”:”11111”,
status”: ACTIVE”,
id”: 3c9eebdbbfd345658269340b9ea6fb73”,
name”: net1”,
tenant”: tenant1”,
networkName”: ommnet”,
shared”: 1,
vlanTransparent”: 1,
networkType”:”vlan”,
segmentationId”:202,
physicalNetwork ”:”ctrl”,
routerExternal ”:0
}
1. \ **Subnetwork Management**
1. \ **Create Subnets**
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets |
+---------------------+--------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+--------------------------------------------------------------------------------+
| Direction | VNFLCM,NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
| Description | Create network and subnetwork on the VIM |
+---------------------+--------------------------------------------------------------------------------+
1. \ **Request**
+-------------------+-----------------+-------------------+------------------------+----------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+========================+======================+
| networkId | M | 1 | String | Network Id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| name | M | 1 | String | SubnetName |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| cidr | M | 1 | String | Subnet cidr |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| ipVersion | M | 1 | Int | Ip type |
| | | | | |
| | | | | 4,6 |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| enableDhcp | O | 1 | boolean | Whether to allow |
| | | | | |
| | | | | 1: yes;0: no |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| gatewayIp | O | 1 | String | Gateway ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| dnsNameservers | O | 1..n | List of servers | List of servers |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| hostRoutes | O | 1..n | List of routes | List of routes |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| allocationPools | O | 1..n | list of allocation | list of allocation |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->allocation | | | | |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->start | O | 1 | String | Start ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->end | O | 1 | String | End ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
{
tenant”: tenant1”,
network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”,
subnetName”: subnet1”,
cidr”: 10.43.35.0/24”,
ipVersion”: 4,
enableDhcp”: 1,
gatewayIp”: 10.43.35.1”,
dnsNameservers”: [],
allocationPools”:[{
start”: 192.168.199.2”,
end”: 192.168.199.254
}],
hostRoutes”: []
}
1. \ **Response**
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+========================+=====================================+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| status | M | 1 | string | subnetwork status |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| id | M | 1 | string | subNetwork id |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| networkId | O | 1 | String | Network Id |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| networkName | O | 1 | String | Network Name |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| name | M | 1 | String | SubnetName |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| cidr | M | 1 | String | Subnet cidr |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| ipVersion | M | 1 | Int | Ip type |
| | | | | |
| | | | | 4,6 |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| enableDhcp | O | 1 | boolean | Whether to allow |
| | | | | |
| | | | | 1: yes;0: no |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| gatewayIp | O | 1 | String | Gateway ip |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| dnsNameservers | O | 1..n | List of servers | List of servers |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| hostRoutes | O | 1..n | List of routes | List of routes |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| allocationPools | O | 1..n | list of allocation | list of allocation |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| -->allocation | | | | |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| -->start | O | 1 | String | Start ip |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| -->end | O | 1 | String | End ip |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
202: accepted
500: failed
{
returnCode”:0,
vimId”:”11111”,
vimName”:”11111”,
status”:” ACTIVE
id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23
tenant”: tenant1”,
network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”,
name”: subnet1”,
cidr”: 10.43.35.0/24”,
ipVersion”: 4,
enableDhcp”: 1,
gatewayIp”: 10.43.35.1”,
dnsNameservers”: [],
allocationPools”:[{
start”: 192.168.199.2”,
end”: 192.168.199.254
}],
hostRoutes”: []
}
1. \ **Delete Subnets**
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetId} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | Delete |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
204: no content
1. \ **List Subnets**
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets |
+---------------------+--------------------------------------------------------------------------------+
| Operation | get |
+---------------------+--------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
1. \ **Query**
msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/subnets?{……}
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+================================================================================================+
| name | O | 1 | String | Filters fields of the response by a name, as a string. A valid value is the name of a subnet |
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+
1. \ **Response**
+-------------------+-----------------+-------------------+------------------------+----------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+========================+======================+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| subnets | M | 0..N | List | Network list |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| status | | 1 | string | subnetwork status |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| id | | 1 | string | subNetwork id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| networkId | O | 1 | String | Network Id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| networkName | O | 1 | String | Network Name |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| name | M | 1 | String | SubnetName |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| cidr | M | 1 | String | Subnet cidr |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| ipVersion | M | 1 | Int | Ip type |
| | | | | |
| | | | | 4,6 |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| enableDhcp | O | 1 | boolean | Whether to allow |
| | | | | |
| | | | | 1: yes;0: no |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| gatewayIp | O | 1 | String | Gateway ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| dnsNameservers | O | 1..n | List of servers | List of servers |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| hostRoutes | O | 1..n | List of routes | List of routes |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| allocationPools | O | 1..n | list of allocation | list of allocation |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->allocation | | | | |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->start | O | 1 | String | Start ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->end | O | 1 | String | End ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
**200: ok**
**500: failed**
{
vimId”:”11111”,
vimName”:”11111”,
"subnets":[
{
status”:” ACTIVE
id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23
tenant”: tenant1”,
network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”,
name”: subnet1”,
cidr”: 10.43.35.0/24”,
ipVersion”: 4,
enableDhcp”: 1,
gatewayIp”: 10.43.35.1”,
dnsNameservers”: [],
allocationPools”:[{
start”: 192.168.199.2”,
end”: 192.168.199.254
}],
hostRoutes”: []
}
]
}
1. \ **Get Subnets**
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetid} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | get |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
+-------------------+-----------------+-------------------+------------------------+----------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+========================+======================+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| status | | 1 | string | subnetwork status |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| id | | 1 | string | subNetwork id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| networkId | O | 1 | String | Network Id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| networkName | O | 1 | String | Network Name |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| name | M | 1 | String | SubnetName |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| cidr | M | 1 | String | Subnet cidr |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| ipVersion | M | 1 | Int | Ip type |
| | | | | |
| | | | | 4,6 |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| enableDhcp | O | 1 | boolean | Whether to allow |
| | | | | |
| | | | | 1: yes;0: no |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| gatewayIp | O | 1 | String | Gateway ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| dnsNameservers | O | 1..n | List of servers | List of servers |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| hostRoutes | O | 1..n | List of routes | List of routes |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| allocationPools | O | 1..n | list of allocation | list of allocation |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->allocation | | | | |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->start | O | 1 | String | Start ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->end | O | 1 | String | End ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
202: accepted
500: failed
{
status”:” ACTIVE
id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23
tenant”: tenant1”,
network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”,
name”: subnet1”,
cidr”: 10.43.35.0/24”,
ipVersion”: 4,
enableDhcp”: 1,
gatewayIp”: 10.43.35.1”,
dnsNameservers”: [],
allocationPools”:[{
start”: 192.168.199.2”,
end”: 192.168.199.254
}],
hostRoutes”: []
}
1. \ **Virtual Port**
1. \ **Create Virtual Port**
+---------------------+------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports |
+---------------------+------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+------------------------------------------------------------------------------+
1. \ **Request**
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+========================+=================+===================+===============+=======================================================+
| networkId | M | 1 | string | Network UUID |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| subnetId | O | 1 | string | Subnet UUID |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| name | M | 1 | string | Port name |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| macAddress | O | 1 | string | Mac address |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| ip | O | 1 | string | Ip address |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| vnicType | O | 1 | string | Virtual network card type, |
| | | | | |
| | | | | the value of three kinds of normal/direct/macvtap |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| \ **securityGroups** | **O** | **1** | **string** | **The IDs of security groups applied to the port.** |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
1. \ **Response**
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+===============+=====================================================+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vimId | M | 1 | String | vim id |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| status | M | 1 | string | status |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| id | M | 1 | string | Port Id |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| name | M | 1 | string | Port name |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkName | M | 1 | string | Network name |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkId | M | 1 | string | Network Id |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetName | M | 1 | string | Subnet name |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetId | M | 1 | string | SubnetId |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| macAddress | O | 1 | string | Mac address |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| ip | O | 1 | string | Ip address |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vnicType | O | 1 | string | Virtual network card type, |
| | | | | |
| | | | | the value of three kinds of normal/direct/macvtap |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **securityGroups** | **O** | **1** | **string** | **List of security group names.** |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
1. \ **Delete Virtual Port**
+---------------------+---------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=======================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} |
+---------------------+---------------------------------------------------------------------------------------+
| Operation | DELETTE |
+---------------------+---------------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
204: no content
1. \ **List Virtual Port**
+---------------------+-----------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports |
+---------------------+-----------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-----------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+-----------------------------------------------------------------------------+
1. \ **Query**
+-----------------+-----------------+-------------------+---------------+-------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+=================================================+
| name | M | 1 | string | Port name to filter out list of virtual ports |
+-----------------+-----------------+-------------------+---------------+-------------------------------------------------+
1. \ **Response**
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+=====================================================+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| Ports | M | 0..N | List | ports |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| id | M | 1 | string | Port Id |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| name | M | 1 | string | Port name |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| status | M | 1 | string | status |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **networkName** | O | 1 | string | Network name |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkId | M | 1 | string | Network Id |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetName | O | 1 | string | Subnet name |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetId | M | 1 | string | SubnetId |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| macAddress | O | 1 | string | Mac address |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| ip | O | 1 | string | Ip address |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vnicType | O | 1 | string | Virtual network card type, |
| | | | | |
| | | | | the value of three kinds of normal/direct/macvtap |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| securityGroups | O | 1 | string | List of security group names. |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
**200: ok**
**500: failed**
{
}
1. \ **Get Virtual Port**
+---------------------+---------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=======================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} |
+---------------------+---------------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+---------------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+==================+=================+===================+===============+=====================================================+
| vimId | M | 1 | String | vim id |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| status | M | 1 | string | status |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| id | M | 1 | string | Port Id |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| name | M | 1 | string | Port name |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkName | M | 1 | string | Network name |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkId | M | 1 | string | Network Id |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetName | M | 1 | string | Subnet name |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetId | M | 1 | string | SubnetId |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| macAddress | O | 1 | string | Mac address |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| ip | O | 1 | string | Ip address |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vnicType | O | 1 | string | Virtual network card type, |
| | | | | |
| | | | | the value of three kinds of normal/direct/macvtap |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| securityGroups | O | 1 | string | **List of security group names.** |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
**200: ok**
**500: failed**
{
}
1. \ **Server Management**
1. \ **Create Server**
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers |
+---------------------+--------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+--------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
1. \ **Request**
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+=======================================+========================================================================================================================================================================================+
| name | M | 1 | string | server name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot | M | 1 | String | Start parameters |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nicArray | O | 1..n | List of nic | List of nic |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| contextArray | O | 1..n | list of context | list of context |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| volumeArray | O | 1..n | list of volume | list of volume |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| availabilityZone | O | 1 | string | Usable field |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| flavorId | M | 1 | String | server Flavor id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| userdata | O | 1 | string | Configuration information or scripts to use upon launch. Must be Base64 encoded. |
| | | | | |
| | | | | NOTE: The null value allowed in Nova legacy v2 API, but due to the strict input validation, it isnt 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 | ImageIdtype=2 |
+-----------------+-----------------+-------------------+---------------+---------------------------+
**contextArray**
+-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===========================================================================================================================================================+
| fileName | M | 1 | String | Injection file name |
+-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
| fileData | M | 1 | string | Injection file content (injection file content inside the <mac>$MAC\_1</mac> $MAC\_1 need to be replaced by the MAC address, of which 1 is NIC index. ) |
+-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+
volumeArray
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| volumeId | M | 1 | String | Volume Id |
+-----------------+-----------------+-------------------+---------------+-------------------+
nicArray
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| portId | M | 1 | String | Port Id |
+-----------------+-----------------+-------------------+---------------+-------------------+
**metadata**
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| keyName | M | 1 | String | Key name |
+-----------------+-----------------+-------------------+---------------+-------------------+
| value | M | 1 | string | value |
+-----------------+-----------------+-------------------+---------------+-------------------+
{
"tenant": "tenant1",
"name": "vm1",
availabilityZone”:”az1”,
flavorName”:”vm\_large”,
"boot": {
"type": 1,
" volumeName": "volume1"
},
flavorId”:”vm\_large\_134213
"contextArray": [{
"fileName": "test.yaml",
"fileData": "….”
}],
"volumeArray": [{
"volumeName": "vol1",
}],
“nicArray”:[{
“portId”:”port\_a”
}]
“metada”: [{
"keyName": "foo",
"value": "foo value
}],
userdata”:”abcdedf
}
1. \ **Response**
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+======================================+========================================================================================================================================================================================+
| vimId | M | 1 | String | vim id |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| returnCode | | 1 | int | 0: Already exist 1: Newly created |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | server id |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | | 1 | string | server name |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot | M | 1 | String | Start parameters |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nicArray | O | 1..n | List of nic | List of nic |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| volumeArray | O | 1..n | list of volume | list of volume |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| availabilityZone | O | 1 | string | Usable field |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| flavorId | M | 1 | String | server Flavor |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **securityGroups** | **O** | **1** | **List of name of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** |
| | | | | |
| | | | | **[TBD]** |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
| | | | | |
| | | | | [TBD] |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **status** | **M** | **1** | **string** | Server status, 0:INACTIVE,1:ACTIVE,2:ERROR |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
202: accepted
500: failed
{
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "vm1",
"returnCode": 1,
}
1. \ **Delete Server**
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | DELETE |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
204: no content
1. \ **List Server**
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers |
+---------------------+--------------------------------------------------------------------------------+
| Operation | get |
+---------------------+--------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
1. \ **Request**
msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……}
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| name | M | 1 | string | server name |
+-----------------+-----------------+-------------------+---------------+-------------------+
1. \ **Response**
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+=======================================+========================================================================================================================================================================================+
| vimId | M | 1 | String | vim id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| servers | M | 1 | array | server list |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | server id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | server name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot | M | 1 | String | Start parameters |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nicArray | O | 1..n | List of nic | List of nic |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| volumeArray | O | 1..n | list of volume | list of volume |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| availabilityZone | O | 1 | string | Usable field |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| flavorId | M | 1 | String | server Flavor |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| metada | O | 1 | keypair | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** |
| | | | | |
| | | | | **[TBD]** |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
| | | | | |
| | | | | [TBD] |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
{
}
1. \ **Get Server**
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | get |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+=======================================+========================================================================================================================================================================================+
| vimId | M | 1 | String | vim id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | server id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | server name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot | M | 1 | String | Start parameters |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nicArray | O | 1..n | List of nic | List of nic |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| volumeArray | O | 1..n | list of volume | list of volume |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| availabilityZone | O | 1 | string | Usable field |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| flavorId | M | 1 | String | server Flavor |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** |
| | | | | |
| | | | | **[TBD]** |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
| | | | | |
| | | | | [TBD] |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
{
}
1. \ **Flavor Management**
1. \ **Create Flavor**
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors |
+---------------------+--------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+--------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
1. \ **Request**
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============================+==============================================================================================================================+
| name | M | 1 | string | Flavor Name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vcpu | M | 1 | int | Virtual CPU number |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| memory | M | 1 | int | Memory size |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| disk | M | 1 | int | The size of the root disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| ephemeral | O | 1 | int | The size of the ephemeral disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| swap | O | 1 | int | The size of the swap disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| isPublic | O | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
1. \ **Response**
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===========================+==============================================================================================================================+
| id | M | 1 | string | Flavor id |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Flavor name |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vcpu | M | 1 | int | Virtual CPU number |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| memory | M | 1 | int | Memory size |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| disk | M | 1 | int | The size of the root disk |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| ephemeral | M | 1 | int | The size of the ephemeral disk |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| swap | M | 1 | int | The size of the swap disk |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| extraSpecs | O | 0..N | List of Key-value pairs | EPA parameter |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
1. \ **Delete Flavor**
+---------------------+--------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+============================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors /{flavorid} |
+---------------------+--------------------------------------------------------------------------------------------+
| Operation | DELETE |
+---------------------+--------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
204: no content
1. \ **List Flavor**
+---------------------+---------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors |
+---------------------+---------------------------------------------------------------------------------+
| Operation | get |
+---------------------+---------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------+
1. \ **Query**
+-----------------+-----------------+-------------------+---------------+----------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+==================================+
| name | M | 1 | string | Flavor name to filter out list |
+-----------------+-----------------+-------------------+---------------+----------------------------------+
1. \ **Response**
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============================+==============================================================================================================================+
| flavors | M | 0..N | list | Vm list |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | Flavor id |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Flavor Name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vcpu | M | 1 | int | Virtual CPU number |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| memory | M | 1 | int | Memory size |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| disk | M | 1 | int | The size of the root disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| ephemeral | M | 1 | int | The size of the ephemeral disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| swap | M | 1 | int | The size of the swap disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
1. \ **Get Flavor**
+---------------------+----------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors/{ flavorsid } |
+---------------------+----------------------------------------------------------------------------------------------+
| Operation | get |
+---------------------+----------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+----------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============================+==============================================================================================================================+
| id | M | 1 | string | Flavor id |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Flavor Name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vcpu | M | 1 | int | Virtual CPU number |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| memory | M | 1 | int | Memory size |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| disk | M | 1 | int | The size of the root disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| ephemeral | M | 1 | int | The size of the ephemeral disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| swap | M | 1 | int | The size of the swap disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
1. \ **Volume Management**
1. \ **Create Volume**
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes |
+---------------------+--------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+--------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
1. \ **Request**
+--------------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+====================+=================+===================+===============+===================+
| name | M | 1 | string | Volume name |
+--------------------+-----------------+-------------------+---------------+-------------------+
| volumeSize | M | 1 | int | Volume size |
+--------------------+-----------------+-------------------+---------------+-------------------+
| imageId | O | 1 | string | Image UUID |
+--------------------+-----------------+-------------------+---------------+-------------------+
| volumeType | O | 1 | string | Volume type |
+--------------------+-----------------+-------------------+---------------+-------------------+
| availabilityZone | O | 1 | string | Usable field |
+--------------------+-----------------+-------------------+---------------+-------------------+
{
"tenant": "tenant1",
"volumeName": "volume1",
"volumeSize": 3,
"imageName": "cirros.qcow2",
"volumeType": "volumetype1",
"availabilityZone": "zone1"
}
1. \ **Response**
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+====================+=================+===================+===============+=====================================+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| vimId | M | 1 | String | vim id |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| vimName | O | 1 | string | vim name |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| status | M | 1 | string | Volume status |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| id | M | 1 | string | Volume id |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| name | M | 1 | string | Volume name |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| volumeType | O | 1 | string | Volume type |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| availabilityZone | O | 1 | string | Availability Zone |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
202: accepted
500: failed
{
"id": "bc9eebdbbfd356458269340b9ea6fb73",
"name": "volume1",
"returnCode": 1,
}
1. \ **Delete Volume**
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | DELETE |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
204: no content
1. \ **List Volumes**
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes |
+---------------------+--------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+--------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
1. \ **Request**
msb.onap.org:80/api/multicloud/v0/{cloud
owner}\_{region}/volumes?{……}
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| name | M | 1 | string | Volume name |
+-----------------+-----------------+-------------------+---------------+-------------------+
1. \ **Response**
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+====================+=================+===================+======================+====================================================+
| vimId | M | 1 | String | vim id |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumes | M | 1 | Array | |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| id | M | 1 | string | Volume id |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| name | M | 1 | string | Volume name |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| createTime | O | 1 | string | Create time |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| status | M | 1 | string | Volume status |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumeSize | M | 1 | int | Volume size |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumeType | M | 1 | string | Volume type |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| availabilityZone | M | 1 | string | Availability Zone |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
200: ok
500: failed
{
"volumes": [
{
"status": "available",
"name": "test",
"attachments": [],
"createTime": "2015-12-02T07:57:23.000000",
" volumeType ": "ws",
"id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55",
"size": 20
},
{
"status": "in-use",
"name": "wangsong",
"attachments": [
{
"device": "/dev/vdc",
"serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
"volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"hostName": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
}
],
"createTime": "2015-12-02T06:39:40.000000",
" volumeType ": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"size": 40
}
]
}
1. \ **Get Volumes**
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
1. \ **Request**
N/A
1. \ **Response**
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+====================+=================+===================+======================+====================================================+
| vimId | M | 1 | String | vim id |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| id | | 1 | string | Volume id |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| name | | 1 | string | Volume name |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| createTime | | 1 | string | Create time |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| status | | 1 | string | Volume status |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumeType | | 1 | list of string | Volume type |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumeSize | | 1 | int | Volume size |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| availabilityZone | M | 1 | string | Availability Zone |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
**attachment:**
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| device | | 1 | string | Device name |
+-----------------+-----------------+-------------------+---------------+-------------------+
| serverId | | 1 | string | VM id |
+-----------------+-----------------+-------------------+---------------+-------------------+
| volumeId | | 1 | string | Volume id |
+-----------------+-----------------+-------------------+---------------+-------------------+
| hostName | | 1 | string | Host name |
+-----------------+-----------------+-------------------+---------------+-------------------+
| id | | 1 | string | Device id |
+-----------------+-----------------+-------------------+---------------+-------------------+
200: ok
500: failed
{
"status": "in-use",
"name": "wangsong",
"attachments": [
{
"device": "/dev/vdc",
"serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
"volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"hostName": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
}
],
"createTime": "2015-12-02T06:39:40.000000",
"volumeType ": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"volumeSize ": 40
}
1. \ **Tenant Management**
1. \ **List tenants**
+---------------------+---------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=====================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants |
+---------------------+---------------------------------------------------------------------+
| Operation | GET |
+---------------------+---------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+---------------------------------------------------------------------+
1. \ **Query**
+---------------------+-----------------+-------------------+---------------+-------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=====================+=================+===================+===============+=====================================+
| name={tenantname} | O | 1 | string | Tenant name to filter output list |
+---------------------+-----------------+-------------------+---------------+-------------------------------------+
1. \ **Response**
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+---------------+-------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+---------------+-------------------+
| tenants | M | 1 | Array | |
+-----------------+-----------------+-------------------+---------------+-------------------+
| id | M | 1 | string | tenant UUID |
+-----------------+-----------------+-------------------+---------------+-------------------+
| name | M | 1 | string | tenant name |
+-----------------+-----------------+-------------------+---------------+-------------------+
200: ok
500: failed
{
" tenants ": [
{
"id": "1",
"name": "test\_a"
}
]
}
1. \ **Limits**
1. \ **List Limits of resouces: CPU&Memory, volume,network,etc**
+---------------------+-------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits |
+---------------------+-------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+-------------------------------------------------------------------------------+
1. \ **Request**
2. \ **Response**
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===========================+=================+===================+===============+==================================================================+
| vimId | M | 1 | String | vim id |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| tenantId | M | 1 | string | Tenant UUID |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxPersonality | O | 1 | int | The number of allowed injected files for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxPersonalitySize | O | 1 | int | The number of allowed bytes of content for each injected file. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxServerGroupMembers | O | 1 | int | The number of allowed members for each server group. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxServerGroups | O | 1 | int | The number of allowed server groups for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxServerMeta | O | 1 | int | The number of allowed metadata items for each instance. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalCores | O | 1 | int | The number of allowed instance cores for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalInstances | O | 1 | int | The number of allowed instances for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalKeypairs | O | 1 | int | The number of allowed key pairs for each user. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalRAMSize | O | 1 | int | The amount of allowed instance RAM, in MB, for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalVolumeGigabytes | O | 1 | int | The maximum total amount of volumes, in gibibytes (GiB). |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalVolumes | O | 1 | int | The maximum number of volumes. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| totalVolumesUsed | O | 1 | int | The total number of volumes used. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| totalGigabytesUsed | O | 1 | int | The total number of gibibytes (GiB) used. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| network | O | 1 | int | The number of networks allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| subnet | O | 1 | int | The number of subnets allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| subnetpool | O | 1 | int | The number of subnet pools allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| security\_group\_rule | O | 1 | int | The number of security group rules allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| security\_group | O | 1 | int | The number of security groups allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| router | O | 1 | int | The number of routers allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| port | O | 1 | int | The number of ports allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
200: ok
500: failed
{
"maxPersonality": 5,
"maxPersonalitySize": 10240,
"maxServerMeta": 128,
"maxTotalCores": 20,
"maxTotalInstances": 10,
"maxTotalKeypairs": 100,
"maxTotalRAMSize": 51200,
"maxServerGroups": 10,
"maxServerGroupMembers": 10,
}
1. \ **Host Management**
1. \ **List hosts**
+---------------------+------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts |
+---------------------+------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+------------------------------------------------------------------------------+
1. \ **Request**
2. \ **Response**
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+=================+===================================+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| tenantId | M | 1 | string | Tenant Name |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| hosts | M | 1 | Array of host | List of host information |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| service | M | 1 | string | The service running on the host |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| name | M | 1 | string | host name |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| zone | O | 1 | string | Available zone for the host |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
200: ok
500: failed
{
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
"hosts": [
{
"name": "b6e4adbc193d428ea923899d07fb001e",
"service": "conductor",
"zone": "internal",
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"name": "09c025b0efc64211bd23fc50fa974cdf",
"service": "compute",
"zone": "nova"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"name": "e73ec0bd35c64de4a1adfa8b8969a1f6",
"service": "consoleauth",
"zone": "internal"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"host\_name": "396a8a0a234f476eb05fb9fbc5802ba7",
"service": "network",
"zone": "internal"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"name": "abffda96592c4eacaf4111c28fddee17",
"service": "scheduler",
"zone": "internal"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
}
]
}
1. \ **Get host**
+---------------------+-----------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts/{hostname} |
+---------------------+-----------------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-----------------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+-----------------------------------------------------------------------------------------+
1. \ **Request**
2. \ **Response**
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+=====================+==============================================================+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| tenantId | M | 1 | string | Tenant Name |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| host | M | 1 | List of resources | Host resource info |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| resource | M | 1..N | Object | Resource description |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| cpu | M | 1 | Int | The cpu info on the host. |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| memory\_mb | M | 1 | int | The memory info on the host (in MB). |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| name | M | 1 | string | host name |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| project | M | 1 | string | Value: total, used\_now, used\_max or specific project\_id |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| disk\_gb | M | 1 | int | The disk info on the host (in GB). |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
200: ok
500: failed
{
"cpu": 1,
"disk\_gb": 1028,
"name": "c1a7de0ac9d94e4baceae031d05caae3",
"memory\_mb": 8192,
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
}
{
"host": [
{
"memory\_mb": 4960,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 92,
"project": "(total)",
"cpu": 4
},
{
"memory\_mb": 1536,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 2,
"project": "(used\_now)",
"cpu": 2
},
{
"memory\_mb": 1024,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 2,
"project": "(used\_max)",
"cpu": 2
},
{
"memory\_mb": 1024,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 2,
"project": "568f7ec425db472ba348251bf1e7eebd",
"cpu": 2
}
],
"vimName": "openstack\_newton",
"vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73",
"tenantId": "568f7ec425db472ba348251bf1e7eebd"
}
1. \ **VIM Management**
1. \ **Update VIM Info**
+---------------------+----------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================================+
| URI | http(s)://[hostname][:port]/onapapi/ multicloud /v1/{cloud-owner}\_{cloud-region}/registry |
+---------------------+----------------------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+----------------------------------------------------------------------------------------------+
| Direction | ESR-> MULTICLOUD |
+---------------------+----------------------------------------------------------------------------------------------+
1. \ **Request**
+-----------------+-----------------+-------------------+---------------+-----------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+=======================+
| defaultTenant | M | 1 | string | default tenant name |
+-----------------+-----------------+-------------------+---------------+-----------------------+
1. \ **Response**
NA
202: accept
400: failed
1. \ **Unregistry VIM**
+---------------------+-----------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===============================================================================================+
| URI | http(s)://[hostname][:port]/onapapi/multicloud/v1 /{cloud-owner}\_{cloud-region}/unregistry |
+---------------------+-----------------------------------------------------------------------------------------------+
| Operation | DELETE |
+---------------------+-----------------------------------------------------------------------------------------------+
| Direction | ESR-> MULTICLOUD |
+---------------------+-----------------------------------------------------------------------------------------------+
1. \ **Request**
NA
1. \ **Response**
NA
204: No content found
400: failed