.. This work is licensed under a Creative Commons Attribution 4.0 International License. ================================ MultiCloud API Specification V1 ================================ API Catalog =========== `1. Scope`_ `2. Terms, Definitions and Abbreviations`_ `3. Image Management`_ `3.1. Create Image`_ `3.1.1. Request`_ `3.1.2. Response`_ `3.2. Delete Image`_ `3.2.1. Request`_ `3.2.2. Response`_ `3.3. List Images`_ `3.3.1. Request`_ `3.3.2. Response`_ `3.4. Get Image`_ `3.4.1. Request`_ `3.4.2. Response`_ `4. Network Management`_ `4.1. Create Network`_ `4.1.1. Request`_ `4.1.2. Response`_ `4.2. Delete Network`_ `4.2.1. Request`_ `4.2.2. Response`_ `4.3. List Network`_ `4.3.1. Query`_ `4.3.2. Response`_ `4.4. Get Network`_ `4.4.1. Request`_ `4.4.2. Response`_ `5. Subnetwork Management`_ `5.1. Create Subnets`_ `5.1.1. Request`_ `5.1.2. Response`_ `5.2. Delete Subnets`_ `5.2.1. Request`_ `5.2.2. Response`_ `5.3. List Subnets`_ `5.3.1. Query`_ `5.3.2. Response`_ `5.4. Get Subnets`_ `5.4.1. Request`_ `5.4.2. Response`_ `6. Virtual Port`_ `6.1. Create Virtual Port`_ `6.1.1. Request`_ `6.1.2. Response`_ `6.2. Delete Virtual Port`_ `6.2.1. Request`_ `6.2.2. Response`_ `6.3. List Virtual Port`_ `6.3.1. Query`_ `6.3.2. Response`_ `6.4. Get Virtual Port`_ `6.4.1. Request`_ `6.4.2. Response`_ `7. Server Management`_ `7.1. Create Server`_ `7.1.1. Request`_ `7.1.2. Response`_ `7.2. Delete Server`_ `7.2.1. Request`_ `7.2.2. Response`_ `7.3. List Server`_ `7.3.1. Request`_ `7.3.2. Response`_ `7.4. Get Server`_ `7.4.1. Request`_ `7.4.2. Response`_ `8. Flavor Management`_ `8.1. Create Flavor`_ `8.1.1. Request`_ `8.1.2. Response`_ `8.2. Delete Flavor`_ `8.2.1. Request`_ `8.2.2. Response`_ `8.3. List Flavor`_ `8.3.1. Query`_ `8.3.2. Response`_ `8.4. Get Flavor`_ `8.4.1. Request`_ `8.4.2. Response`_ `9. Volume Management`_ `9.1. Create Volume`_ `9.1.1. Request`_ `9.1.2. Response`_ `9.2. Delete Volume`_ `9.2.1. Request`_ `9.2.2. Response`_ `9.3. List Volumes`_ `9.3.1. Request`_ `9.3.2. Response`_ `9.4. Get Volumes`_ `9.4.1. Request`_ `9.4.2. Response`_ `10. Tenant Management`_ `10.1. List tenants`_ `10.1.1. Query`_ `10.1.2. Response`_ `11. Limits`_ `11.1. List Limits of resouces`_ `11.1.1. Request`_ `11.1.2. Response`_ `12. Host Management`_ `12.1. List hosts`_ `12.1.1. Request`_ `12.1.2. Response`_ `12.2. Get host`_ `12.2.1. Request`_ `12.2.2. Response`_ `13. VIM Management`_ `13.1. Update VIM Info`_ `13.1.1. Request`_ `13.1.2. Response`_ `13.2. Unregistry VIM`_ `13.2.1. Request`_ `13.2.2. Response`_ 1. **Scope** ^^^^^^^^^^^^ The scope of the present document is to describe the VIM Driver API specification. 2. **Terms, Definitions and Abbreviations** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For the purposes of the present document, the following abbreviations apply: +--------------------+-------------------------------------------------------------+ | **Abbreviation** | | +====================+=============================================================+ | NFVO | Network Functions Virtualization Orchestrator | +--------------------+-------------------------------------------------------------+ | VNFM | Virtual Network Function Management | +--------------------+-------------------------------------------------------------+ | VIM | Virtualized Infrastructure Manager | +--------------------+-------------------------------------------------------------+ | MultiVIM | MultVIM driver services for OPEN-O to drive VIM instances | +--------------------+-------------------------------------------------------------+ 3. **Image Management** ^^^^^^^^^^^^^^^^^^^^^^^ 3.1. **Create Image** --------------------- +---------------------+-------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/images | +---------------------+-------------------------------------------------------------------------------+ | Operation | POST | +---------------------+-------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------+ | Description | Create Image and Upload the image file to the VIM | +---------------------+-------------------------------------------------------------------------------+ 3.1.1. **Request** >>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===========================+==================================================================================================+ | name | M | 1 | String | Image Name | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | imagePath | M | 1 | String | Image Local Path from catalog | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | imageType | M | 1 | String | Image Type | | | | | | | | | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | visibility | O | 1 | string | Visibility for this image. | | | | | | | | | | | | public, private, shared, or community | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | properties | O | 0..N | List of key-value pairs | Examples:--property vmware_disktype=streamOptimized --property vmware_adaptertype="lsiLogic" | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ :: { "imageName": "cirros", "imagePath": "/home/cirros.qcow2", "imageType": "qcow2" "containerFormat":"bare" } 3.1.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===========================+========================================================+ | id | M | 1 | String | Image UUID in the VIM | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | name | M | 1 | String | Image Name | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | returnCode | M | 1 | Int | 0: Already exist 1: Newly created | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | imageType | M | 1 | String | Image Type | | | | | | | | | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | visibility | O | 1 | string | Visibility for this image. | | | | | | | | | | | | public, private, shared, or community | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | properties | O | 0..N | List of key-value pairs | | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | vimid | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ *202*: accepted 500: failed :: { "id": "3c9eebdbbfd345658269340b9ea6fb73", "name": "cirros", "returnCode": 1 } 3.2. **Delete Image** --------------------- +---------------------+-----------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/images/{imageId} | +---------------------+-----------------------------------------------------------------------------------------+ | Operation | Delete | +---------------------+-----------------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-----------------------------------------------------------------------------------------+ | Description | Delete Image | +---------------------+-----------------------------------------------------------------------------------------+ 3.2.1. **Request** >>>>>>>>>>>>>>>>>> N/A 3.2.2. **Response** >>>>>>>>>>>>>>>>>>> 204: no content 3.3. **List Images** -------------------- +---------------------+-------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud_owner}\_{region}/{tenantid}/images | +---------------------+-------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------+ | Description | Query Image list | +---------------------+-------------------------------------------------------------------------------+ 3.3.1. **Request** >>>>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+==================================================================================================================================================================================================================================================================+ | limit | O | 1 | integer | Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. | +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | marker | O | 1 | string | The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. | +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of an image | +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 3.3.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | \ **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================================================+=================+===================+===============+========================================================+ | images | M | 0..N | List | Image List | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | id | M | 1 | String | Image ID | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | size | M | 1 | int | Image Size | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | name | M | 1 | String | Image Name | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | status | M | 1 | String | Image Status | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | imageType | M | 1 | String | Image Type | | | | | | | | | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | visibility | O | 1 | string | Visibility for this image. | | | | | | | | | | | | public, private, shared, or community | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ 200: ok 500: failed :: { "vimid": "", "vimname": "", "imageList": [{ "status": "active", "id": "5e2757c1-f846-4727-915c-9a872553ed75", "size": 862016, "name": "vim-plus-cgsl40g-z.qcow2" }] } 3.4. **Get Image** ------------------ +---------------------+-----------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageid} | +---------------------+-----------------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-----------------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-----------------------------------------------------------------------------------------+ | Description | Query Image Information | +---------------------+-----------------------------------------------------------------------------------------+ 3.4.1. **Request** >>>>>>>>>>>>>>>>>> N/A 3.4.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+========================================================+ | id | M | 1 | String | Image ID | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | size | M | 1 | int | Image Size | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | name | M | 1 | String | Image Name | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | status | M | 1 | String | Image Status | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | imageType | M | 1 | String | Image Type | | | | | | | | | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | visibility | O | 1 | string | Visibility for this image. | | | | | | | | | | | | public, private, shared, or community | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | vimName | M | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ 200: ok 500: failed :: { "vimid": "", "vimname": "", "status": "active", "id": "5e2757c1-f846-4727-915c-9a872553ed75", "size": 862016, "name": "vim-plus-cgsl40g-z.qcow2" } 4. **Network Management** ^^^^^^^^^^^^^^^^^^^^^^^^^ 4.1. **Create Network** ----------------------- +---------------------+---------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | +---------------------+---------------------------------------------------------------------------------+ | Operation | POST | +---------------------+---------------------------------------------------------------------------------+ | Direction | VNFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------+ | Description | Create network and subnetwork on the VIM | +---------------------+---------------------------------------------------------------------------------+ 4.1.1. **Request** >>>>>>>>>>>>>>>>>> +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=============================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ | name | M | 1 | String | Logical network name | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | shared | M | 1 | boolean | Whether to share(1:sharing;0:private) | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networkType | O | 1 | String | Network type | | | | | | | | | | | | flat, vlan, vxlan, gre, | | | | | | | | | | | | portgroup | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | segmentationId | O | 1 | Int | id of paragraph | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | routerExternal | O | 1 | boolean |Indicates whether this network can provide floating IPs via a router. | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ :: { "tenant": "tenant1", "networkName": "ommnet", "shared": 1, "vlanTransparent": 1, "networkType": "vlan", "segmentationId": 202, "physicalNetwork": "ctrl", "routerExternal": 0 } 4.1.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ | status | M | 1 | string | Network status | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | Network id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Network name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | segmentationId | O | 1 | int | Segmentation id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networkType | O | 1 | string | Network type | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 202: accepted 500: failed :: { "returnCode": 0, "vimId": "11111", "vimName": "11111", "status": "ACTIVE", "id": "3c9eebdbbfd345658269340b9ea6fb73", "name": "net1", "tenant": "tenant1", "networkName": "ommnet", "shared": 1, "vlanTransparent": 1, "networkType": "vlan", "segmentationId": 202, "physicalNetwork": "ctrl", "routerExternal": 0 } 4.2. **Delete Network** ----------------------- +---------------------+---------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=============================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} | +---------------------+---------------------------------------------------------------------------------------------+ | Operation | Delete | +---------------------+---------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------------------+ 4.2.1. **Request** >>>>>>>>>>>>>>>>>> N/A 4.2.2. **Response** >>>>>>>>>>>>>>>>>>> 204: no content 4.3. **List Network** --------------------- +---------------------+---------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | +---------------------+---------------------------------------------------------------------------------+ | Operation | get | +---------------------+---------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------+ 4.3.1. **Query** >>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+=======================================================================================+ | name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of a network | +-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ 4.3.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networks | | 0..N | List | Network list | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | status | M | 1 | string | Network status | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | Network id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Network name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | segmentationId | O | 1 | int | Segmentation id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networkType | O | 1 | string | Network type | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed :: { "vimId": "11111", "vimName": "111", "networks": [{ "status": "ACTIVE", "id": "3c9eebdbbfd345658269340b9ea6fb73", "name": "net1", "tenant": "tenant1", "networkName": "ommnet", "shared": 1, "vlanTransparent": 1, "networkType": "vlan", "segmentationId": 202, "physicalNetwork ": "ctrl", "routerExternal ": 0 }] } 4.4. **Get Network** -------------------- +---------------------+---------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=============================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} | +---------------------+---------------------------------------------------------------------------------------------+ | Operation | get | +---------------------+---------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------------------+ 4.4.1. **Request** >>>>>>>>>>>>>>>>>> N/A 4.4.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ | status | M | 1 | string | Network status | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | Network id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Network name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | segmentationId | O | 1 | int | Segmentation id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networkType | O | 1 | string | Network type | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed :: { "vimId":"11111", "vimName":"11111", "status": "ACTIVE", "id": "3c9eebdbbfd345658269340b9ea6fb73", "name": "net1", "tenant": "tenant1", "networkName": "ommnet", "shared": 1, "vlanTransparent": 1, "networkType":"vlan", "segmentationId":202, "physicalNetwork ":"ctrl", "routerExternal ":0 } 5. **Subnetwork Management** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 5.1. **Create Subnets** ----------------------- +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | +---------------------+--------------------------------------------------------------------------------+ | Operation | POST | +---------------------+--------------------------------------------------------------------------------+ | Direction | VNFLCM,NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ | Description | Create network and subnetwork on the VIM | +---------------------+--------------------------------------------------------------------------------+ 5.1.1. **Request** >>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+------------------------+----------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+========================+======================+ | networkId | M | 1 | String | Network Id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | name | M | 1 | String | SubnetName | +-------------------+-----------------+-------------------+------------------------+----------------------+ | cidr | M | 1 | String | Subnet cidr | +-------------------+-----------------+-------------------+------------------------+----------------------+ | ipVersion | M | 1 | Int | Ip type | | | | | | | | | | | | 4,6 | +-------------------+-----------------+-------------------+------------------------+----------------------+ | enableDhcp | O | 1 | boolean | Whether to allow | | | | | | | | | | | | 1: yes;0: no | +-------------------+-----------------+-------------------+------------------------+----------------------+ | gatewayIp | O | 1 | String | Gateway ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | dnsNameservers | O | 1..n | List of servers | List of servers | +-------------------+-----------------+-------------------+------------------------+----------------------+ | hostRoutes | O | 1..n | List of routes | List of routes | +-------------------+-----------------+-------------------+------------------------+----------------------+ | allocationPools | O | 1..n | list of "allocation" | list of allocation | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->allocation | | | | | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->start | O | 1 | String | Start ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->end | O | 1 | String | End ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ :: { "tenant": "tenant1", "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22", "subnetName": "subnet1", "cidr": "10.43.35.0/24", "ipVersion": 4, "enableDhcp": 1, "gatewayIp": "10.43.35.1", "dnsNameservers": [], "allocationPools": [{ "start": "192.168.199.2", "end": "192.168.199.254" }], "hostRoutes": [] } 5.1.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+========================+=====================================+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | status | M | 1 | string | subnetwork status | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | id | M | 1 | string | subNetwork id | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | networkId | O | 1 | String | Network Id | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | networkName | O | 1 | String | Network Name | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | name | M | 1 | String | SubnetName | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | cidr | M | 1 | String | Subnet cidr | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | ipVersion | M | 1 | Int | Ip type | | | | | | | | | | | | 4,6 | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | enableDhcp | O | 1 | boolean | Whether to allow | | | | | | | | | | | | 1: yes;0: no | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | gatewayIp | O | 1 | String | Gateway ip | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | dnsNameservers | O | 1..n | List of servers | List of servers | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | hostRoutes | O | 1..n | List of routes | List of routes | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | allocationPools | O | 1..n | list of "allocation" | list of allocation | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | -->allocation | | | | | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | -->start | O | 1 | String | Start ip | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | -->end | O | 1 | String | End ip | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ 202: accepted 500: failed :: { "returnCode": 0, "vimId": "11111", "vimName": "11111", "status": " ACTIVE", "id": " d62019d3-bc6e-4319-9c1d-6722fc136a23", "tenant": "tenant1", "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22", "name": "subnet1", "cidr": "10.43.35.0/24", "ipVersion": 4, "enableDhcp": 1, "gatewayIp": "10.43.35.1", "dnsNameservers": [], "allocationPools": [{ "start": "192.168.199.2", "end": "192.168.199.254" }], "hostRoutes": [] } 5.2. **Delete Subnets** ----------------------- +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetId} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | Delete | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 5.2.1. **Request** >>>>>>>>>>>>>>>>>> N/A 5.2.2. **Response** >>>>>>>>>>>>>>>>>>> 204: no content 5.3. **List Subnets** --------------------- +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | +---------------------+--------------------------------------------------------------------------------+ | Operation | get | +---------------------+--------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 5.3.1. **Query** >>>>>>>>>>>>>>>> msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/subnets?{……} +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+================================================================================================+ | name | O | 1 | String | Filters fields of the response by a name, as a string. A valid value is the name of a subnet | +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ 5.3.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+------------------------+----------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+========================+======================+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+------------------------+----------------------+ | subnets | M | 0..N | List | Network list | +-------------------+-----------------+-------------------+------------------------+----------------------+ | status | | 1 | string | subnetwork status | +-------------------+-----------------+-------------------+------------------------+----------------------+ | id | | 1 | string | subNetwork id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+------------------------+----------------------+ | networkId | O | 1 | String | Network Id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | networkName | O | 1 | String | Network Name | +-------------------+-----------------+-------------------+------------------------+----------------------+ | name | M | 1 | String | SubnetName | +-------------------+-----------------+-------------------+------------------------+----------------------+ | cidr | M | 1 | String | Subnet cidr | +-------------------+-----------------+-------------------+------------------------+----------------------+ | ipVersion | M | 1 | Int | Ip type | | | | | | | | | | | | 4,6 | +-------------------+-----------------+-------------------+------------------------+----------------------+ | enableDhcp | O | 1 | boolean | Whether to allow | | | | | | | | | | | | 1: yes;0: no | +-------------------+-----------------+-------------------+------------------------+----------------------+ | gatewayIp | O | 1 | String | Gateway ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | dnsNameservers | O | 1..n | List of servers | List of servers | +-------------------+-----------------+-------------------+------------------------+----------------------+ | hostRoutes | O | 1..n | List of routes | List of routes | +-------------------+-----------------+-------------------+------------------------+----------------------+ | allocationPools | O | 1..n | list of "allocation" | list of allocation | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->allocation | | | | | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->start | O | 1 | String | Start ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->end | O | 1 | String | End ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ **200: ok** **500: failed** :: { "vimId": "11111", "vimName": "11111", "subnets": [ { "status": " ACTIVE", "id": " d62019d3-bc6e-4319-9c1d-6722fc136a23", "tenant": "tenant1", "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22", "name": "subnet1", "cidr": "10.43.35.0/24", "ipVersion": 4, "enableDhcp": 1, "gatewayIp": "10.43.35.1", "dnsNameservers": [], "allocationPools": [{ "start": "192.168.199.2", "end": "192.168.199.254" }], "hostRoutes": [] } ] } 5.4. **Get Subnets** -------------------- +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetid} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | get | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 5.4.1. **Request** >>>>>>>>>>>>>>>>>> N/A 5.4.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+------------------------+----------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+========================+======================+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+------------------------+----------------------+ | status | | 1 | string | subnetwork status | +-------------------+-----------------+-------------------+------------------------+----------------------+ | id | | 1 | string | subNetwork id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+------------------------+----------------------+ | networkId | O | 1 | String | Network Id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | networkName | O | 1 | String | Network Name | +-------------------+-----------------+-------------------+------------------------+----------------------+ | name | M | 1 | String | SubnetName | +-------------------+-----------------+-------------------+------------------------+----------------------+ | cidr | M | 1 | String | Subnet cidr | +-------------------+-----------------+-------------------+------------------------+----------------------+ | ipVersion | M | 1 | Int | Ip type | | | | | | | | | | | | 4,6 | +-------------------+-----------------+-------------------+------------------------+----------------------+ | enableDhcp | O | 1 | boolean | Whether to allow | | | | | | | | | | | | 1: yes;0: no | +-------------------+-----------------+-------------------+------------------------+----------------------+ | gatewayIp | O | 1 | String | Gateway ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | dnsNameservers | O | 1..n | List of servers | List of servers | +-------------------+-----------------+-------------------+------------------------+----------------------+ | hostRoutes | O | 1..n | List of routes | List of routes | +-------------------+-----------------+-------------------+------------------------+----------------------+ | allocationPools | O | 1..n | list of "allocation" | list of allocation | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->allocation | | | | | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->start | O | 1 | String | Start ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->end | O | 1 | String | End ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ 202: accepted 500: failed :: { "status": " ACTIVE", "id": " d62019d3-bc6e-4319-9c1d-6722fc136a23", "tenant": "tenant1", "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22", "name": "subnet1", "cidr": "10.43.35.0/24", "ipVersion": 4, "enableDhcp": 1, "gatewayIp": "10.43.35.1", "dnsNameservers": [], "allocationPools": [{ "start": "192.168.199.2", "end": "192.168.199.254" }], "hostRoutes": [] } 6. **Virtual Port** ^^^^^^^^^^^^^^^^^^^ 6.1. **Create Virtual Port** ---------------------------- +---------------------+------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+==============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports | +---------------------+------------------------------------------------------------------------------+ | Operation | POST | +---------------------+------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+------------------------------------------------------------------------------+ 6.1.1. **Request** >>>>>>>>>>>>>>>>>> +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +========================+=================+===================+===============+=======================================================+ | networkId | M | 1 | string | Network UUID | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | subnetId | O | 1 | string | Subnet UUID | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | name | M | 1 | string | Port name | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | macAddress | O | 1 | string | Mac address | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | ip | O | 1 | string | Ip address | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | vnicType | O | 1 | string | Virtual network card type, | | | | | | | | | | | | the value of three kinds of normal/direct/macvtap | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | \ **securityGroups** | **O** | **1** | **string** | **The IDs of security groups applied to the port.** | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ 6.1.2. **Response** >>>>>>>>>>>>>>>>>>> +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+===============+=====================================================+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vimId | M | 1 | String | vim id | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vimName | O | 1 | string | vim name | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | status | M | 1 | string | status | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | id | M | 1 | string | Port Id | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | name | M | 1 | string | Port name | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkName | M | 1 | string | Network name | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkId | M | 1 | string | Network Id | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetName | M | 1 | string | Subnet name | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetId | M | 1 | string | SubnetId | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | macAddress | O | 1 | string | Mac address | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | ip | O | 1 | string | Ip address | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vnicType | O | 1 | string | Virtual network card type, | | | | | | | | | | | | the value of three kinds of normal/direct/macvtap | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **securityGroups** | **O** | **1** | **string** | **List of security group names.** | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ 6.2. **Delete Virtual Port** ---------------------------- +---------------------+---------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=======================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} | +---------------------+---------------------------------------------------------------------------------------+ | Operation | DELETTE | +---------------------+---------------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------------+ 6.2.1. **Request** >>>>>>>>>>>>>>>>>> N/A 6.2.2. **Response** >>>>>>>>>>>>>>>>>>> 204: no content 6.3. **List Virtual Port** -------------------------- +---------------------+-----------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports | +---------------------+-----------------------------------------------------------------------------+ | Operation | GET | +---------------------+-----------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+-----------------------------------------------------------------------------+ 6.3.1. **Query** >>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+=================================================+ | name | M | 1 | string | Port name to filter out list of virtual ports | +-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ 6.3.2. **Response** >>>>>>>>>>>>>>>>>>> +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+=====================================================+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | Ports | M | 0..N | List | ports | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | id | M | 1 | string | Port Id | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | name | M | 1 | string | Port name | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | status | M | 1 | string | status | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **networkName** | O | 1 | string | Network name | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkId | M | 1 | string | Network Id | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetName | O | 1 | string | Subnet name | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetId | M | 1 | string | SubnetId | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | macAddress | O | 1 | string | Mac address | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | ip | O | 1 | string | Ip address | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vnicType | O | 1 | string | Virtual network card type, | | | | | | | | | | | | the value of three kinds of normal/direct/macvtap | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | securityGroups | O | 1 | string | List of security group names. | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ **200: ok** **500: failed** 6.4. **Get Virtual Port** ------------------------- +---------------------+---------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=======================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} | +---------------------+---------------------------------------------------------------------------------------+ | Operation | GET | +---------------------+---------------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------------+ 6.4.1. **Request** >>>>>>>>>>>>>>>>>> N/A 6.4.2. **Response** >>>>>>>>>>>>>>>>>>> +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +==================+=================+===================+===============+=====================================================+ | vimId | M | 1 | String | vim id | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vimName | O | 1 | string | vim name | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | status | M | 1 | string | status | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | id | M | 1 | string | Port Id | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | name | M | 1 | string | Port name | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkName | M | 1 | string | Network name | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkId | M | 1 | string | Network Id | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetName | M | 1 | string | Subnet name | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetId | M | 1 | string | SubnetId | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | macAddress | O | 1 | string | Mac address | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | ip | O | 1 | string | Ip address | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vnicType | O | 1 | string | Virtual network card type, | | | | | | | | | | | | the value of three kinds of normal/direct/macvtap | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | securityGroups | O | 1 | string | **List of security group names.** | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ **200: ok** **500: failed** 7. **Server Management** ^^^^^^^^^^^^^^^^^^^^^^^^ 7.1. **Create Server** ---------------------- +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | +---------------------+--------------------------------------------------------------------------------+ | Operation | POST | +---------------------+--------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 7.1.1. **Request** >>>>>>>>>>>>>>>>>> +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+=======================================+========================================================================================================================================================================================+ | name | M | 1 | string | server name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | boot | M | 1 | String | Start parameters | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicArray | O | 1..n | List of nic | List of nic | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | contextArray | O | 1..n | list of context | list of context | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volumeArray | O | 1..n | list of volume | list of volume | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | availabilityZone | O | 1 | string | Usable field | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | flavorId | M | 1 | String | server Flavor id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | userdata | O | 1 | string | Configuration information or scripts to use upon launch. Must be Base64 encoded. | | | | | | | | | | | | NOTE: The ‘null’ value allowed in Nova legacy v2 API, but due to the strict input validation, it isn’t allowed in Nova v2.1 API. | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | securityGroups | O | 1 | List of names of security group | One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group. | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | serverGroup | O | 1 | string | the ServerGroup for anti-affinity and affinity | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ **boot** +-----------------+-----------------+-------------------+---------------+---------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===========================+ | type | M | 1 | int | Startup mode | | | | | | | | | | | | 1. boot from the volume | | | | | | | | | | | | 2. boot from image | +-----------------+-----------------+-------------------+---------------+---------------------------+ | volumeId | O | 1 | string | Volume Id(type=1) | +-----------------+-----------------+-------------------+---------------+---------------------------+ | imageId | O | 1 | String | ImageId(type=2) | +-----------------+-----------------+-------------------+---------------+---------------------------+ **contextArray** +-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===========================================================================================================================================================+ | fileName | M | 1 | String | Injection file name | +-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | fileData | M | 1 | string | Injection file content (injection file content inside the $MAC\_1 $MAC\_1 need to be replaced by the MAC address, of which 1 is NIC index. ) | +-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ **volumeArray** +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | volumeId | M | 1 | String | Volume Id | +-----------------+-----------------+-------------------+---------------+-------------------+ **nicArray** +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | portId | M | 1 | String | Port Id | +-----------------+-----------------+-------------------+---------------+-------------------+ **metadata** +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | keyName | M | 1 | String | Key name | +-----------------+-----------------+-------------------+---------------+-------------------+ | value | M | 1 | string | value | +-----------------+-----------------+-------------------+---------------+-------------------+ :: { "tenant": "tenant1", "name": "vm1", "availabilityZone": "az1", "flavorName": "vm_large", "boot": { "type": 1, " volumeName": "volume1" }, "flavorId": "vm_large_134213", "contextArray": [{ "fileName": "test.yaml", "fileData": "…." }], "volumeArray": [{ "volumeName": "vol1", }], "nicArray": [{ "portId": "port_a" }], "metada": [{ "keyName": "foo", "value": "foo value" }], "userdata": "abcdedf" } 7.1.2. **Response** >>>>>>>>>>>>>>>>>>> +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+======================================+========================================================================================================================================================================================+ | vimId | M | 1 | String | vim id | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | returnCode | | 1 | int | 0: Already exist 1: Newly created | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | server id | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | | 1 | string | server name | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | boot | M | 1 | String | Start parameters | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicArray | O | 1..n | List of nic | List of nic | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volumeArray | O | 1..n | list of volume | list of volume | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | availabilityZone | O | 1 | string | Usable field | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | flavorId | M | 1 | String | server Flavor | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **securityGroups** | **O** | **1** | **List of name of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | | | | | | | | | | | | **[TBD]** | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | | | | | | | | | | | | [TBD] | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **status** | **M** | **1** | **string** | Server status, 0:INACTIVE,1:ACTIVE,2:ERROR | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 202: accepted 500: failed :: { "id": "3c9eebdbbfd345658269340b9ea6fb73", "name": "vm1", "returnCode": 1, } 7.2. **Delete Server** ---------------------- +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | DELETE | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 7.2.1. **Request** >>>>>>>>>>>>>>>>>> N/A 7.2.2. **Response** >>>>>>>>>>>>>>>>>>> 204: no content 7.3. **List Server** -------------------- +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | +---------------------+--------------------------------------------------------------------------------+ | Operation | get | +---------------------+--------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 7.3.1. **Request** >>>>>>>>>>>>>>>>>> msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……} +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | name | M | 1 | string | server name | +-----------------+-----------------+-------------------+---------------+-------------------+ 7.3.2. **Response** >>>>>>>>>>>>>>>>>>> +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+=======================================+========================================================================================================================================================================================+ | vimId | M | 1 | String | vim id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | servers | M | 1 | array | server list | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | server id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | server name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | boot | M | 1 | String | Start parameters | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicArray | O | 1..n | List of nic | List of nic | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volumeArray | O | 1..n | list of volume | list of volume | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | availabilityZone | O | 1 | string | Usable field | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | flavorId | M | 1 | String | server Flavor | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | metada | O | 1 | keypair | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | | | | | | | | | | | | **[TBD]** | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | | | | | | | | | | | | [TBD] | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed 7.4. **Get Server** ------------------- +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | get | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 7.4.1. **Request** >>>>>>>>>>>>>>>>>> N/A 7.4.2. **Response** >>>>>>>>>>>>>>>>>>> +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+=======================================+========================================================================================================================================================================================+ | vimId | M | 1 | String | vim id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | server id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | server name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | boot | M | 1 | String | Start parameters | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicArray | O | 1..n | List of nic | List of nic | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volumeArray | O | 1..n | list of volume | list of volume | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | availabilityZone | O | 1 | string | Usable field | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | flavorId | M | 1 | String | server Flavor | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | | | | | | | | | | | | **[TBD]** | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | | | | | | | | | | | | [TBD] | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed 8. **Flavor Management** ^^^^^^^^^^^^^^^^^^^^^^^^ 8.1. **Create Flavor** ---------------------- +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors | +---------------------+--------------------------------------------------------------------------------+ | Operation | POST | +---------------------+--------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 8.1.1. **Request** >>>>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============================+==============================================================================================================================+ | name | M | 1 | string | Flavor Name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vcpu | M | 1 | int | Virtual CPU number | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | memory | M | 1 | int | Memory size | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | disk | M | 1 | int | The size of the root disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | ephemeral | O | 1 | int | The size of the ephemeral disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | swap | O | 1 | int | The size of the swap disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | isPublic | O | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ 8.1.2. **Response** >>>>>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===========================+==============================================================================================================================+ | id | M | 1 | string | Flavor id | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Flavor name | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vcpu | M | 1 | int | Virtual CPU number | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | memory | M | 1 | int | Memory size | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | disk | M | 1 | int | The size of the root disk | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | ephemeral | M | 1 | int | The size of the ephemeral disk | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | swap | M | 1 | int | The size of the swap disk | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | extraSpecs | O | 0..N | List of Key-value pairs | EPA parameter | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ 8.2. **Delete Flavor** ---------------------- +---------------------+--------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+============================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors /{flavorid} | +---------------------+--------------------------------------------------------------------------------------------+ | Operation | DELETE | +---------------------+--------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------------------+ 8.2.1. **Request** >>>>>>>>>>>>>>>>>> N/A 8.2.2. **Response** >>>>>>>>>>>>>>>>>>> 204: no content 8.3. **List Flavor** -------------------- +---------------------+---------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors | +---------------------+---------------------------------------------------------------------------------+ | Operation | get | +---------------------+---------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------+ 8.3.1. **Query** >>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+---------------+----------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+==================================+ | name | M | 1 | string | Flavor name to filter out list | +-----------------+-----------------+-------------------+---------------+----------------------------------+ 8.3.2. **Response** >>>>>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============================+==============================================================================================================================+ | flavors | M | 0..N | list | Vm list | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | Flavor id | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Flavor Name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vcpu | M | 1 | int | Virtual CPU number | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | memory | M | 1 | int | Memory size | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | disk | M | 1 | int | The size of the root disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | ephemeral | M | 1 | int | The size of the ephemeral disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | swap | M | 1 | int | The size of the swap disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed 8.4. **Get Flavor** ------------------- +---------------------+----------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+==============================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors/{ flavorsid } | +---------------------+----------------------------------------------------------------------------------------------+ | Operation | get | +---------------------+----------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+----------------------------------------------------------------------------------------------+ 8.4.1. **Request** >>>>>>>>>>>>>>>>>> N/A 8.4.2. **Response** >>>>>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============================+==============================================================================================================================+ | id | M | 1 | string | Flavor id | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Flavor Name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vcpu | M | 1 | int | Virtual CPU number | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | memory | M | 1 | int | Memory size | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | disk | M | 1 | int | The size of the root disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | ephemeral | M | 1 | int | The size of the ephemeral disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | swap | M | 1 | int | The size of the swap disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed 9. **Volume Management** ^^^^^^^^^^^^^^^^^^^^^^^^ 9.1. **Create Volume** ---------------------- +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | +---------------------+--------------------------------------------------------------------------------+ | Operation | POST | +---------------------+--------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 9.1.1. **Request** >>>>>>>>>>>>>>>>>> +--------------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +====================+=================+===================+===============+===================+ | name | M | 1 | string | Volume name | +--------------------+-----------------+-------------------+---------------+-------------------+ | volumeSize | M | 1 | int | Volume size | +--------------------+-----------------+-------------------+---------------+-------------------+ | imageId | O | 1 | string | Image UUID | +--------------------+-----------------+-------------------+---------------+-------------------+ | volumeType | O | 1 | string | Volume type | +--------------------+-----------------+-------------------+---------------+-------------------+ | availabilityZone | O | 1 | string | Usable field | +--------------------+-----------------+-------------------+---------------+-------------------+ :: { "tenant": "tenant1", "volumeName": "volume1", "volumeSize": 3, "imageName": "cirros.qcow2", "volumeType": "volumetype1", "availabilityZone": "zone1" } 9.1.2. **Response** >>>>>>>>>>>>>>>>>>> +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +====================+=================+===================+===============+=====================================+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | vimId | M | 1 | String | vim id | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | vimName | O | 1 | string | vim name | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | status | M | 1 | string | Volume status | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | id | M | 1 | string | Volume id | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | name | M | 1 | string | Volume name | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | volumeType | O | 1 | string | Volume type | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | availabilityZone | O | 1 | string | Availability Zone | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ 202: accepted 500: failed :: { "id": "bc9eebdbbfd356458269340b9ea6fb73", "name": "volume1", "returnCode": 1, } 9.2. **Delete Volume** ---------------------- +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | DELETE | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 9.2.1. **Request** >>>>>>>>>>>>>>>>>> N/A 9.2.2. **Response** >>>>>>>>>>>>>>>>>>> 204: no content 9.3. **List Volumes** --------------------- +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | +---------------------+--------------------------------------------------------------------------------+ | Operation | GET | +---------------------+--------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 9.3.1. **Request** >>>>>>>>>>>>>>>>>> msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/volumes?{……} +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | name | M | 1 | string | Volume name | +-----------------+-----------------+-------------------+---------------+-------------------+ 9.3.2. **Response** >>>>>>>>>>>>>>>>>>> +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +====================+=================+===================+======================+====================================================+ | vimId | M | 1 | String | vim id | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | vimName | O | 1 | string | vim name | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumes | M | 1 | Array | | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | id | M | 1 | string | Volume id | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | name | M | 1 | string | Volume name | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | createTime | O | 1 | string | Create time | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | status | M | 1 | string | Volume status | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumeSize | M | 1 | int | Volume size | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumeType | M | 1 | string | Volume type | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | availabilityZone | M | 1 | string | Availability Zone | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | attachments | M | 1..n | list of attachment | List of additional information on the cloud disk | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ 200: ok 500: failed :: { "volumes": [ { "status": "available", "name": "test", "attachments": [], "createTime": "2015-12-02T07:57:23.000000", " volumeType ": "ws", "id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55", "size": 20 }, { "status": "in-use", "name": "wangsong", "attachments": [ { "device": "/dev/vdc", "serverId": "3030e666-528e-4954-88f5-cc21dab1262b", "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", "hostName": null, "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31" } ], "createTime": "2015-12-02T06:39:40.000000", " volumeType ": null, "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", "size": 40 } ] } 9.4. **Get Volumes** -------------------- +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 9.4.1. **Request** >>>>>>>>>>>>>>>>>> N/A 9.4.2. **Response** >>>>>>>>>>>>>>>>>>> +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +====================+=================+===================+======================+====================================================+ | vimId | M | 1 | String | vim id | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | vimName | O | 1 | string | vim name | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | id | | 1 | string | Volume id | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | name | | 1 | string | Volume name | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | createTime | | 1 | string | Create time | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | status | | 1 | string | Volume status | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumeType | | 1 | list of string | Volume type | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumeSize | | 1 | int | Volume size | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | availabilityZone | M | 1 | string | Availability Zone | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | attachments | M | 1..n | list of attachment | List of additional information on the cloud disk | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ **attachment:** +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | device | | 1 | string | Device name | +-----------------+-----------------+-------------------+---------------+-------------------+ | serverId | | 1 | string | VM id | +-----------------+-----------------+-------------------+---------------+-------------------+ | volumeId | | 1 | string | Volume id | +-----------------+-----------------+-------------------+---------------+-------------------+ | hostName | | 1 | string | Host name | +-----------------+-----------------+-------------------+---------------+-------------------+ | id | | 1 | string | Device id | +-----------------+-----------------+-------------------+---------------+-------------------+ 200: ok 500: failed :: { "status": "in-use", "name": "wangsong", "attachments": [ { "device": "/dev/vdc", "serverId": "3030e666-528e-4954-88f5-cc21dab1262b", "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", "hostName": null, "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31" } ], "createTime": "2015-12-02T06:39:40.000000", "volumeType ": null, "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", "volumeSize ": 40 } 10. **Tenant Management** ^^^^^^^^^^^^^^^^^^^^^^^^^ 10.1. **List tenants** ---------------------- +---------------------+---------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=====================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants | +---------------------+---------------------------------------------------------------------+ | Operation | GET | +---------------------+---------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+---------------------------------------------------------------------+ 10.1.1. **Query** >>>>>>>>>>>>>>>>> +---------------------+-----------------+-------------------+---------------+-------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=====================+=================+===================+===============+=====================================+ | name={tenantname} | O | 1 | string | Tenant name to filter output list | +---------------------+-----------------+-------------------+---------------+-------------------------------------+ 10.1.2. **Response** >>>>>>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+---------------+-------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+---------------+-------------------+ | tenants | M | 1 | Array | | +-----------------+-----------------+-------------------+---------------+-------------------+ | id | M | 1 | string | tenant UUID | +-----------------+-----------------+-------------------+---------------+-------------------+ | name | M | 1 | string | tenant name | +-----------------+-----------------+-------------------+---------------+-------------------+ 200: ok 500: failed :: { " tenants ": [ { "id": "1", "name": "test\_a" } ] } 11. **Limits** ^^^^^^^^^^^^^^ 11.1. **List Limits of resouces** --------------------------------- +---------------------+-------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits | +---------------------+-------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+-------------------------------------------------------------------------------+ 11.1.1. **Request** >>>>>>>>>>>>>>>>>>> N/A 11.1.2. **Response** >>>>>>>>>>>>>>>>>>>> +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===========================+=================+===================+===============+==================================================================+ | vimId | M | 1 | String | vim id | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | tenantId | M | 1 | string | Tenant UUID | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxPersonality | O | 1 | int | The number of allowed injected files for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxPersonalitySize | O | 1 | int | The number of allowed bytes of content for each injected file. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxServerGroupMembers | O | 1 | int | The number of allowed members for each server group. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxServerGroups | O | 1 | int | The number of allowed server groups for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxServerMeta | O | 1 | int | The number of allowed metadata items for each instance. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalCores | O | 1 | int | The number of allowed instance cores for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalInstances | O | 1 | int | The number of allowed instances for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalKeypairs | O | 1 | int | The number of allowed key pairs for each user. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalRAMSize | O | 1 | int | The amount of allowed instance RAM, in MB, for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalVolumeGigabytes | O | 1 | int | The maximum total amount of volumes, in gibibytes (GiB). | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalVolumes | O | 1 | int | The maximum number of volumes. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | totalVolumesUsed | O | 1 | int | The total number of volumes used. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | totalGigabytesUsed | O | 1 | int | The total number of gibibytes (GiB) used. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | network | O | 1 | int | The number of networks allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | subnet | O | 1 | int | The number of subnets allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | subnetpool | O | 1 | int | The number of subnet pools allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | security\_group\_rule | O | 1 | int | The number of security group rules allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | security\_group | O | 1 | int | The number of security groups allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | router | O | 1 | int | The number of routers allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | port | O | 1 | int | The number of ports allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ 200: ok 500: failed :: { "maxPersonality": 5, "maxPersonalitySize": 10240, "maxServerMeta": 128, "maxTotalCores": 20, "maxTotalInstances": 10, "maxTotalKeypairs": 100, "maxTotalRAMSize": 51200, "maxServerGroups": 10, "maxServerGroupMembers": 10, } 12. **Host Management** ^^^^^^^^^^^^^^^^^^^^^^^ 12.1. **List hosts** -------------------- +---------------------+------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+==============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts | +---------------------+------------------------------------------------------------------------------+ | Operation | GET | +---------------------+------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+------------------------------------------------------------------------------+ 12.1.1. **Request** >>>>>>>>>>>>>>>>>>> N/A 12.1.2. **Response** >>>>>>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+=================+===================================+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | tenantId | M | 1 | string | Tenant Name | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | hosts | M | 1 | Array of host | List of host information | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | service | M | 1 | string | The service running on the host | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | name | M | 1 | string | host name | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | zone | O | 1 | string | Available zone for the host | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ 200: ok 500: failed :: { "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" "hosts": [ { "name": "b6e4adbc193d428ea923899d07fb001e", "service": "conductor", "zone": "internal", "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" }, { "name": "09c025b0efc64211bd23fc50fa974cdf", "service": "compute", "zone": "nova" "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" }, { "name": "e73ec0bd35c64de4a1adfa8b8969a1f6", "service": "consoleauth", "zone": "internal" "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" }, { "host\_name": "396a8a0a234f476eb05fb9fbc5802ba7", "service": "network", "zone": "internal" "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" }, { "name": "abffda96592c4eacaf4111c28fddee17", "service": "scheduler", "zone": "internal" "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" } ] } 12.2. **Get host** ------------------ +---------------------+-----------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/hosts/{hostname} | +---------------------+-----------------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-----------------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+-----------------------------------------------------------------------------------------+ 12.2.1. **Request** >>>>>>>>>>>>>>>>>>> 12.2.2. **Response** >>>>>>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+=====================+==============================================================+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | tenantId | M | 1 | string | Tenant Name | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | host | M | 1 | List of resources | Host resource info | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | resource | M | 1..N | Object | Resource description | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | cpu | M | 1 | Int | The cpu info on the host. | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | memory_mb | M | 1 | int | The memory info on the host (in MB). | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | name | M | 1 | string | host name | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | project | M | 1 | string | Value: total, used_now, used_max or specific project_id | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | disk_gb | M | 1 | int | The disk info on the host (in GB). | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ 200: ok 500: failed :: { "cpu": 1, "disk\_gb": 1028, "name": "c1a7de0ac9d94e4baceae031d05caae3", "memory\_mb": 8192, "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1", "host": [ { "memory\_mb": 4960, "name": " c1a7de0ac9d94e4baceae031d05caae3", "disk\_gb": 92, "project": "(total)", "cpu": 4 }, { "memory\_mb": 1536, "name": " c1a7de0ac9d94e4baceae031d05caae3", "disk\_gb": 2, "project": "(used\_now)", "cpu": 2 }, { "memory\_mb": 1024, "name": " c1a7de0ac9d94e4baceae031d05caae3", "disk\_gb": 2, "project": "(used\_max)", "cpu": 2 }, { "memory\_mb": 1024, "name": " c1a7de0ac9d94e4baceae031d05caae3", "disk\_gb": 2, "project": "568f7ec425db472ba348251bf1e7eebd", "cpu": 2 } ], "vimName": "openstack\_newton", "vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73", "tenantId": "568f7ec425db472ba348251bf1e7eebd" } 13. **VIM Management** ^^^^^^^^^^^^^^^^^^^^^^ 13.1. **Update VIM Info** ------------------------- +---------------------+----------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+==============================================================================================+ | URI | http(s)://[hostname][:port]/onapapi/ multicloud /v1/{cloud-owner}\_{cloud-region}/registry | +---------------------+----------------------------------------------------------------------------------------------+ | Operation | POST | +---------------------+----------------------------------------------------------------------------------------------+ | Direction | ESR-> MULTICLOUD | +---------------------+----------------------------------------------------------------------------------------------+ 13.1.1. **Request** >>>>>>>>>>>>>>>>>>> +-----------------+-----------------+-------------------+---------------+-----------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+=======================+ | defaultTenant | M | 1 | string | default tenant name | +-----------------+-----------------+-------------------+---------------+-----------------------+ 13.1.2. **Response** >>>>>>>>>>>>>>>>>>>> NA 202: accept 400: failed 13.2. **Unregistry VIM** ------------------------ +---------------------+-----------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===============================================================================================+ | URI | http(s)://[hostname][:port]/onapapi/multicloud/v1/{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