blob: 244fcd844a52f62d89e836c065dd350ed833820f [file] [log] [blame]
..
This work is licensed under a Creative Commons Attribution 4.0
International License.
================================
MultiCloud API v0 Specification
================================
API in json swagger
===================
":download:`MultiCloud Broker API v0 <https://wiki.onap.org/download/attachments/25435675/multicloud.broker.v0.swagger.json?version=1&modificationDate=1557892177024&api=v2>`"
API Catalog
===========
1. **Scope**
^^^^^^^^^^^^
The scope of the present document is to describe the VIM Driver API
specification.
2. **Terms, Definitions and Abbreviations**
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For the purposes of the present document, the following abbreviations
apply:
+--------------------+-------------------------------------------------------------+
| **Abbreviation** | |
+====================+=============================================================+
| NFVO | Network Functions Virtualization Orchestrator |
+--------------------+-------------------------------------------------------------+
| VNFM | Virtual Network Function Management |
+--------------------+-------------------------------------------------------------+
| VIM | Virtualized Infrastructure Manager |
+--------------------+-------------------------------------------------------------+
| MultiVIM | MultVIM driver services for OPEN-O to drive VIM instances |
+--------------------+-------------------------------------------------------------+
3. **Image Management**
^^^^^^^^^^^^^^^^^^^^^^^
3.1. **Create Image**
---------------------
+---------------------+-------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/images |
+---------------------+-------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+-------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------+
| Description | Create Image and Upload the image file to the VIM |
+---------------------+-------------------------------------------------------------------------------+
3.1.1. **Request**
>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===========================+==================================================================================================+
| name | M | 1 | String | Image Name |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| imagePath | M | 1 | String | Image Local Path from catalog |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| imageType | M | 1 | String | Image Type |
| | | | | |
| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+
| containerFormat | M | 1 | string | 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"
}
3.1.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===========================+========================================================+
| id | M | 1 | String | Image UUID in the VIM |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| name | M | 1 | String | Image Name |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| returnCode | M | 1 | Int | 0: Already exist 1: Newly created |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| imageType | M | 1 | String | Image Type |
| | | | | |
| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
+-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+
| containerFormat | M | 1 | string | 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
}
3.2. **Delete Image**
---------------------
+---------------------+-----------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/images/{imageId} |
+---------------------+-----------------------------------------------------------------------------------------+
| Operation | Delete |
+---------------------+-----------------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-----------------------------------------------------------------------------------------+
| Description | Delete Image |
+---------------------+-----------------------------------------------------------------------------------------+
3.2.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
3.2.2. **Response**
>>>>>>>>>>>>>>>>>>>
204: no content
3.3. **List Images**
--------------------
+---------------------+-------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud_owner}\_{region}/{tenantid}/images |
+---------------------+-------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------+
| Description | Query Image list |
+---------------------+-------------------------------------------------------------------------------+
3.3.1. **Request**
>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+==================================================================================================================================================================================================================================================================+
| limit | O | 1 | integer | Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. |
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| marker | O | 1 | string | The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. |
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of an image |
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
3.3.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| \ **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================================================+=================+===================+===============+========================================================+
| images | M | 0..N | List | Image List |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| id | M | 1 | String | Image ID |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| size | M | 1 | int | Image Size |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| name | M | 1 | String | Image Name |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| status | M | 1 | String | Image Status |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| imageType | M | 1 | String | Image Type |
| | | | | |
| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
+-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| containerFormat | M | 1 | string | 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"
}]
}
3.4. **Get Image**
------------------
+---------------------+-----------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageid} |
+---------------------+-----------------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-----------------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-----------------------------------------------------------------------------------------+
| Description | Query Image Information |
+---------------------+-----------------------------------------------------------------------------------------+
3.4.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
3.4.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+========================================================+
| id | M | 1 | String | Image ID |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| size | M | 1 | int | Image Size |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| name | M | 1 | String | Image Name |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| status | M | 1 | String | Image Status |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| imageType | M | 1 | String | Image Type |
| | | | | |
| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso |
+-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+
| containerFormat | M | 1 | string | 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"
}
4. **Network Management**
^^^^^^^^^^^^^^^^^^^^^^^^^
4.1. **Create Network**
-----------------------
+---------------------+---------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks |
+---------------------+---------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+---------------------------------------------------------------------------------+
| Direction | VNFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------+
| Description | Create network and subnetwork on the VIM |
+---------------------+---------------------------------------------------------------------------------+
4.1.1. **Request**
>>>>>>>>>>>>>>>>>>
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=============================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
| name | M | 1 | String | Logical network name |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| shared | M | 1 | boolean | Whether to share(1:sharing;0:private) |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkType | O | 1 | String | Network type |
| | | | | |
| | | | | flat, vlan, vxlan, gre, |
| | | | | |
| | | | | portgroup |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| segmentationId | O | 1 | Int | id of paragraph |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| routerExternal | O | 1 | boolean |Indicates whether this network can provide floating IPs via a router. |
+-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
::
{
"tenant": "tenant1",
"networkName": "ommnet",
"shared": 1,
"vlanTransparent": 1,
"networkType": "vlan",
"segmentationId": 202,
"physicalNetwork": "ctrl",
"routerExternal": 0
}
4.1.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
| status | M | 1 | string | Network status |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | Network id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Network name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| segmentationId | O | 1 | int | Segmentation id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkType | O | 1 | string | Network type |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
202: accepted
500: failed
::
{
"returnCode": 0,
"vimId": "11111",
"vimName": "11111",
"status": "ACTIVE",
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "net1",
"tenant": "tenant1",
"networkName": "ommnet",
"shared": 1,
"vlanTransparent": 1,
"networkType": "vlan",
"segmentationId": 202,
"physicalNetwork": "ctrl",
"routerExternal": 0
}
4.2. **Delete Network**
-----------------------
+---------------------+---------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=============================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} |
+---------------------+---------------------------------------------------------------------------------------------+
| Operation | Delete |
+---------------------+---------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------------------+
4.2.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
4.2.2. **Response**
>>>>>>>>>>>>>>>>>>>
204: no content
4.3. **List Network**
---------------------
+---------------------+---------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks |
+---------------------+---------------------------------------------------------------------------------+
| Operation | get |
+---------------------+---------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------+
4.3.1. **Query**
>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+=======================================================================================+
| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of a network |
+-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+
4.3.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networks | | 0..N | List | Network list |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| status | M | 1 | string | Network status |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | Network id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Network name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| segmentationId | O | 1 | int | Segmentation id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkType | O | 1 | string | Network type |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
::
{
"vimId": "11111",
"vimName": "111",
"networks":
[{
"status": "ACTIVE",
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "net1",
"tenant": "tenant1",
"networkName": "ommnet",
"shared": 1,
"vlanTransparent": 1,
"networkType": "vlan",
"segmentationId": 202,
"physicalNetwork ": "ctrl",
"routerExternal ": 0
}]
}
4.4. **Get Network**
--------------------
+---------------------+---------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=============================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} |
+---------------------+---------------------------------------------------------------------------------------------+
| Operation | get |
+---------------------+---------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------------------+
4.4.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
4.4.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+
| status | M | 1 | string | Network status |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | Network id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Network name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| segmentationId | O | 1 | int | Segmentation id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| networkType | O | 1 | string | Network type |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
::
{
"vimId":"11111",
"vimName":"11111",
"status": "ACTIVE",
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "net1",
"tenant": "tenant1",
"networkName": "ommnet",
"shared": 1,
"vlanTransparent": 1,
"networkType":"vlan",
"segmentationId":202,
"physicalNetwork ":"ctrl",
"routerExternal ":0
}
5. **Subnetwork Management**
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5.1. **Create Subnets**
-----------------------
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets |
+---------------------+--------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+--------------------------------------------------------------------------------+
| Direction | VNFLCM,NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
| Description | Create network and subnetwork on the VIM |
+---------------------+--------------------------------------------------------------------------------+
5.1.1. **Request**
>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+------------------------+----------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+========================+======================+
| networkId | M | 1 | String | Network Id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| name | M | 1 | String | SubnetName |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| cidr | M | 1 | String | Subnet cidr |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| ipVersion | M | 1 | Int | Ip type |
| | | | | |
| | | | | 4,6 |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| enableDhcp | O | 1 | boolean | Whether to allow |
| | | | | |
| | | | | 1: yes;0: no |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| gatewayIp | O | 1 | String | Gateway ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| dnsNameservers | O | 1..n | List of servers | List of servers |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| hostRoutes | O | 1..n | List of routes | List of routes |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| allocationPools | O | 1..n | list of "allocation" | list of allocation |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->allocation | | | | |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->start | O | 1 | String | Start ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->end | O | 1 | String | End ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
::
{
"tenant": "tenant1",
"network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
"subnetName": "subnet1",
"cidr": "10.43.35.0/24",
"ipVersion": 4,
"enableDhcp": 1,
"gatewayIp": "10.43.35.1",
"dnsNameservers": [],
"allocationPools": [{
"start": "192.168.199.2",
"end": "192.168.199.254"
}],
"hostRoutes": []
}
5.1.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+========================+=====================================+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| status | M | 1 | string | subnetwork status |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| id | M | 1 | string | subNetwork id |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| networkId | O | 1 | String | Network Id |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| networkName | O | 1 | String | Network Name |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| name | M | 1 | String | SubnetName |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| cidr | M | 1 | String | Subnet cidr |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| ipVersion | M | 1 | Int | Ip type |
| | | | | |
| | | | | 4,6 |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| enableDhcp | O | 1 | boolean | Whether to allow |
| | | | | |
| | | | | 1: yes;0: no |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| gatewayIp | O | 1 | String | Gateway ip |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| dnsNameservers | O | 1..n | List of servers | List of servers |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| hostRoutes | O | 1..n | List of routes | List of routes |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| allocationPools | O | 1..n | list of "allocation" | list of allocation |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| -->allocation | | | | |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| -->start | O | 1 | String | Start ip |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
| -->end | O | 1 | String | End ip |
+-------------------+-----------------+-------------------+------------------------+-------------------------------------+
202: accepted
500: failed
::
{
"returnCode": 0,
"vimId": "11111",
"vimName": "11111",
"status": " ACTIVE",
"id": " d62019d3-bc6e-4319-9c1d-6722fc136a23",
"tenant": "tenant1",
"network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
"name": "subnet1",
"cidr": "10.43.35.0/24",
"ipVersion": 4,
"enableDhcp": 1,
"gatewayIp": "10.43.35.1",
"dnsNameservers": [],
"allocationPools": [{
"start": "192.168.199.2",
"end": "192.168.199.254"
}],
"hostRoutes": []
}
5.2. **Delete Subnets**
-----------------------
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetId} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | Delete |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
5.2.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
5.2.2. **Response**
>>>>>>>>>>>>>>>>>>>
204: no content
5.3. **List Subnets**
---------------------
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets |
+---------------------+--------------------------------------------------------------------------------+
| Operation | get |
+---------------------+--------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
5.3.1. **Query**
>>>>>>>>>>>>>>>>
msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/subnets?{……}
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+================================================================================================+
| name | O | 1 | String | Filters fields of the response by a name, as a string. A valid value is the name of a subnet |
+-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+
5.3.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+------------------------+----------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+========================+======================+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| subnets | M | 0..N | List | Network list |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| status | | 1 | string | subnetwork status |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| id | | 1 | string | subNetwork id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| networkId | O | 1 | String | Network Id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| networkName | O | 1 | String | Network Name |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| name | M | 1 | String | SubnetName |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| cidr | M | 1 | String | Subnet cidr |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| ipVersion | M | 1 | Int | Ip type |
| | | | | |
| | | | | 4,6 |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| enableDhcp | O | 1 | boolean | Whether to allow |
| | | | | |
| | | | | 1: yes;0: no |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| gatewayIp | O | 1 | String | Gateway ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| dnsNameservers | O | 1..n | List of servers | List of servers |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| hostRoutes | O | 1..n | List of routes | List of routes |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| allocationPools | O | 1..n | list of "allocation" | list of allocation |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->allocation | | | | |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->start | O | 1 | String | Start ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->end | O | 1 | String | End ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
**200: ok**
**500: failed**
::
{
"vimId": "11111",
"vimName": "11111",
"subnets": [
{
"status": " ACTIVE",
"id": " d62019d3-bc6e-4319-9c1d-6722fc136a23",
"tenant": "tenant1",
"network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
"name": "subnet1",
"cidr": "10.43.35.0/24",
"ipVersion": 4,
"enableDhcp": 1,
"gatewayIp": "10.43.35.1",
"dnsNameservers": [],
"allocationPools": [{
"start": "192.168.199.2",
"end": "192.168.199.254"
}],
"hostRoutes": []
}
]
}
5.4. **Get Subnets**
--------------------
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetid} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | get |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
5.4.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
5.4.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+------------------------+----------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+========================+======================+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| status | | 1 | string | subnetwork status |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| id | | 1 | string | subNetwork id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| networkId | O | 1 | String | Network Id |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| networkName | O | 1 | String | Network Name |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| name | M | 1 | String | SubnetName |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| cidr | M | 1 | String | Subnet cidr |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| ipVersion | M | 1 | Int | Ip type |
| | | | | |
| | | | | 4,6 |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| enableDhcp | O | 1 | boolean | Whether to allow |
| | | | | |
| | | | | 1: yes;0: no |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| gatewayIp | O | 1 | String | Gateway ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| dnsNameservers | O | 1..n | List of servers | List of servers |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| hostRoutes | O | 1..n | List of routes | List of routes |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| allocationPools | O | 1..n | list of "allocation" | list of allocation |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->allocation | | | | |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->start | O | 1 | String | Start ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
| -->end | O | 1 | String | End ip |
+-------------------+-----------------+-------------------+------------------------+----------------------+
202: accepted
500: failed
::
{
"status": " ACTIVE",
"id": " d62019d3-bc6e-4319-9c1d-6722fc136a23",
"tenant": "tenant1",
"network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22",
"name": "subnet1",
"cidr": "10.43.35.0/24",
"ipVersion": 4,
"enableDhcp": 1,
"gatewayIp": "10.43.35.1",
"dnsNameservers": [],
"allocationPools": [{
"start": "192.168.199.2",
"end": "192.168.199.254"
}],
"hostRoutes": []
}
6. **Virtual Port**
^^^^^^^^^^^^^^^^^^^
6.1. **Create Virtual Port**
----------------------------
+---------------------+------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports |
+---------------------+------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+------------------------------------------------------------------------------+
6.1.1. **Request**
>>>>>>>>>>>>>>>>>>
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+========================+=================+===================+===============+=======================================================+
| networkId | M | 1 | string | Network UUID |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| subnetId | O | 1 | string | Subnet UUID |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| name | M | 1 | string | Port name |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| macAddress | O | 1 | string | Mac address |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| ip | O | 1 | string | Ip address |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| vnicType | O | 1 | string | Virtual network card type, |
| | | | | |
| | | | | the value of three kinds of normal/direct/macvtap |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
| \ **securityGroups** | **O** | **1** | **string** | **The IDs of security groups applied to the port.** |
+------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+
6.1.2. **Response**
>>>>>>>>>>>>>>>>>>>
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+===============+=====================================================+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vimId | M | 1 | String | vim id |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| status | M | 1 | string | status |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| id | M | 1 | string | Port Id |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| name | M | 1 | string | Port name |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkName | M | 1 | string | Network name |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkId | M | 1 | string | Network Id |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetName | M | 1 | string | Subnet name |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetId | M | 1 | string | SubnetId |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| macAddress | O | 1 | string | Mac address |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| ip | O | 1 | string | Ip address |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vnicType | O | 1 | string | Virtual network card type, |
| | | | | |
| | | | | the value of three kinds of normal/direct/macvtap |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **securityGroups** | **O** | **1** | **string** | **List of security group names.** |
+----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
6.2. **Delete Virtual Port**
----------------------------
+---------------------+---------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=======================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} |
+---------------------+---------------------------------------------------------------------------------------+
| Operation | DELETTE |
+---------------------+---------------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------------+
6.2.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
6.2.2. **Response**
>>>>>>>>>>>>>>>>>>>
204: no content
6.3. **List Virtual Port**
--------------------------
+---------------------+-----------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports |
+---------------------+-----------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-----------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+-----------------------------------------------------------------------------+
6.3.1. **Query**
>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------+-------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+=================================================+
| name | M | 1 | string | Port name to filter out list of virtual ports |
+-----------------+-----------------+-------------------+---------------+-------------------------------------------------+
6.3.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===================+=================+===================+===============+=====================================================+
| vimId | M | 1 | String | vim id |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| Ports | M | 0..N | List | ports |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| id | M | 1 | string | Port Id |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| name | M | 1 | string | Port name |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| status | M | 1 | string | status |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **networkName** | O | 1 | string | Network name |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkId | M | 1 | string | Network Id |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetName | O | 1 | string | Subnet name |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetId | M | 1 | string | SubnetId |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| macAddress | O | 1 | string | Mac address |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| ip | O | 1 | string | Ip address |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vnicType | O | 1 | string | Virtual network card type, |
| | | | | |
| | | | | the value of three kinds of normal/direct/macvtap |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| securityGroups | O | 1 | string | List of security group names. |
+-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
**200: ok**
**500: failed**
6.4. **Get Virtual Port**
-------------------------
+---------------------+---------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=======================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} |
+---------------------+---------------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+---------------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------------+
6.4.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
6.4.2. **Response**
>>>>>>>>>>>>>>>>>>>
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+==================+=================+===================+===============+=====================================================+
| vimId | M | 1 | String | vim id |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| status | M | 1 | string | status |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| id | M | 1 | string | Port Id |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| name | M | 1 | string | Port name |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkName | M | 1 | string | Network name |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| networkId | M | 1 | string | Network Id |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetName | M | 1 | string | Subnet name |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| subnetId | M | 1 | string | SubnetId |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| macAddress | O | 1 | string | Mac address |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| ip | O | 1 | string | Ip address |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| vnicType | O | 1 | string | Virtual network card type, |
| | | | | |
| | | | | the value of three kinds of normal/direct/macvtap |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
| securityGroups | O | 1 | string | **List of security group names.** |
+------------------+-----------------+-------------------+---------------+-----------------------------------------------------+
**200: ok**
**500: failed**
7. **Server Management**
^^^^^^^^^^^^^^^^^^^^^^^^
7.1. **Create Server**
----------------------
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers |
+---------------------+--------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+--------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
7.1.1. **Request**
>>>>>>>>>>>>>>>>>>
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+=======================================+========================================================================================================================================================================================+
| name | M | 1 | string | server name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot | M | 1 | String | Start parameters |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nicArray | O | 1..n | List of nic | List of nic |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| contextArray | O | 1..n | list of context | list of context |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| volumeArray | O | 1..n | list of volume | list of volume |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| availabilityZone | O | 1 | string | Usable field |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| flavorId | M | 1 | String | server Flavor id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| userdata | O | 1 | string | Configuration information or scripts to use upon launch. Must be Base64 encoded. |
| | | | | |
| | | | | NOTE: The null value allowed in Nova legacy v2 API, but due to the strict input validation, it 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 |
+-----------------+-----------------+-------------------+---------------+-------------------+
::
{
"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": {
"foo": "foo value"
},
"userdata": "abcdedf"
}
7.1.2. **Response**
>>>>>>>>>>>>>>>>>>>
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+======================================+========================================================================================================================================================================================+
| vimId | M | 1 | String | vim id |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| returnCode | | 1 | int | 0: Already exist 1: Newly created |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | server id |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | | 1 | string | server name |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot | M | 1 | String | Start parameters |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nicArray | O | 1..n | List of nic | List of nic |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| volumeArray | O | 1..n | list of volume | list of volume |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| availabilityZone | O | 1 | string | Usable field |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| flavorId | M | 1 | String | server Flavor |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **securityGroups** | **O** | **1** | **List of name of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** |
| | | | | |
| | | | | **[TBD]** |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
| | | | | |
| | | | | [TBD] |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **status** | **M** | **1** | **string** | Server status, 0:INACTIVE,1:ACTIVE,2:ERROR |
+----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
202: accepted
500: failed
::
{
"id": "3c9eebdbbfd345658269340b9ea6fb73",
"name": "vm1",
"returnCode": 1,
}
7.2. **Delete Server**
----------------------
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | DELETE |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
7.2.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
7.2.2. **Response**
>>>>>>>>>>>>>>>>>>>
204: no content
7.3. **List Server**
--------------------
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers |
+---------------------+--------------------------------------------------------------------------------+
| Operation | get |
+---------------------+--------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
7.3.1. **Request**
>>>>>>>>>>>>>>>>>>
msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……}
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| name | M | 1 | string | server name |
+-----------------+-----------------+-------------------+---------------+-------------------+
7.3.2. **Response**
>>>>>>>>>>>>>>>>>>>
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+=======================================+========================================================================================================================================================================================+
| vimId | M | 1 | String | vim id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| servers | M | 1 | array | server list |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | server id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | server name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot | M | 1 | String | Start parameters |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nicArray | O | 1..n | List of nic | List of nic |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| volumeArray | O | 1..n | list of volume | list of volume |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| availabilityZone | O | 1 | string | Usable field |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| flavorId | M | 1 | String | server Flavor |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| metada | O | 1 | keypair | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** |
| | | | | |
| | | | | **[TBD]** |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
| | | | | |
| | | | | [TBD] |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
7.4. **Get Server**
-------------------
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | get |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
7.4.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
7.4.2. **Response**
>>>>>>>>>>>>>>>>>>>
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+======================+=================+===================+=======================================+========================================================================================================================================================================================+
| vimId | M | 1 | String | vim id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | server id |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | server name |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot | M | 1 | String | Start parameters |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nicArray | O | 1..n | List of nic | List of nic |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| volumeArray | O | 1..n | list of volume | list of volume |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| availabilityZone | O | 1 | string | Usable field |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| flavorId | M | 1 | String | server Flavor |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** |
| | | | | |
| | | | | **[TBD]** |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity |
| | | | | |
| | | | | [TBD] |
+----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
8. **Flavor Management**
^^^^^^^^^^^^^^^^^^^^^^^^
8.1. **Create Flavor**
----------------------
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors |
+---------------------+--------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+--------------------------------------------------------------------------------+
| Direction | VNFLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
8.1.1. **Request**
>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============================+==============================================================================================================================+
| name | M | 1 | string | Flavor Name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vcpu | M | 1 | int | Virtual CPU number |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| memory | M | 1 | int | Memory size |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| disk | M | 1 | int | The size of the root disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| ephemeral | O | 1 | int | The size of the ephemeral disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| swap | O | 1 | int | The size of the swap disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| isPublic | O | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
8.1.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===========================+==============================================================================================================================+
| id | M | 1 | string | Flavor id |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Flavor name |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vcpu | M | 1 | int | Virtual CPU number |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| memory | M | 1 | int | Memory size |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| disk | M | 1 | int | The size of the root disk |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| ephemeral | M | 1 | int | The size of the ephemeral disk |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| swap | M | 1 | int | The size of the swap disk |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| extraSpecs | O | 0..N | List of Key-value pairs | EPA parameter |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+
8.2. **Delete Flavor**
----------------------
+---------------------+--------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+============================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors /{flavorid} |
+---------------------+--------------------------------------------------------------------------------------------+
| Operation | DELETE |
+---------------------+--------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------------------+
8.2.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
8.2.2. **Response**
>>>>>>>>>>>>>>>>>>>
204: no content
8.3. **List Flavor**
--------------------
+---------------------+---------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors |
+---------------------+---------------------------------------------------------------------------------+
| Operation | get |
+---------------------+---------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+---------------------------------------------------------------------------------+
8.3.1. **Query**
>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------+----------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+==================================+
| name | M | 1 | string | Flavor name to filter out list |
+-----------------+-----------------+-------------------+---------------+----------------------------------+
8.3.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============================+==============================================================================================================================+
| flavors | M | 0..N | list | Vm list |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| id | M | 1 | string | Flavor id |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Flavor Name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vcpu | M | 1 | int | Virtual CPU number |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| memory | M | 1 | int | Memory size |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| disk | M | 1 | int | The size of the root disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| ephemeral | M | 1 | int | The size of the ephemeral disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| swap | M | 1 | int | The size of the swap disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
8.4. **Get Flavor**
-------------------
+---------------------+----------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors/{ flavorsid } |
+---------------------+----------------------------------------------------------------------------------------------+
| Operation | get |
+---------------------+----------------------------------------------------------------------------------------------+
| Direction | NFLCM,NSLCM->MULTIVIM |
+---------------------+----------------------------------------------------------------------------------------------+
8.4.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
8.4.2. **Response**
>>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============================+==============================================================================================================================+
| id | M | 1 | string | Flavor id |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| name | M | 1 | string | Flavor Name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vcpu | M | 1 | int | Virtual CPU number |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| memory | M | 1 | int | Memory size |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| disk | M | 1 | int | The size of the root disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| ephemeral | M | 1 | int | The size of the ephemeral disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| swap | M | 1 | int | The size of the swap disk |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+
200: ok
500: failed
9. **Volume Management**
^^^^^^^^^^^^^^^^^^^^^^^^
9.1. **Create Volume**
----------------------
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes |
+---------------------+--------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+--------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
9.1.1. **Request**
>>>>>>>>>>>>>>>>>>
+--------------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+====================+=================+===================+===============+===================+
| name | M | 1 | string | Volume name |
+--------------------+-----------------+-------------------+---------------+-------------------+
| volumeSize | M | 1 | int | Volume size |
+--------------------+-----------------+-------------------+---------------+-------------------+
| imageId | O | 1 | string | Image UUID |
+--------------------+-----------------+-------------------+---------------+-------------------+
| volumeType | O | 1 | string | Volume type |
+--------------------+-----------------+-------------------+---------------+-------------------+
| availabilityZone | O | 1 | string | Usable field |
+--------------------+-----------------+-------------------+---------------+-------------------+
::
{
"tenant": "tenant1",
"volumeName": "volume1",
"volumeSize": 3,
"imageName": "cirros.qcow2",
"volumeType": "volumetype1",
"availabilityZone": "zone1"
}
9.1.2. **Response**
>>>>>>>>>>>>>>>>>>>
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+====================+=================+===================+===============+=====================================+
| returnCode | M | 1 | int | 0: Already exist 1: Newly created |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| vimId | M | 1 | String | vim id |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| vimName | O | 1 | string | vim name |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| status | M | 1 | string | Volume status |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| id | M | 1 | string | Volume id |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| name | M | 1 | string | Volume name |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| volumeType | O | 1 | string | Volume type |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
| availabilityZone | O | 1 | string | Availability Zone |
+--------------------+-----------------+-------------------+---------------+-------------------------------------+
202: accepted
500: failed
::
{
"id": "bc9eebdbbfd356458269340b9ea6fb73",
"name": "volume1",
"returnCode": 1,
}
9.2. **Delete Volume**
----------------------
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | DELETE |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NSLCM->MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
9.2.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
9.2.2. **Response**
>>>>>>>>>>>>>>>>>>>
204: no content
9.3. **List Volumes**
---------------------
+---------------------+--------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes |
+---------------------+--------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+--------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+--------------------------------------------------------------------------------+
9.3.1. **Request**
>>>>>>>>>>>>>>>>>>
msb.onap.org:80/api/multicloud/v0/{cloud
owner}\_{region}/volumes?{……}
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| name | M | 1 | string | Volume name |
+-----------------+-----------------+-------------------+---------------+-------------------+
9.3.2. **Response**
>>>>>>>>>>>>>>>>>>>
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+====================+=================+===================+======================+====================================================+
| vimId | M | 1 | String | vim id |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumes | M | 1 | Array | |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| id | M | 1 | string | Volume id |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| name | M | 1 | string | Volume name |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| createTime | O | 1 | string | Create time |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| status | M | 1 | string | Volume status |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumeSize | M | 1 | int | Volume size |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumeType | M | 1 | string | Volume type |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| availabilityZone | M | 1 | string | Availability Zone |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
200: ok
500: failed
::
{
"volumes": [
{
"status": "available",
"name": "test",
"attachments": [],
"createTime": "2015-12-02T07:57:23.000000",
" volumeType ": "ws",
"id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55",
"size": 20
},
{
"status": "in-use",
"name": "wangsong",
"attachments": [
{
"device": "/dev/vdc",
"serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
"volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"hostName": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
}
],
"createTime": "2015-12-02T06:39:40.000000",
" volumeType ": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"size": 40
}
]
}
9.4. **Get Volumes**
--------------------
+---------------------+-------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} |
+---------------------+-------------------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-------------------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+-------------------------------------------------------------------------------------------+
9.4.1. **Request**
>>>>>>>>>>>>>>>>>>
N/A
9.4.2. **Response**
>>>>>>>>>>>>>>>>>>>
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+====================+=================+===================+======================+====================================================+
| vimId | M | 1 | String | vim id |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| vimName | O | 1 | string | vim name |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| tenantId | M | 1 | String | Tenant UUID |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| id | | 1 | string | Volume id |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| name | | 1 | string | Volume name |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| createTime | | 1 | string | Create time |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| status | | 1 | string | Volume status |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumeType | | 1 | list of string | Volume type |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| volumeSize | | 1 | int | Volume size |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| availabilityZone | M | 1 | string | Availability Zone |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk |
+--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+
**attachment:**
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| device | | 1 | string | Device name |
+-----------------+-----------------+-------------------+---------------+-------------------+
| serverId | | 1 | string | VM id |
+-----------------+-----------------+-------------------+---------------+-------------------+
| volumeId | | 1 | string | Volume id |
+-----------------+-----------------+-------------------+---------------+-------------------+
| hostName | | 1 | string | Host name |
+-----------------+-----------------+-------------------+---------------+-------------------+
| id | | 1 | string | Device id |
+-----------------+-----------------+-------------------+---------------+-------------------+
200: ok
500: failed
::
{
"status": "in-use",
"name": "wangsong",
"attachments": [
{
"device": "/dev/vdc",
"serverId": "3030e666-528e-4954-88f5-cc21dab1262b",
"volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"hostName": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31"
}
],
"createTime": "2015-12-02T06:39:40.000000",
"volumeType ": null,
"id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31",
"volumeSize ": 40
}
10. **Tenant Management**
^^^^^^^^^^^^^^^^^^^^^^^^^
10.1. **List tenants**
----------------------
+---------------------+---------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=====================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants |
+---------------------+---------------------------------------------------------------------+
| Operation | GET |
+---------------------+---------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+---------------------------------------------------------------------+
10.1.1. **Query**
>>>>>>>>>>>>>>>>>
+---------------------+-----------------+-------------------+---------------+-------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=====================+=================+===================+===============+=====================================+
| name={tenantname} | O | 1 | string | Tenant name to filter output list |
+---------------------+-----------------+-------------------+---------------+-------------------------------------+
10.1.2. **Response**
>>>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------+-------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+===================+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+---------------+-------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+---------------+-------------------+
| tenants | M | 1 | Array | |
+-----------------+-----------------+-------------------+---------------+-------------------+
| id | M | 1 | string | tenant UUID |
+-----------------+-----------------+-------------------+---------------+-------------------+
| name | M | 1 | string | tenant name |
+-----------------+-----------------+-------------------+---------------+-------------------+
200: ok
500: failed
::
{
" tenants ": [
{
"id": "1",
"name": "test\_a"
}
]
}
11. **Limits**
^^^^^^^^^^^^^^
11.1. **List Limits of resouces**
---------------------------------
+---------------------+-------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits |
+---------------------+-------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+-------------------------------------------------------------------------------+
11.1.1. **Request**
>>>>>>>>>>>>>>>>>>>
N/A
11.1.2. **Response**
>>>>>>>>>>>>>>>>>>>>
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+===========================+=================+===================+===============+==================================================================+
| vimId | M | 1 | String | vim id |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| tenantId | M | 1 | string | Tenant UUID |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxPersonality | O | 1 | int | The number of allowed injected files for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxPersonalitySize | O | 1 | int | The number of allowed bytes of content for each injected file. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxServerGroupMembers | O | 1 | int | The number of allowed members for each server group. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxServerGroups | O | 1 | int | The number of allowed server groups for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxServerMeta | O | 1 | int | The number of allowed metadata items for each instance. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalCores | O | 1 | int | The number of allowed instance cores for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalInstances | O | 1 | int | The number of allowed instances for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalKeypairs | O | 1 | int | The number of allowed key pairs for each user. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalRAMSize | O | 1 | int | The amount of allowed instance RAM, in MB, for each tenant. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalVolumeGigabytes | O | 1 | int | The maximum total amount of volumes, in gibibytes (GiB). |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| maxTotalVolumes | O | 1 | int | The maximum number of volumes. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| totalVolumesUsed | O | 1 | int | The total number of volumes used. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| totalGigabytesUsed | O | 1 | int | The total number of gibibytes (GiB) used. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| network | O | 1 | int | The number of networks allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| subnet | O | 1 | int | The number of subnets allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| subnetpool | O | 1 | int | The number of subnet pools allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| security\_group\_rule | O | 1 | int | The number of security group rules allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| security\_group | O | 1 | int | The number of security groups allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| router | O | 1 | int | The number of routers allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
| port | O | 1 | int | The number of ports allowed for each project. |
+---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+
200: ok
500: failed
::
{
"maxPersonality": 5,
"maxPersonalitySize": 10240,
"maxServerMeta": 128,
"maxTotalCores": 20,
"maxTotalInstances": 10,
"maxTotalKeypairs": 100,
"maxTotalRAMSize": 51200,
"maxServerGroups": 10,
"maxServerGroupMembers": 10,
}
12. **Host Management**
^^^^^^^^^^^^^^^^^^^^^^^
12.1. **List hosts**
--------------------
+---------------------+------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts |
+---------------------+------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+------------------------------------------------------------------------------+
12.1.1. **Request**
>>>>>>>>>>>>>>>>>>>
N/A
12.1.2. **Response**
>>>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+=================+===================================+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| tenantId | M | 1 | string | Tenant Name |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| hosts | M | 1 | Array of host | List of host information |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| service | M | 1 | string | The service running on the host |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| name | M | 1 | string | host name |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
| zone | O | 1 | string | Available zone for the host |
+-----------------+-----------------+-------------------+-----------------+-----------------------------------+
200: ok
500: failed
::
{
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
"hosts": [
{
"name": "b6e4adbc193d428ea923899d07fb001e",
"service": "conductor",
"zone": "internal",
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"name": "09c025b0efc64211bd23fc50fa974cdf",
"service": "compute",
"zone": "nova"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"name": "e73ec0bd35c64de4a1adfa8b8969a1f6",
"service": "consoleauth",
"zone": "internal"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"host\_name": "396a8a0a234f476eb05fb9fbc5802ba7",
"service": "network",
"zone": "internal"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
},
{
"name": "abffda96592c4eacaf4111c28fddee17",
"service": "scheduler",
"zone": "internal"
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1"
}
]
}
12.2. **Get host**
------------------
+---------------------+-----------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+=========================================================================================+
| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/hosts/{hostname} |
+---------------------+-----------------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+-----------------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTIVIM |
+---------------------+-----------------------------------------------------------------------------------------+
12.2.1. **Request**
>>>>>>>>>>>>>>>>>>>
12.2.2. **Response**
>>>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+=====================+==============================================================+
| vimId | M | 1 | String | vim id |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| vimName | O | 1 | string | vim name |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| tenantId | M | 1 | string | Tenant Name |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| host | M | 1 | List of resources | Host resource info |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| resource | M | 1..N | Object | Resource description |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| cpu | M | 1 | Int | The cpu info on the host. |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| memory_mb | M | 1 | int | The memory info on the host (in MB). |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| name | M | 1 | string | host name |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| project | M | 1 | string | Value: total, used_now, used_max or specific project_id |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| disk_gb | M | 1 | int | The disk info on the host (in GB). |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
200: ok
500: failed
::
{
"cpu": 1,
"disk\_gb": 1028,
"name": "c1a7de0ac9d94e4baceae031d05caae3",
"memory\_mb": 8192,
"vimId": "123",
"vimName": "vimName",
"tenantId": "tenantId1",
"host": [
{
"memory\_mb": 4960,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 92,
"project": "(total)",
"cpu": 4
},
{
"memory\_mb": 1536,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 2,
"project": "(used\_now)",
"cpu": 2
},
{
"memory\_mb": 1024,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 2,
"project": "(used\_max)",
"cpu": 2
},
{
"memory\_mb": 1024,
"name": " c1a7de0ac9d94e4baceae031d05caae3",
"disk\_gb": 2,
"project": "568f7ec425db472ba348251bf1e7eebd",
"cpu": 2
}
],
"vimName": "openstack\_newton",
"vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73",
"tenantId": "568f7ec425db472ba348251bf1e7eebd"
}
13. **VIM Management**
^^^^^^^^^^^^^^^^^^^^^^
13.1. **Update VIM Info**
-------------------------
+---------------------+----------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================================+
| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region}/registry |
+---------------------+----------------------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+----------------------------------------------------------------------------------------------+
| Direction | ESR-> MULTICLOUD |
+---------------------+----------------------------------------------------------------------------------------------+
13.1.1. **Request**
>>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------+-----------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+=======================+
| defaultTenant | M | 1 | string | default tenant name |
+-----------------+-----------------+-------------------+---------------+-----------------------+
13.1.2. **Response**
>>>>>>>>>>>>>>>>>>>>
NA
202: accept
400: failed
13.2. **Get registry status**
-------------------------
+---------------------+----------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================================+
| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region}/registry |
+---------------------+----------------------------------------------------------------------------------------------+
| Operation | GET |
+---------------------+----------------------------------------------------------------------------------------------+
| Direction | ESR-> MULTICLOUD |
+---------------------+----------------------------------------------------------------------------------------------+
13.2.1. **Request**
>>>>>>>>>>>>>>>>>>>
NA
13.2.2. **Response**
>>>>>>>>>>>>>>>>>>>>
NA
200: OK
404: failed
500: failed
13.3. **Unregistry VIM**
------------------------
+---------------------+-----------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+===============================================================================================+
| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region} |
+---------------------+-----------------------------------------------------------------------------------------------+
| Operation | DELETE |
+---------------------+-----------------------------------------------------------------------------------------------+
| Direction | ESR-> MULTICLOUD |
+---------------------+-----------------------------------------------------------------------------------------------+
13.2.1. **Request**
>>>>>>>>>>>>>>>>>>>
NA
13.2.2. **Response**
>>>>>>>>>>>>>>>>>>>>
NA
204: No content found
400: failed
14. **Proxied OpenStack APIs**
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
14.1. **Tokens**
-------------------------
+---------------------+----------------------------------------------------------------------------------------------+
| **IF Definition** | **Description** |
+=====================+==============================================================================================+
| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/identity/v3/auth/tokens |
+---------------------+----------------------------------------------------------------------------------------------+
| Operation | POST |
+---------------------+----------------------------------------------------------------------------------------------+
| Direction | NSLCM-> MULTICLOUD |
+---------------------+----------------------------------------------------------------------------------------------+
14.1.1. **Request**
>>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------+-----------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+===============+=======================+
| auth | O | 1 | Object | Same as OpenStack |
| | | | | Identity Tokens API |
+-----------------+-----------------+-------------------+---------------+-----------------------+
::
{
}
14.1.2. **Response**
>>>>>>>>>>>>>>>>>>>>
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** |
+=================+=================+===================+=====================+==============================================================+
| X-Subject-Token | M | 1 | String | The authentication token in Header |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
| token | O | 1 | Object | Token response, the same as OpenStack Identity Tokens API |
+-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+
201: Created
401: Unauthorized
403: Forbidden
500: failed
::
Header:
X-Subject-Token: a33f3b209e9b471a97fbeab8324a9a45
Body:
{
"token" : {
"user" : {
"domain" : {
"id" : "default",
"name" : "Default"
},
"id" : "9efb043c7629497a8028d7325ca1afb0",
"name" : "admin"
},
"catalog" : [
{
"type" : "network",
"endpoints" : [
{
"interface" : "public",
"id" : "39583c1508ad4b71b380570a745ee10a",
"url" : "http://172.16.77.10:80/api/multicloud-titaniumcloud/v0/CloudOwner_RegionOne/network",
"region_id" : "RegionOne",
"region" : "RegionOne"
}
],
"name" : "neutron",
"id" : "99aefcc82a9246f98f8c281e61ffc754"
},
...
]
"project" : {
"name" : "admin",
"id" : "fcca3cc49d5e42caae15459e27103efc",
"domain" : {
"id" : "default",
"name" : "Default"
}
},
"is_domain" : false,
"expires_at" : "2017-09-11T03:52:29.000000Z"
}
}