.. This work is licensed under a Creative Commons Attribution 4.0 International License. ================================ MultiCloud API Specification V1 ================================ API Catalog =========== `1. Scope 5 <#_Toc490851650>`__ `2. Terms, Definitions and Abbreviations 5 <#_Toc490851651>`__ `3. Image Management 5 <#_Toc490851652>`__ `3.1 Create Image 5 <#_Toc490851653>`__ `3.1.1 Request 5 <#_Toc490851654>`__ `3.1.2 Response 6 <#_Toc490851655>`__ `3.2 Delete Image 7 <#_Toc490851656>`__ `3.2.1 Request 7 <#_Toc490851657>`__ `3.2.2 Response 7 <#_Toc490851658>`__ `3.3 List Images 7 <#_Toc490851659>`__ `3.3.1 Request 7 <#_Toc490851660>`__ `3.3.2 Response 8 <#_Toc490851661>`__ `3.4 Get Image 9 <#_Toc490851662>`__ `3.4.1 Request 9 <#_Toc490851663>`__ `3.4.2 Response 9 <#_Toc490851664>`__ `4. Network Management 10 <#_Toc490851665>`__ `4.1 Create Network 10 <#_Toc490851666>`__ `4.1.1 Request 10 <#_Toc490851667>`__ `4.1.2 Response 11 <#_Toc490851668>`__ `4.2 Delete Network 12 <#_Toc490851669>`__ `4.2.1 Request 12 <#_Toc490851670>`__ `4.2.2 Response 12 <#_Toc490851671>`__ `4.3 List Network 12 <#_Toc490851672>`__ `4.3.1 Query 12 <#_Toc490851673>`__ `4.3.2 Response 13 <#_Toc490851674>`__ `4.4 Get Network 14 <#_Toc490851675>`__ `4.4.1 Request 14 <#_Toc490851676>`__ `4.4.2 Response 14 <#_Toc490851677>`__ `5. Subnetwork Management 16 <#_Toc490851678>`__ `5.1 Create Subnets 16 <#_Toc490851679>`__ `5.1.1 Request 16 <#_Toc490851680>`__ `5.1.2 Response 17 <#_Toc490851681>`__ `5.2 Delete Subnets 18 <#_Toc490851682>`__ `5.2.1 Request 18 <#_Toc490851683>`__ `5.2.2 Response 18 <#_Toc490851684>`__ `5.3 List Subnets 18 <#_Toc490851685>`__ `5.3.1 Query 18 <#_Toc490851686>`__ `5.3.2 Response 19 <#_Toc490851687>`__ `5.4 Get Subnets 20 <#_Toc490851688>`__ `5.4.1 Request 20 <#_Toc490851689>`__ `5.4.2 Response 20 <#_Toc490851690>`__ `6. Virtual Port 21 <#_Toc490851691>`__ `6.1 Create Virtual Port 21 <#_Toc490851692>`__ `6.1.1 Request 21 <#_Toc490851693>`__ `6.1.2 Response 22 <#_Toc490851694>`__ `6.2 Delete Virtual Port 22 <#_Toc490851695>`__ `6.2.1 Request 23 <#_Toc490851696>`__ `6.2.2 Response 23 <#_Toc490851697>`__ `6.3 List Virtual Port 23 <#_Toc490851698>`__ `6.3.1 Query 23 <#_Toc490851699>`__ `6.3.2 Response 23 <#_Toc490851700>`__ `6.4 Get Virtual Port 24 <#_Toc490851701>`__ `6.4.1 Request 24 <#_Toc490851702>`__ `6.4.2 Response 24 <#_Toc490851703>`__ `7. Server Management 25 <#_Toc490851704>`__ `7.1 Create Server 25 <#_Toc490851705>`__ `7.1.1 Request 25 <#_Toc490851706>`__ `7.1.2 Response 27 <#_Toc490851707>`__ `7.2 Delete Server 28 <#_Toc490851708>`__ `7.2.1 Request 28 <#_Toc490851709>`__ `7.2.2 Response 28 <#_Toc490851710>`__ `7.3 List Server 28 <#_Toc490851711>`__ `7.3.1 Request 28 <#_Toc490851712>`__ `7.3.2 Response 29 <#_Toc490851713>`__ `7.4 Get Server 29 <#_Toc490851714>`__ `7.4.1 Request 30 <#_Toc490851715>`__ `7.4.2 Response 30 <#_Toc490851716>`__ `8. Flavor Management 30 <#_Toc490851717>`__ `8.1 Create Flavor 31 <#_Toc490851718>`__ `8.1.1 Request 31 <#_Toc490851719>`__ `8.1.2 Response 31 <#_Toc490851720>`__ `8.2 Delete Flavor 32 <#_Toc490851721>`__ `8.2.1 Request 32 <#_Toc490851722>`__ `8.2.2 Response 32 <#_Toc490851723>`__ `8.3 List Flavor 32 <#_Toc490851724>`__ `8.3.1 Query 32 <#_Toc490851725>`__ `8.3.2 Response 32 <#_Toc490851726>`__ `8.4 Get Flavor 33 <#_Toc490851727>`__ `8.4.1 Request 33 <#_Toc490851728>`__ `8.4.2 Response 33 <#_Toc490851729>`__ `9. Volume Management 34 <#_Toc490851730>`__ `9.1 Create Volume 34 <#_Toc490851731>`__ `9.1.1 Request 34 <#_Toc490851732>`__ `9.1.2 Response 34 <#_Toc490851733>`__ `9.2 Delete Volume 35 <#_Toc490851734>`__ `9.2.1 Request 35 <#_Toc490851735>`__ `9.2.2 Response 35 <#_Toc490851736>`__ `9.3 List Volumes 35 <#_Toc490851737>`__ `9.3.1 Request 35 <#_Toc490851738>`__ `9.3.2 Response 36 <#_Toc490851739>`__ `9.4 Get Volumes 37 <#_Toc490851740>`__ `9.4.1 Request 37 <#_Toc490851741>`__ `9.4.2 Response 37 <#_Toc490851742>`__ `10. Tenant Management 38 <#_Toc490851743>`__ `10.1 List tenants 38 <#_Toc490851744>`__ `10.1.1 Query 38 <#_Toc490851745>`__ `10.1.2 Response 38 <#_Toc490851746>`__ `11. Limits 39 <#_Toc490851747>`__ `11.1 List Limits of resouces: CPU&Memory, volume,network,etc 39 <#_Toc490851748>`__ `11.1.1 Request 39 <#_Toc490851749>`__ `11.1.2 Response 39 <#_Toc490851750>`__ `12. Host Management 41 <#_Toc490851751>`__ `12.1 List hosts 41 <#_Toc490851752>`__ `12.1.1 Request 41 <#_Toc490851753>`__ `12.1.2 Response 41 <#_Toc490851754>`__ `12.2 Get host 43 <#_Toc490851755>`__ `12.2.1 Request 43 <#_Toc490851756>`__ `12.2.2 Response 43 <#_Toc490851757>`__ `13. VIM Management 45 <#_Toc490851758>`__ `13.1 Update VIM Info 45 <#_Toc490851759>`__ `13.1.1 Request 45 <#_Toc490851760>`__ `13.1.2 Response 45 <#_Toc490851761>`__ `13.2 Unregistry VIM 45 <#_Toc490851762>`__ `13.2.1 Request 45 <#_Toc490851763>`__ `13.2.2 Response 46 <#_Toc490851764>`__ * * 1. \ **Scope** The scope of the present document is to describe the VIM Driver API specification. 1. \ **Terms, Definitions and Abbreviations** For the purposes of the present document, the following abbreviations apply: +--------------------+-------------------------------------------------------------+ | **Abbreviation** | | +====================+=============================================================+ | NFVO | Network Functions Virtualization Orchestrator | +--------------------+-------------------------------------------------------------+ | VNFM | Virtual Network Function Management | +--------------------+-------------------------------------------------------------+ | VIM | Virtualized Infrastructure Manager | +--------------------+-------------------------------------------------------------+ | MultiVIM | MultVIM driver services for OPEN-O to drive VIM instances | +--------------------+-------------------------------------------------------------+ Table 2-1 abbreviations 1. \ **Image Management** 1. \ **Create Image** +---------------------+-------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images | +---------------------+-------------------------------------------------------------------------------+ | Operation | POST | +---------------------+-------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------+ | Description | Create Image and Upload the image file to the VIM | +---------------------+-------------------------------------------------------------------------------+ 1. \ **Request** +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===========================+==================================================================================================+ | name | M | 1 | String | Image Name | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | imagePath | M | 1 | String | Image Local Path from catalog | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | imageType | M | 1 | String | Image Type | | | | | | | | | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | visibility | O | 1 | string | Visibility for this image. | | | | | | | | | | | | public, private, shared, or community | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ | properties | O | 0..N | List of key-value pairs | Examples:--property vmware\_disktype=streamOptimized --property vmware\_adaptertype="lsiLogic" | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ { "imageName": "cirros", "imagePath": "/home/cirros.qcow2", "imageType": "qcow2" “containerFormat”:”bare” } 1. \ **Response** +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===========================+========================================================+ | id | M | 1 | String | Image UUID in the VIM | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | name | M | 1 | String | Image Name | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | returnCode | M | 1 | Int | 0: Already exist 1: Newly created | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | imageType | M | 1 | String | Image Type | | | | | | | | | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | visibility | O | 1 | string | Visibility for this image. | | | | | | | | | | | | public, private, shared, or community | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | properties | O | 0..N | List of key-value pairs | | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | vimid | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ *202*: accepted 500: failed { “id”:” 3c9eebdbbfd345658269340b9ea6fb73”, "name": "cirros", "returnCode": 1 } 1. \ **Delete Image** +---------------------+-----------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageId} | +---------------------+-----------------------------------------------------------------------------------------+ | Operation | Delete | +---------------------+-----------------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-----------------------------------------------------------------------------------------+ | Description | Delete Image | +---------------------+-----------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** 204: no content 1. \ **List Images** +---------------------+-------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images | +---------------------+-------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------+ | Description | Query Image list | +---------------------+-------------------------------------------------------------------------------+ 1. \ **Request** msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/images?{……} +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+==================================================================================================================================================================================================================================================================+ | limit | O | 1 | integer | Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. | +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | marker | O | 1 | string | The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. | +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of an image | +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1. \ **Response** +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | \ **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================================================+=================+===================+===============+========================================================+ | images | M | 0..N | List | Image List | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | id | M | 1 | String | Image ID | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | size | M | 1 | int | Image Size | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | name | M | 1 | String | Image Name | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | status | M | 1 | String | Image Status | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | imageType | M | 1 | String | Image Type | | | | | | | | | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | visibility | O | 1 | string | Visibility for this image. | | | | | | | | | | | | public, private, shared, or community | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | 200: ok | | | | | | | | | | | | 500: failed | | | | | | | | | | | | { | | | | | | | | | | | | “vimid”:”” | | | | | | | | | | | | “vimname”:”” | | | | | | | | | | | | "imageList": [ | | | | | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | { | | | | | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | "status": "active", | | | | | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | "id": "5e2757c1-f846-4727-915c-9a872553ed75", | | | | | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | "size": 862016, | | | | | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | "name": "vim-plus-cgsl40g-z.qcow2" | | | | | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | } | | | | | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | ] | | | | | | | | | | | | } | | | | | +-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ 1. \ **Get Image** +---------------------+-----------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageid} | +---------------------+-----------------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-----------------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-----------------------------------------------------------------------------------------+ | Description | Query Image Information | +---------------------+-----------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+========================================================+ | id | M | 1 | String | Image ID | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | size | M | 1 | int | Image Size | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | name | M | 1 | String | Image Name | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | status | M | 1 | String | Image Status | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | imageType | M | 1 | String | Image Type | | | | | | | | | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova,  docker | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | visibility | O | 1 | string | Visibility for this image. | | | | | | | | | | | | public, private, shared, or community | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | vimName | M | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ 200: ok 500: failed { “vimid”:”” “vimname”:”” "status": "active", "id": "5e2757c1-f846-4727-915c-9a872553ed75", "size": 862016, "name": "vim-plus-cgsl40g-z.qcow2" a} 1. \ **Network Management** 1. \ **Create Network** +---------------------+---------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | +---------------------+---------------------------------------------------------------------------------+ | Operation | POST | +---------------------+---------------------------------------------------------------------------------+ | Direction | VNFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------+ | Description | Create network and subnetwork on the VIM | +---------------------+---------------------------------------------------------------------------------+ 1. \ **Request** +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=============================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ | name | M | 1 | String | Logical network name | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | shared | M | 1 | boolean | Whether to share(1:sharing;0:private) | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networkType | O | 1 | String | Network type | | | | | | | | | | | | flat, vlan, vxlan, gre, | | | | | | | | | | | | portgroup | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | segmentationId | O | 1 | Int | id of paragraph | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | { | | | | | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | “tenant”: “tenant1”, | | | | | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | “networkName”: “ommnet”, | | | | | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | “shared”: 1, | | | | | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | “vlanTransparent”: 1, | | | | | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | “networkType”:”vlan”, | | | | | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | “segmentationId”:202, | | | | | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | “physicalNetwork”:”ctrl”, | | | | | | | | | | | | “routerExternal”:0 | | | | | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | } | | | | | +-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1. \ **Response** +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ | status | M | 1 | string | Network status | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | Network id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Network name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | segmentationId | O | 1 | int | Segmentation id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networkType | O | 1 | string | Network type | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 202: accepted 500: failed { “returnCode”:0, “vimId”:”11111”, “vimName”:”11111”, “status”: “ACTIVE”, “id”: “3c9eebdbbfd345658269340b9ea6fb73”, “name”: “net1”, “tenant”: “tenant1”, “networkName”: “ommnet”, “shared”: 1, “vlanTransparent”: 1, “networkType”:”vlan”, “segmentationId”:202, “physicalNetwork ”:”ctrl”, “routerExternal ”:0 } 1. \ **Delete Network** +---------------------+---------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=============================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} | +---------------------+---------------------------------------------------------------------------------------------+ | Operation | Delete | +---------------------+---------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** 204: no content 1. \ **List Network** +---------------------+---------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | +---------------------+---------------------------------------------------------------------------------+ | Operation | get | +---------------------+---------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------+ 1. \ **Query** +-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+=======================================================================================+ | name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of a network | +-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ 1. \ **Response** +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networks | | 0..N | List | Network list | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | status | M | 1 | string | Network status | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | Network id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Network name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | segmentationId | O | 1 | int | Segmentation id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networkType | O | 1 | string | Network type | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed { “vimId”:”11111”, “vimName”:”111”, “networks”: [{ “status”: “ACTIVE”, “id”: “3c9eebdbbfd345658269340b9ea6fb73”, “name”: “net1”, “tenant”: “tenant1”, “networkName”: “ommnet”, “shared”: 1, “vlanTransparent”: 1, “networkType”:”vlan”, “segmentationId”:202, “physicalNetwork ”:”ctrl”, “routerExternal ”:0 }] } PHYSICALNETWORK  1. \ **Get Network** +---------------------+---------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=============================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} | +---------------------+---------------------------------------------------------------------------------------------+ | Operation | get | +---------------------+---------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ | status | M | 1 | string | Network status | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | Network id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Network name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | segmentationId | O | 1 | int | Segmentation id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | networkType | O | 1 | string | Network type | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed { “vimId”:”11111”, “vimName”:”11111”, “status”: “ACTIVE”, “id”: “3c9eebdbbfd345658269340b9ea6fb73”, “name”: “net1”, “tenant”: “tenant1”, “networkName”: “ommnet”, “shared”: 1, “vlanTransparent”: 1, “networkType”:”vlan”, “segmentationId”:202, “physicalNetwork ”:”ctrl”, “routerExternal ”:0 } 1. \ **Subnetwork Management** 1. \ **Create Subnets** +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | +---------------------+--------------------------------------------------------------------------------+ | Operation | POST | +---------------------+--------------------------------------------------------------------------------+ | Direction | VNFLCM,NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ | Description | Create network and subnetwork on the VIM | +---------------------+--------------------------------------------------------------------------------+ 1. \ **Request** +-------------------+-----------------+-------------------+------------------------+----------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+========================+======================+ | networkId | M | 1 | String | Network Id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | name | M | 1 | String | SubnetName | +-------------------+-----------------+-------------------+------------------------+----------------------+ | cidr | M | 1 | String | Subnet cidr | +-------------------+-----------------+-------------------+------------------------+----------------------+ | ipVersion | M | 1 | Int | Ip type | | | | | | | | | | | | 4,6 | +-------------------+-----------------+-------------------+------------------------+----------------------+ | enableDhcp | O | 1 | boolean | Whether to allow | | | | | | | | | | | | 1: yes;0: no | +-------------------+-----------------+-------------------+------------------------+----------------------+ | gatewayIp | O | 1 | String | Gateway ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | dnsNameservers | O | 1..n | List of servers | List of servers | +-------------------+-----------------+-------------------+------------------------+----------------------+ | hostRoutes | O | 1..n | List of routes | List of routes | +-------------------+-----------------+-------------------+------------------------+----------------------+ | allocationPools | O | 1..n | list of “allocation” | list of allocation | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->allocation | | | | | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->start | O | 1 | String | Start ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->end | O | 1 | String | End ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ { “tenant”: “tenant1”, “network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”, “subnetName”: “subnet1”, “cidr”: “10.43.35.0/24”, “ipVersion”: 4, “enableDhcp”: 1, “gatewayIp”: “10.43.35.1”, “dnsNameservers”: [], “allocationPools”:[{ “start”: “192.168.199.2”, “end”: “192.168.199.254” }], “hostRoutes”: [] } 1. \ **Response** +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+========================+=====================================+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | status | M | 1 | string | subnetwork status | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | id | M | 1 | string | subNetwork id | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | networkId | O | 1 | String | Network Id | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | networkName | O | 1 | String | Network Name | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | name | M | 1 | String | SubnetName | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | cidr | M | 1 | String | Subnet cidr | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | ipVersion | M | 1 | Int | Ip type | | | | | | | | | | | | 4,6 | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | enableDhcp | O | 1 | boolean | Whether to allow | | | | | | | | | | | | 1: yes;0: no | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | gatewayIp | O | 1 | String | Gateway ip | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | dnsNameservers | O | 1..n | List of servers | List of servers | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | hostRoutes | O | 1..n | List of routes | List of routes | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | allocationPools | O | 1..n | list of “allocation” | list of allocation | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | -->allocation | | | | | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | -->start | O | 1 | String | Start ip | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ | -->end | O | 1 | String | End ip | +-------------------+-----------------+-------------------+------------------------+-------------------------------------+ 202: accepted 500: failed { “returnCode”:0, “vimId”:”11111”, “vimName”:”11111”, “status”:” ACTIVE” “id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23” “tenant”: “tenant1”, “network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”, “name”: “subnet1”, “cidr”: “10.43.35.0/24”, “ipVersion”: 4, “enableDhcp”: 1, “gatewayIp”: “10.43.35.1”, “dnsNameservers”: [], “allocationPools”:[{ “start”: “192.168.199.2”, “end”: “192.168.199.254” }], “hostRoutes”: [] } 1. \ **Delete Subnets** +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetId} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | Delete | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** 204: no content 1. \ **List Subnets** +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | +---------------------+--------------------------------------------------------------------------------+ | Operation | get | +---------------------+--------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 1. \ **Query** msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/subnets?{……} +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+================================================================================================+ | name | O | 1 | String | Filters fields of the response by a name, as a string. A valid value is the name of a subnet | +-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ 1. \ **Response** +-------------------+-----------------+-------------------+------------------------+----------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+========================+======================+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+------------------------+----------------------+ | subnets | M | 0..N | List | Network list | +-------------------+-----------------+-------------------+------------------------+----------------------+ | status | | 1 | string | subnetwork status | +-------------------+-----------------+-------------------+------------------------+----------------------+ | id | | 1 | string | subNetwork id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+------------------------+----------------------+ | networkId | O | 1 | String | Network Id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | networkName | O | 1 | String | Network Name | +-------------------+-----------------+-------------------+------------------------+----------------------+ | name | M | 1 | String | SubnetName | +-------------------+-----------------+-------------------+------------------------+----------------------+ | cidr | M | 1 | String | Subnet cidr | +-------------------+-----------------+-------------------+------------------------+----------------------+ | ipVersion | M | 1 | Int | Ip type | | | | | | | | | | | | 4,6 | +-------------------+-----------------+-------------------+------------------------+----------------------+ | enableDhcp | O | 1 | boolean | Whether to allow | | | | | | | | | | | | 1: yes;0: no | +-------------------+-----------------+-------------------+------------------------+----------------------+ | gatewayIp | O | 1 | String | Gateway ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | dnsNameservers | O | 1..n | List of servers | List of servers | +-------------------+-----------------+-------------------+------------------------+----------------------+ | hostRoutes | O | 1..n | List of routes | List of routes | +-------------------+-----------------+-------------------+------------------------+----------------------+ | allocationPools | O | 1..n | list of “allocation” | list of allocation | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->allocation | | | | | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->start | O | 1 | String | Start ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->end | O | 1 | String | End ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ **200: ok** **500: failed** { “vimId”:”11111”, “vimName”:”11111”, "subnets":[ { “status”:” ACTIVE” “id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23” “tenant”: “tenant1”, “network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”, “name”: “subnet1”, “cidr”: “10.43.35.0/24”, “ipVersion”: 4, “enableDhcp”: 1, “gatewayIp”: “10.43.35.1”, “dnsNameservers”: [], “allocationPools”:[{ “start”: “192.168.199.2”, “end”: “192.168.199.254” }], “hostRoutes”: [] } ] } 1. \ **Get Subnets** +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetid} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | get | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** +-------------------+-----------------+-------------------+------------------------+----------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+========================+======================+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+------------------------+----------------------+ | status | | 1 | string | subnetwork status | +-------------------+-----------------+-------------------+------------------------+----------------------+ | id | | 1 | string | subNetwork id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+------------------------+----------------------+ | networkId | O | 1 | String | Network Id | +-------------------+-----------------+-------------------+------------------------+----------------------+ | networkName | O | 1 | String | Network Name | +-------------------+-----------------+-------------------+------------------------+----------------------+ | name | M | 1 | String | SubnetName | +-------------------+-----------------+-------------------+------------------------+----------------------+ | cidr | M | 1 | String | Subnet cidr | +-------------------+-----------------+-------------------+------------------------+----------------------+ | ipVersion | M | 1 | Int | Ip type | | | | | | | | | | | | 4,6 | +-------------------+-----------------+-------------------+------------------------+----------------------+ | enableDhcp | O | 1 | boolean | Whether to allow | | | | | | | | | | | | 1: yes;0: no | +-------------------+-----------------+-------------------+------------------------+----------------------+ | gatewayIp | O | 1 | String | Gateway ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | dnsNameservers | O | 1..n | List of servers | List of servers | +-------------------+-----------------+-------------------+------------------------+----------------------+ | hostRoutes | O | 1..n | List of routes | List of routes | +-------------------+-----------------+-------------------+------------------------+----------------------+ | allocationPools | O | 1..n | list of “allocation” | list of allocation | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->allocation | | | | | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->start | O | 1 | String | Start ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ | -->end | O | 1 | String | End ip | +-------------------+-----------------+-------------------+------------------------+----------------------+ 202: accepted 500: failed { “status”:” ACTIVE” “id”:” d62019d3-bc6e-4319-9c1d-6722fc136a23” “tenant”: “tenant1”, “network\_id”:“d32019d3-bc6e-4319-9c1d-6722fc136a22”, “name”: “subnet1”, “cidr”: “10.43.35.0/24”, “ipVersion”: 4, “enableDhcp”: 1, “gatewayIp”: “10.43.35.1”, “dnsNameservers”: [], “allocationPools”:[{ “start”: “192.168.199.2”, “end”: “192.168.199.254” }], “hostRoutes”: [] } 1. \ **Virtual Port** 1. \ **Create Virtual Port** +---------------------+------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+==============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports | +---------------------+------------------------------------------------------------------------------+ | Operation | POST | +---------------------+------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+------------------------------------------------------------------------------+ 1. \ **Request** +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +========================+=================+===================+===============+=======================================================+ | networkId | M | 1 | string | Network UUID | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | subnetId | O | 1 | string | Subnet UUID | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | name | M | 1 | string | Port name | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | macAddress | O | 1 | string | Mac address | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | ip | O | 1 | string | Ip address | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | vnicType | O | 1 | string | Virtual network card type, | | | | | | | | | | | | the value of three kinds of normal/direct/macvtap | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ | \ **securityGroups** | **O** | **1** | **string** | **The IDs of security groups applied to the port.** | +------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ 1. \ **Response** +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+===============+=====================================================+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vimId | M | 1 | String | vim id | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vimName | O | 1 | string | vim name | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | status | M | 1 | string | status | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | id | M | 1 | string | Port Id | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | name | M | 1 | string | Port name | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkName | M | 1 | string | Network name | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkId | M | 1 | string | Network Id | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetName | M | 1 | string | Subnet name | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetId | M | 1 | string | SubnetId | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | macAddress | O | 1 | string | Mac address | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | ip | O | 1 | string | Ip address | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vnicType | O | 1 | string | Virtual network card type, | | | | | | | | | | | | the value of three kinds of normal/direct/macvtap | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **securityGroups** | **O** | **1** | **string** | **List of security group names.** | +----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ 1. \ **Delete Virtual Port** +---------------------+---------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=======================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} | +---------------------+---------------------------------------------------------------------------------------+ | Operation | DELETTE | +---------------------+---------------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** 204: no content 1. \ **List Virtual Port** +---------------------+-----------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports | +---------------------+-----------------------------------------------------------------------------+ | Operation | GET | +---------------------+-----------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+-----------------------------------------------------------------------------+ 1. \ **Query** +-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+=================================================+ | name | M | 1 | string | Port name to filter out list of virtual ports | +-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ 1. \ **Response** +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===================+=================+===================+===============+=====================================================+ | vimId | M | 1 | String | vim id | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vimName | O | 1 | string | vim name | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | Ports | M | 0..N | List | ports | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | id | M | 1 | string | Port Id | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | name | M | 1 | string | Port name | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | status | M | 1 | string | status | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **networkName** | O | 1 | string | Network name | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkId | M | 1 | string | Network Id | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetName | O | 1 | string | Subnet name | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetId | M | 1 | string | SubnetId | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | macAddress | O | 1 | string | Mac address | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | ip | O | 1 | string | Ip address | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vnicType | O | 1 | string | Virtual network card type, | | | | | | | | | | | | the value of three kinds of normal/direct/macvtap | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | securityGroups | O | 1 | string | List of security group names. | +-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ **200: ok** **500: failed** { } 1. \ **Get Virtual Port** +---------------------+---------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=======================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} | +---------------------+---------------------------------------------------------------------------------------+ | Operation | GET | +---------------------+---------------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +==================+=================+===================+===============+=====================================================+ | vimId | M | 1 | String | vim id | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vimName | O | 1 | string | vim name | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | status | M | 1 | string | status | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | id | M | 1 | string | Port Id | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | name | M | 1 | string | Port name | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkName | M | 1 | string | Network name | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | networkId | M | 1 | string | Network Id | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetName | M | 1 | string | Subnet name | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | subnetId | M | 1 | string | SubnetId | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | macAddress | O | 1 | string | Mac address | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | ip | O | 1 | string | Ip address | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | vnicType | O | 1 | string | Virtual network card type, | | | | | | | | | | | | the value of three kinds of normal/direct/macvtap | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ | securityGroups | O | 1 | string | **List of security group names.** | +------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ **200: ok** **500: failed** { } 1. \ **Server Management** 1. \ **Create Server** +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | +---------------------+--------------------------------------------------------------------------------+ | Operation | POST | +---------------------+--------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 1. \ **Request** +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+=======================================+========================================================================================================================================================================================+ | name | M | 1 | string | server name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | boot | M | 1 | String | Start parameters | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicArray | O | 1..n | List of nic | List of nic | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | contextArray | O | 1..n | list of context | list of context | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volumeArray | O | 1..n | list of volume | list of volume | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | availabilityZone | O | 1 | string | Usable field | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | flavorId | M | 1 | String | server Flavor id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | userdata | O | 1 | string | Configuration information or scripts to use upon launch. Must be Base64 encoded. | | | | | | | | | | | | NOTE: The ‘null’ value allowed in Nova legacy v2 API, but due to the strict input validation, it isn’t allowed in Nova v2.1 API. | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ **boot** +-----------------+-----------------+-------------------+---------------+---------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===========================+ | type | M | 1 | int | Startup mode | | | | | | | | | | | | 1. boot from the volume | | | | | | | | | | | | 2. boot from image | +-----------------+-----------------+-------------------+---------------+---------------------------+ | volumeId | O | 1 | string | Volume Id(type=1) | +-----------------+-----------------+-------------------+---------------+---------------------------+ | imageId | O | 1 | String | ImageId(type=2) | +-----------------+-----------------+-------------------+---------------+---------------------------+ **contextArray** +-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===========================================================================================================================================================+ | fileName | M | 1 | String | Injection file name | +-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ | fileData | M | 1 | string | Injection file content (injection file content inside the $MAC\_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” } 1. \ **Response** +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+======================================+========================================================================================================================================================================================+ | vimId | M | 1 | String | vim id | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | returnCode | | 1 | int | 0: Already exist 1: Newly created | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | server id | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | | 1 | string | server name | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | boot | M | 1 | String | Start parameters | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicArray | O | 1..n | List of nic | List of nic | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volumeArray | O | 1..n | list of volume | list of volume | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | availabilityZone | O | 1 | string | Usable field | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | flavorId | M | 1 | String | server Flavor | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **securityGroups** | **O** | **1** | **List of name of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | | | | | | | | | | | | **[TBD]** | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | | | | | | | | | | | | [TBD] | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **status** | **M** | **1** | **string** | Server status, 0:INACTIVE,1:ACTIVE,2:ERROR | +----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 202: accepted 500: failed { "id": "3c9eebdbbfd345658269340b9ea6fb73", "name": "vm1", "returnCode": 1, } 1. \ **Delete Server** +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | DELETE | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** 204: no content 1. \ **List Server** +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | +---------------------+--------------------------------------------------------------------------------+ | Operation | get | +---------------------+--------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 1. \ **Request** msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……} +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | name | M | 1 | string | server name | +-----------------+-----------------+-------------------+---------------+-------------------+ 1. \ **Response** +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+=======================================+========================================================================================================================================================================================+ | vimId | M | 1 | String | vim id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | servers | M | 1 | array | server list | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | server id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | server name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | boot | M | 1 | String | Start parameters | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicArray | O | 1..n | List of nic | List of nic | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volumeArray | O | 1..n | list of volume | list of volume | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | availabilityZone | O | 1 | string | Usable field | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | flavorId | M | 1 | String | server Flavor | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | metada | O | 1 | keypair | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | | | | | | | | | | | | **[TBD]** | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | | | | | | | | | | | | [TBD] | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed { } 1. \ **Get Server** +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | get | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +======================+=================+===================+=======================================+========================================================================================================================================================================================+ | vimId | M | 1 | String | vim id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | server id | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | server name | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | boot | M | 1 | String | Start parameters | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | nicArray | O | 1..n | List of nic | List of nic | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | volumeArray | O | 1..n | list of volume | list of volume | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | availabilityZone | O | 1 | string | Usable field | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | flavorId | M | 1 | String | server Flavor | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | | | | | | | | | | | | **[TBD]** | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | | | | | | | | | | | | [TBD] | +----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed { } 1. \ **Flavor Management** 1. \ **Create Flavor** +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors | +---------------------+--------------------------------------------------------------------------------+ | Operation | POST | +---------------------+--------------------------------------------------------------------------------+ | Direction | VNFLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 1. \ **Request** +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============================+==============================================================================================================================+ | name | M | 1 | string | Flavor Name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vcpu | M | 1 | int | Virtual CPU number | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | memory | M | 1 | int | Memory size | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | disk | M | 1 | int | The size of the root disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | ephemeral | O | 1 | int | The size of the ephemeral disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | swap | O | 1 | int | The size of the swap disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | isPublic | O | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ 1. \ **Response** +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===========================+==============================================================================================================================+ | id | M | 1 | string | Flavor id | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Flavor name | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vcpu | M | 1 | int | Virtual CPU number | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | memory | M | 1 | int | Memory size | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | disk | M | 1 | int | The size of the root disk | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | ephemeral | M | 1 | int | The size of the ephemeral disk | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | swap | M | 1 | int | The size of the swap disk | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | extraSpecs | O | 0..N | List of Key-value pairs | EPA parameter | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ 1. \ **Delete Flavor** +---------------------+--------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+============================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors /{flavorid} | +---------------------+--------------------------------------------------------------------------------------------+ | Operation | DELETE | +---------------------+--------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** 204: no content 1. \ **List Flavor** +---------------------+---------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors | +---------------------+---------------------------------------------------------------------------------+ | Operation | get | +---------------------+---------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+---------------------------------------------------------------------------------+ 1. \ **Query** +-----------------+-----------------+-------------------+---------------+----------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+==================================+ | name | M | 1 | string | Flavor name to filter out list | +-----------------+-----------------+-------------------+---------------+----------------------------------+ 1. \ **Response** +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============================+==============================================================================================================================+ | flavors | M | 0..N | list | Vm list | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | id | M | 1 | string | Flavor id | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Flavor Name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vcpu | M | 1 | int | Virtual CPU number | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | memory | M | 1 | int | Memory size | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | disk | M | 1 | int | The size of the root disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | ephemeral | M | 1 | int | The size of the ephemeral disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | swap | M | 1 | int | The size of the swap disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed 1. \ **Get Flavor** +---------------------+----------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+==============================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors/{ flavorsid } | +---------------------+----------------------------------------------------------------------------------------------+ | Operation | get | +---------------------+----------------------------------------------------------------------------------------------+ | Direction | NFLCM,NSLCM->MULTIVIM | +---------------------+----------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============================+==============================================================================================================================+ | id | M | 1 | string | Flavor id | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | name | M | 1 | string | Flavor Name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vcpu | M | 1 | int | Virtual CPU number | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | memory | M | 1 | int | Memory size | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | disk | M | 1 | int | The size of the root disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | ephemeral | M | 1 | int | The size of the ephemeral disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | swap | M | 1 | int | The size of the swap disk | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ 200: ok 500: failed 1. \ **Volume Management** 1. \ **Create Volume** +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | +---------------------+--------------------------------------------------------------------------------+ | Operation | POST | +---------------------+--------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 1. \ **Request** +--------------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +====================+=================+===================+===============+===================+ | name | M | 1 | string | Volume name | +--------------------+-----------------+-------------------+---------------+-------------------+ | volumeSize | M | 1 | int | Volume size | +--------------------+-----------------+-------------------+---------------+-------------------+ | imageId | O | 1 | string | Image UUID | +--------------------+-----------------+-------------------+---------------+-------------------+ | volumeType | O | 1 | string | Volume type | +--------------------+-----------------+-------------------+---------------+-------------------+ | availabilityZone | O | 1 | string | Usable field | +--------------------+-----------------+-------------------+---------------+-------------------+ { "tenant": "tenant1", "volumeName": "volume1", "volumeSize": 3, "imageName": "cirros.qcow2", "volumeType": "volumetype1", "availabilityZone": "zone1" } 1. \ **Response** +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +====================+=================+===================+===============+=====================================+ | returnCode | M | 1 | int | 0: Already exist 1: Newly created | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | vimId | M | 1 | String | vim id | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | vimName | O | 1 | string | vim name | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | status | M | 1 | string | Volume status | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | id | M | 1 | string | Volume id | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | name | M | 1 | string | Volume name | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | volumeType | O | 1 | string | Volume type | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ | availabilityZone | O | 1 | string | Availability Zone | +--------------------+-----------------+-------------------+---------------+-------------------------------------+ 202: accepted 500: failed { "id": "bc9eebdbbfd356458269340b9ea6fb73", "name": "volume1", "returnCode": 1, } 1. \ **Delete Volume** +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | DELETE | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NSLCM->MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** 204: no content 1. \ **List Volumes** +---------------------+--------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | +---------------------+--------------------------------------------------------------------------------+ | Operation | GET | +---------------------+--------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+--------------------------------------------------------------------------------+ 1. \ **Request** msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/volumes?{……} +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | name | M | 1 | string | Volume name | +-----------------+-----------------+-------------------+---------------+-------------------+ 1. \ **Response** +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +====================+=================+===================+======================+====================================================+ | vimId | M | 1 | String | vim id | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | vimName | O | 1 | string | vim name | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumes | M | 1 | Array | | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | id | M | 1 | string | Volume id | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | name | M | 1 | string | Volume name | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | createTime | O | 1 | string | Create time | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | status | M | 1 | string | Volume status | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumeSize | M | 1 | int | Volume size | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumeType | M | 1 | string | Volume type | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | availabilityZone | M | 1 | string | Availability Zone | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | attachments | M | 1..n | list of attachment | List of additional information on the cloud disk | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ 200: ok 500: failed { "volumes": [ { "status": "available", "name": "test", "attachments": [], "createTime": "2015-12-02T07:57:23.000000", " volumeType ": "ws", "id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55", "size": 20 }, { "status": "in-use", "name": "wangsong", "attachments": [ { "device": "/dev/vdc", "serverId": "3030e666-528e-4954-88f5-cc21dab1262b", "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", "hostName": null, "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31" } ], "createTime": "2015-12-02T06:39:40.000000", " volumeType ": null, "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", "size": 40 } ] } 1. \ **Get Volumes** +---------------------+-------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} | +---------------------+-------------------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-------------------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+-------------------------------------------------------------------------------------------+ 1. \ **Request** N/A 1. \ **Response** +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +====================+=================+===================+======================+====================================================+ | vimId | M | 1 | String | vim id | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | vimName | O | 1 | string | vim name | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | tenantId | M | 1 | String | Tenant UUID | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | id | | 1 | string | Volume id | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | name | | 1 | string | Volume name | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | createTime | | 1 | string | Create time | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | status | | 1 | string | Volume status | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumeType | | 1 | list of string | Volume type | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | volumeSize | | 1 | int | Volume size | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | availabilityZone | M | 1 | string | Availability Zone | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ | attachments | M | 1..n | list of attachment | List of additional information on the cloud disk | +--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ **attachment:** +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | device | | 1 | string | Device name | +-----------------+-----------------+-------------------+---------------+-------------------+ | serverId | | 1 | string | VM id | +-----------------+-----------------+-------------------+---------------+-------------------+ | volumeId | | 1 | string | Volume id | +-----------------+-----------------+-------------------+---------------+-------------------+ | hostName | | 1 | string | Host name | +-----------------+-----------------+-------------------+---------------+-------------------+ | id | | 1 | string | Device id | +-----------------+-----------------+-------------------+---------------+-------------------+ 200: ok 500: failed { "status": "in-use", "name": "wangsong", "attachments": [ { "device": "/dev/vdc", "serverId": "3030e666-528e-4954-88f5-cc21dab1262b", "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", "hostName": null, "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31" } ], "createTime": "2015-12-02T06:39:40.000000", "volumeType ": null, "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", "volumeSize ": 40 } 1. \ **Tenant Management** 1. \ **List tenants** +---------------------+---------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=====================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants | +---------------------+---------------------------------------------------------------------+ | Operation | GET | +---------------------+---------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+---------------------------------------------------------------------+ 1. \ **Query** +---------------------+-----------------+-------------------+---------------+-------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=====================+=================+===================+===============+=====================================+ | name={tenantname} | O | 1 | string | Tenant name to filter output list | +---------------------+-----------------+-------------------+---------------+-------------------------------------+ 1. \ **Response** +-----------------+-----------------+-------------------+---------------+-------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+===================+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+---------------+-------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+---------------+-------------------+ | tenants | M | 1 | Array | | +-----------------+-----------------+-------------------+---------------+-------------------+ | id | M | 1 | string | tenant UUID | +-----------------+-----------------+-------------------+---------------+-------------------+ | name | M | 1 | string | tenant name | +-----------------+-----------------+-------------------+---------------+-------------------+ 200: ok 500: failed { " tenants ": [ { "id": "1", "name": "test\_a" } ] } 1. \ **Limits** 1. \ **List Limits of resouces: CPU&Memory, volume,network,etc** +---------------------+-------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits | +---------------------+-------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+-------------------------------------------------------------------------------+ 1. \ **Request** 2. \ **Response** +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +===========================+=================+===================+===============+==================================================================+ | vimId | M | 1 | String | vim id | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | tenantId | M | 1 | string | Tenant UUID | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxPersonality | O | 1 | int | The number of allowed injected files for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxPersonalitySize | O | 1 | int | The number of allowed bytes of content for each injected file. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxServerGroupMembers | O | 1 | int | The number of allowed members for each server group. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxServerGroups | O | 1 | int | The number of allowed server groups for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxServerMeta | O | 1 | int | The number of allowed metadata items for each instance. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalCores | O | 1 | int | The number of allowed instance cores for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalInstances | O | 1 | int | The number of allowed instances for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalKeypairs | O | 1 | int | The number of allowed key pairs for each user. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalRAMSize | O | 1 | int | The amount of allowed instance RAM, in MB, for each tenant. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalVolumeGigabytes | O | 1 | int | The maximum total amount of volumes, in gibibytes (GiB). | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | maxTotalVolumes | O | 1 | int | The maximum number of volumes. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | totalVolumesUsed | O | 1 | int | The total number of volumes used. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | totalGigabytesUsed | O | 1 | int | The total number of gibibytes (GiB) used. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | network | O | 1 | int | The number of networks allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | subnet | O | 1 | int | The number of subnets allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | subnetpool | O | 1 | int | The number of subnet pools allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | security\_group\_rule | O | 1 | int | The number of security group rules allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | security\_group | O | 1 | int | The number of security groups allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | router | O | 1 | int | The number of routers allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ | port | O | 1 | int | The number of ports allowed for each project. | +---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ 200: ok 500: failed { "maxPersonality": 5, "maxPersonalitySize": 10240, "maxServerMeta": 128, "maxTotalCores": 20, "maxTotalInstances": 10, "maxTotalKeypairs": 100, "maxTotalRAMSize": 51200, "maxServerGroups": 10, "maxServerGroupMembers": 10, } 1. \ **Host Management** 1. \ **List hosts** +---------------------+------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+==============================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts | +---------------------+------------------------------------------------------------------------------+ | Operation | GET | +---------------------+------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+------------------------------------------------------------------------------+ 1. \ **Request** 2. \ **Response** +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+=================+===================================+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | tenantId | M | 1 | string | Tenant Name | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | hosts | M | 1 | Array of host | List of host information | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | service | M | 1 | string | The service running on the host | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | name | M | 1 | string | host name | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ | zone | O | 1 | string | Available zone for the host | +-----------------+-----------------+-------------------+-----------------+-----------------------------------+ 200: ok 500: failed { "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" "hosts": [ { "name": "b6e4adbc193d428ea923899d07fb001e", "service": "conductor", "zone": "internal", "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" }, { "name": "09c025b0efc64211bd23fc50fa974cdf", "service": "compute", "zone": "nova" "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" }, { "name": "e73ec0bd35c64de4a1adfa8b8969a1f6", "service": "consoleauth", "zone": "internal" "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" }, { "host\_name": "396a8a0a234f476eb05fb9fbc5802ba7", "service": "network", "zone": "internal" "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" }, { "name": "abffda96592c4eacaf4111c28fddee17", "service": "scheduler", "zone": "internal" "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" } ] } 1. \ **Get host** +---------------------+-----------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+=========================================================================================+ | URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts/{hostname} | +---------------------+-----------------------------------------------------------------------------------------+ | Operation | GET | +---------------------+-----------------------------------------------------------------------------------------+ | Direction | NSLCM-> MULTIVIM | +---------------------+-----------------------------------------------------------------------------------------+ 1. \ **Request** 2. \ **Response** +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+=====================+==============================================================+ | vimId | M | 1 | String | vim id | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | vimName | O | 1 | string | vim name | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | tenantId | M | 1 | string | Tenant Name | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | host | M | 1 | List of resources | Host resource info | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | resource | M | 1..N | Object | Resource description | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | cpu | M | 1 | Int | The cpu info on the host. | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | memory\_mb | M | 1 | int | The memory info on the host (in MB). | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | name | M | 1 | string | host name | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | project | M | 1 | string | Value: total, used\_now, used\_max or specific project\_id | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ | disk\_gb | M | 1 | int | The disk info on the host (in GB). | +-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ 200: ok 500: failed { "cpu": 1, "disk\_gb": 1028, "name": "c1a7de0ac9d94e4baceae031d05caae3", "memory\_mb": 8192, "vimId": "123", "vimName": "vimName", "tenantId": "tenantId1" } { "host": [ { "memory\_mb": 4960, "name": " c1a7de0ac9d94e4baceae031d05caae3", "disk\_gb": 92, "project": "(total)", "cpu": 4 }, { "memory\_mb": 1536, "name": " c1a7de0ac9d94e4baceae031d05caae3", "disk\_gb": 2, "project": "(used\_now)", "cpu": 2 }, { "memory\_mb": 1024, "name": " c1a7de0ac9d94e4baceae031d05caae3", "disk\_gb": 2, "project": "(used\_max)", "cpu": 2 }, { "memory\_mb": 1024, "name": " c1a7de0ac9d94e4baceae031d05caae3", "disk\_gb": 2, "project": "568f7ec425db472ba348251bf1e7eebd", "cpu": 2 } ], "vimName": "openstack\_newton", "vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73", "tenantId": "568f7ec425db472ba348251bf1e7eebd" } 1. \ **VIM Management** 1. \ **Update VIM Info** +---------------------+----------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+==============================================================================================+ | URI | http(s)://[hostname][:port]/onapapi/ multicloud /v1/{cloud-owner}\_{cloud-region}/registry | +---------------------+----------------------------------------------------------------------------------------------+ | Operation | POST | +---------------------+----------------------------------------------------------------------------------------------+ | Direction | ESR-> MULTICLOUD | +---------------------+----------------------------------------------------------------------------------------------+ 1. \ **Request** +-----------------+-----------------+-------------------+---------------+-----------------------+ | **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | +=================+=================+===================+===============+=======================+ | defaultTenant | M | 1 | string | default tenant name | +-----------------+-----------------+-------------------+---------------+-----------------------+ 1. \ **Response** NA 202: accept 400: failed 1. \ **Unregistry VIM** +---------------------+-----------------------------------------------------------------------------------------------+ | **IF Definition** | **Description** | +=====================+===============================================================================================+ | URI | http(s)://[hostname][:port]/onapapi/multicloud/v1 /{cloud-owner}\_{cloud-region}/unregistry | +---------------------+-----------------------------------------------------------------------------------------------+ | Operation | DELETE | +---------------------+-----------------------------------------------------------------------------------------------+ | Direction | ESR-> MULTICLOUD | +---------------------+-----------------------------------------------------------------------------------------------+ 1. \ **Request** NA 1. \ **Response** NA 204: No content found 400: failed