diff options
author | Bin Yang <bin.yang@windriver.com> | 2018-11-01 12:38:54 +0000 |
---|---|---|
committer | Bin Yang <bin.yang@windriver.com> | 2018-11-03 03:01:42 +0000 |
commit | c8d753e474dfbe61ac85fe5c9dc974c9b10080fa (patch) | |
tree | 10c88bc0e1e4b0bc928d85e0f842af354ad4c84f /docs/MultiCloud-APIv0-Specification.rst | |
parent | 2dfba4b15af4fea7092dae1619cf985013b7a129 (diff) |
Refactor the docs
Dedicated sections for APIs, User guides, and specs
Change-Id: Icf57b4b14d775507b40b65681be2aba9a8e2e62f
Issue-ID: MULTICLOUD-309
Signed-off-by: Bin Yang <bin.yang@windriver.com>
Diffstat (limited to 'docs/MultiCloud-APIv0-Specification.rst')
-rw-r--r-- | docs/MultiCloud-APIv0-Specification.rst | 2690 |
1 files changed, 2690 insertions, 0 deletions
diff --git a/docs/MultiCloud-APIv0-Specification.rst b/docs/MultiCloud-APIv0-Specification.rst new file mode 100644 index 0000000..b89a51e --- /dev/null +++ b/docs/MultiCloud-APIv0-Specification.rst @@ -0,0 +1,2690 @@ +.. + This work is licensed under a Creative Commons Attribution 4.0 + International License. + +================================ +MultiCloud API v0 Specification +================================ + +API Catalog +=========== + +1. **Scope** +^^^^^^^^^^^^ + +The scope of the present document is to describe the VIM Driver API +specification. + +2. **Terms, Definitions and Abbreviations** +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For the purposes of the present document, the following abbreviations +apply: + ++--------------------+-------------------------------------------------------------+ +| **Abbreviation** | | ++====================+=============================================================+ +| NFVO | Network Functions Virtualization Orchestrator | ++--------------------+-------------------------------------------------------------+ +| VNFM | Virtual Network Function Management | ++--------------------+-------------------------------------------------------------+ +| VIM | Virtualized Infrastructure Manager | ++--------------------+-------------------------------------------------------------+ +| MultiVIM | MultVIM driver services for OPEN-O to drive VIM instances | ++--------------------+-------------------------------------------------------------+ + +3. **Image Management** +^^^^^^^^^^^^^^^^^^^^^^^ + +3.1. **Create Image** +--------------------- + ++---------------------+-------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/images | ++---------------------+-------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+-------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------+ +| Description | Create Image and Upload the image file to the VIM | ++---------------------+-------------------------------------------------------------------------------+ + +3.1.1. **Request** +>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===========================+==================================================================================================+ +| name | M | 1 | String | Image Name | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| imagePath | M | 1 | String | Image Local Path from catalog | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| imageType | M | 1 | String | Image Type | +| | | | | | +| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova, docker | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| visibility | O | 1 | string | Visibility for this image. | +| | | | | | +| | | | | public, private, shared, or community | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ +| properties | O | 0..N | List of key-value pairs | Examples:--property vmware_disktype=streamOptimized --property vmware_adaptertype="lsiLogic" | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------------------------------------------------+ + +:: + + { + + "imageName": "cirros", + + "imagePath": "/home/cirros.qcow2", + + "imageType": "qcow2" + + "containerFormat":"bare" + + } + +3.1.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===========================+========================================================+ +| id | M | 1 | String | Image UUID in the VIM | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| name | M | 1 | String | Image Name | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| returnCode | M | 1 | Int | 0: Already exist 1: Newly created | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| imageType | M | 1 | String | Image Type | +| | | | | | +| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova, docker | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| visibility | O | 1 | string | Visibility for this image. | +| | | | | | +| | | | | public, private, shared, or community | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| properties | O | 0..N | List of key-value pairs | | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| vimid | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------------------+--------------------------------------------------------+ + +*202*: accepted + +500: failed + +:: + + { + "id": "3c9eebdbbfd345658269340b9ea6fb73", + "name": "cirros", + "returnCode": 1 + } + +3.2. **Delete Image** +--------------------- + ++---------------------+-----------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/images/{imageId} | ++---------------------+-----------------------------------------------------------------------------------------+ +| Operation | Delete | ++---------------------+-----------------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-----------------------------------------------------------------------------------------+ +| Description | Delete Image | ++---------------------+-----------------------------------------------------------------------------------------+ + +3.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +3.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +3.3. **List Images** +-------------------- + ++---------------------+-------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud_owner}\_{region}/{tenantid}/images | ++---------------------+-------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------+ +| Description | Query Image list | ++---------------------+-------------------------------------------------------------------------------+ + +3.3.1. **Request** +>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+==================================================================================================================================================================================================================================================================+ +| limit | O | 1 | integer | Requests a page size of items. Returns a number of items up to a limit value. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| marker | O | 1 | string | The ID of the last-seen item. Use the limit parameter to make an initial limited request and use the ID of the last-seen item from the response as the marker parameter value in a subsequent limited request. | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of an image | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +3.3.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| \ **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================================================+=================+===================+===============+========================================================+ +| images | M | 0..N | List | Image List | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| id | M | 1 | String | Image ID | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| size | M | 1 | int | Image Size | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| name | M | 1 | String | Image Name | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| status | M | 1 | String | Image Status | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| imageType | M | 1 | String | Image Type | +| | | | | | +| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova, docker | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| visibility | O | 1 | string | Visibility for this image. | +| | | | | | +| | | | | public, private, shared, or community | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------------------------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ + +200: ok + +500: failed + +:: + + { + "vimid": "", + "vimname": "", + "imageList": [{ + "status": "active", + "id": "5e2757c1-f846-4727-915c-9a872553ed75", + "size": 862016, + "name": "vim-plus-cgsl40g-z.qcow2" + }] + } + + +3.4. **Get Image** +------------------ + ++---------------------+-----------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/images/{imageid} | ++---------------------+-----------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-----------------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-----------------------------------------------------------------------------------------+ +| Description | Query Image Information | ++---------------------+-----------------------------------------------------------------------------------------+ + +3.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +3.4.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+========================================================+ +| id | M | 1 | String | Image ID | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| size | M | 1 | int | Image Size | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| name | M | 1 | String | Image Name | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| status | M | 1 | String | Image Status | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| imageType | M | 1 | String | Image Type | +| | | | | | +| | | | | ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| containerFormat | M | 1 | string | ami, ari, aki, bare, ovf, ova, docker | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| visibility | O | 1 | string | Visibility for this image. | +| | | | | | +| | | | | public, private, shared, or community | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| vimName | M | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+--------------------------------------------------------+ + +200: ok + +500: failed + +:: + + { + "vimid": "", + "vimname": "", + "status": "active", + "id": "5e2757c1-f846-4727-915c-9a872553ed75", + "size": 862016, + "name": "vim-plus-cgsl40g-z.qcow2" + } + +4. **Network Management** +^^^^^^^^^^^^^^^^^^^^^^^^^ + +4.1. **Create Network** +----------------------- + ++---------------------+---------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | ++---------------------+---------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+---------------------------------------------------------------------------------+ +| Direction | VNFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------+ +| Description | Create network and subnetwork on the VIM | ++---------------------+---------------------------------------------------------------------------------+ + +4.1.1. **Request** +>>>>>>>>>>>>>>>>>> + ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=============================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ +| name | M | 1 | String | Logical network name | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| shared | M | 1 | boolean | Whether to share(1:sharing;0:private) | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networkType | O | 1 | String | Network type | +| | | | | | +| | | | | flat, vlan, vxlan, gre, | +| | | | | | +| | | | | portgroup | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| segmentationId | O | 1 | Int | id of paragraph | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| routerExternal | O | 1 | boolean |Indicates whether this network can provide floating IPs via a router. | ++-----------------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +:: + + { + "tenant": "tenant1", + "networkName": "ommnet", + "shared": 1, + "vlanTransparent": 1, + "networkType": "vlan", + "segmentationId": 202, + "physicalNetwork": "ctrl", + "routerExternal": 0 + } + +4.1.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ +| status | M | 1 | string | Network status | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | Network id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Network name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| segmentationId | O | 1 | int | Segmentation id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networkType | O | 1 | string | Network type | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +202: accepted + +500: failed + +:: + + { + "returnCode": 0, + "vimId": "11111", + "vimName": "11111", + "status": "ACTIVE", + "id": "3c9eebdbbfd345658269340b9ea6fb73", + "name": "net1", + "tenant": "tenant1", + "networkName": "ommnet", + "shared": 1, + "vlanTransparent": 1, + "networkType": "vlan", + "segmentationId": 202, + "physicalNetwork": "ctrl", + "routerExternal": 0 + } + +4.2. **Delete Network** +----------------------- + ++---------------------+---------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=============================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} | ++---------------------+---------------------------------------------------------------------------------------------+ +| Operation | Delete | ++---------------------+---------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------------------+ + +4.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +4.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +4.3. **List Network** +--------------------- + ++---------------------+---------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks | ++---------------------+---------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+---------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------+ + +4.3.1. **Query** +>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+=======================================================================================+ +| name | O | 1 | String | Filters the response by a name, as a string. A valid value is the name of a network | ++-----------------+-----------------+-------------------+---------------+---------------------------------------------------------------------------------------+ + +4.3.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networks | | 0..N | List | Network list | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| status | M | 1 | string | Network status | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | Network id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Network name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| segmentationId | O | 1 | int | Segmentation id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networkType | O | 1 | string | Network type | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +:: + + { + + "vimId": "11111", + + "vimName": "111", + + "networks": + + [{ + + "status": "ACTIVE", + + "id": "3c9eebdbbfd345658269340b9ea6fb73", + + "name": "net1", + + "tenant": "tenant1", + + "networkName": "ommnet", + + "shared": 1, + + "vlanTransparent": 1, + + "networkType": "vlan", + + "segmentationId": 202, + + "physicalNetwork ": "ctrl", + + "routerExternal ": 0 + + }] + + } + +4.4. **Get Network** +-------------------- + ++---------------------+---------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=============================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/networks/{networkId} | ++---------------------+---------------------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+---------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------------------+ + +4.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +4.4.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+===========================================================================================================================================================================================================================================================================================+ +| status | M | 1 | string | Network status | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | Network id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Network name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| segmentationId | O | 1 | int | Segmentation id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| networkType | O | 1 | string | Network type | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| physicalNetwork | O | 1 | string | The physical network where this network should be implemented. The Networking API v2.0 does not provide a way to list available physical networks. For example, the Open vSwitch plug-in configuration file defines a symbolic name that maps to specific bridges on each compute host. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vlanTransparent | O | 1 | boolean | Whether to support VLAN pass through(1:true;0:false) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| shared | O | 1 | boolean | Whether to share(1:sharing;0:private) | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| routerExternal | O | 1 | boolean | Indicates whether this network can provide floating IPs via a router. | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +:: + + { + + "vimId":"11111", + + "vimName":"11111", + + "status": "ACTIVE", + + "id": "3c9eebdbbfd345658269340b9ea6fb73", + + "name": "net1", + + "tenant": "tenant1", + + "networkName": "ommnet", + + "shared": 1, + + "vlanTransparent": 1, + + "networkType":"vlan", + + "segmentationId":202, + + "physicalNetwork ":"ctrl", + + "routerExternal ":0 + + } + +5. **Subnetwork Management** +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +5.1. **Create Subnets** +----------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | VNFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ +| Description | Create network and subnetwork on the VIM | ++---------------------+--------------------------------------------------------------------------------+ + +5.1.1. **Request** +>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+========================+======================+ +| networkId | M | 1 | String | Network Id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| name | M | 1 | String | SubnetName | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| cidr | M | 1 | String | Subnet cidr | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| ipVersion | M | 1 | Int | Ip type | +| | | | | | +| | | | | 4,6 | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| enableDhcp | O | 1 | boolean | Whether to allow | +| | | | | | +| | | | | 1: yes;0: no | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| gatewayIp | O | 1 | String | Gateway ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| dnsNameservers | O | 1..n | List of servers | List of servers | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| hostRoutes | O | 1..n | List of routes | List of routes | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| allocationPools | O | 1..n | list of "allocation" | list of allocation | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->allocation | | | | | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->start | O | 1 | String | Start ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->end | O | 1 | String | End ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ + +:: + + { + + "tenant": "tenant1", + + "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22", + + "subnetName": "subnet1", + + "cidr": "10.43.35.0/24", + + "ipVersion": 4, + + "enableDhcp": 1, + + "gatewayIp": "10.43.35.1", + + "dnsNameservers": [], + + "allocationPools": [{ + + "start": "192.168.199.2", + + "end": "192.168.199.254" + + }], + + "hostRoutes": [] + + } + +5.1.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+========================+=====================================+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| status | M | 1 | string | subnetwork status | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| id | M | 1 | string | subNetwork id | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| networkId | O | 1 | String | Network Id | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| networkName | O | 1 | String | Network Name | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| name | M | 1 | String | SubnetName | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| cidr | M | 1 | String | Subnet cidr | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| ipVersion | M | 1 | Int | Ip type | +| | | | | | +| | | | | 4,6 | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| enableDhcp | O | 1 | boolean | Whether to allow | +| | | | | | +| | | | | 1: yes;0: no | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| gatewayIp | O | 1 | String | Gateway ip | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| dnsNameservers | O | 1..n | List of servers | List of servers | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| hostRoutes | O | 1..n | List of routes | List of routes | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| allocationPools | O | 1..n | list of "allocation" | list of allocation | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| -->allocation | | | | | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| -->start | O | 1 | String | Start ip | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ +| -->end | O | 1 | String | End ip | ++-------------------+-----------------+-------------------+------------------------+-------------------------------------+ + +202: accepted + +500: failed + +:: + + { + + "returnCode": 0, + + "vimId": "11111", + + "vimName": "11111", + + "status": " ACTIVE", + + "id": " d62019d3-bc6e-4319-9c1d-6722fc136a23", + + "tenant": "tenant1", + + "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22", + + "name": "subnet1", + + "cidr": "10.43.35.0/24", + + "ipVersion": 4, + + "enableDhcp": 1, + + "gatewayIp": "10.43.35.1", + + "dnsNameservers": [], + + "allocationPools": [{ + + "start": "192.168.199.2", + + "end": "192.168.199.254" + + }], + + "hostRoutes": [] + + } + +5.2. **Delete Subnets** +----------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetId} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | Delete | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +5.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +5.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +5.3. **List Subnets** +--------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +5.3.1. **Query** +>>>>>>>>>>>>>>>> + +msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/subnets?{……} + ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+================================================================================================+ +| name | O | 1 | String | Filters fields of the response by a name, as a string. A valid value is the name of a subnet | ++-----------------+-----------------+-------------------+---------------+------------------------------------------------------------------------------------------------+ + +5.3.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+========================+======================+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| subnets | M | 0..N | List | Network list | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| status | | 1 | string | subnetwork status | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| id | | 1 | string | subNetwork id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| networkId | O | 1 | String | Network Id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| networkName | O | 1 | String | Network Name | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| name | M | 1 | String | SubnetName | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| cidr | M | 1 | String | Subnet cidr | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| ipVersion | M | 1 | Int | Ip type | +| | | | | | +| | | | | 4,6 | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| enableDhcp | O | 1 | boolean | Whether to allow | +| | | | | | +| | | | | 1: yes;0: no | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| gatewayIp | O | 1 | String | Gateway ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| dnsNameservers | O | 1..n | List of servers | List of servers | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| hostRoutes | O | 1..n | List of routes | List of routes | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| allocationPools | O | 1..n | list of "allocation" | list of allocation | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->allocation | | | | | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->start | O | 1 | String | Start ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->end | O | 1 | String | End ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ + +**200: ok** + +**500: failed** + +:: + + { + + "vimId": "11111", + + "vimName": "11111", + + "subnets": [ + + { + + "status": " ACTIVE", + + "id": " d62019d3-bc6e-4319-9c1d-6722fc136a23", + + "tenant": "tenant1", + + "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22", + + "name": "subnet1", + + "cidr": "10.43.35.0/24", + + "ipVersion": 4, + + "enableDhcp": 1, + + "gatewayIp": "10.43.35.1", + + "dnsNameservers": [], + + "allocationPools": [{ + + "start": "192.168.199.2", + + "end": "192.168.199.254" + + }], + + "hostRoutes": [] + + } + + ] + + } + +5.4. **Get Subnets** +-------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/subnets/{subnetid} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +5.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +5.4.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+========================+======================+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| status | | 1 | string | subnetwork status | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| id | | 1 | string | subNetwork id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| networkId | O | 1 | String | Network Id | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| networkName | O | 1 | String | Network Name | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| name | M | 1 | String | SubnetName | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| cidr | M | 1 | String | Subnet cidr | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| ipVersion | M | 1 | Int | Ip type | +| | | | | | +| | | | | 4,6 | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| enableDhcp | O | 1 | boolean | Whether to allow | +| | | | | | +| | | | | 1: yes;0: no | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| gatewayIp | O | 1 | String | Gateway ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| dnsNameservers | O | 1..n | List of servers | List of servers | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| hostRoutes | O | 1..n | List of routes | List of routes | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| allocationPools | O | 1..n | list of "allocation" | list of allocation | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->allocation | | | | | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->start | O | 1 | String | Start ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ +| -->end | O | 1 | String | End ip | ++-------------------+-----------------+-------------------+------------------------+----------------------+ + +202: accepted + +500: failed + +:: + + { + + "status": " ACTIVE", + + "id": " d62019d3-bc6e-4319-9c1d-6722fc136a23", + + "tenant": "tenant1", + + "network_id": "d32019d3-bc6e-4319-9c1d-6722fc136a22", + + "name": "subnet1", + + "cidr": "10.43.35.0/24", + + "ipVersion": 4, + + "enableDhcp": 1, + + "gatewayIp": "10.43.35.1", + + "dnsNameservers": [], + + "allocationPools": [{ + + "start": "192.168.199.2", + + "end": "192.168.199.254" + + }], + + "hostRoutes": [] + + } + +6. **Virtual Port** +^^^^^^^^^^^^^^^^^^^ + +6.1. **Create Virtual Port** +---------------------------- + ++---------------------+------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports | ++---------------------+------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+------------------------------------------------------------------------------+ + +6.1.1. **Request** +>>>>>>>>>>>>>>>>>> + ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++========================+=================+===================+===============+=======================================================+ +| networkId | M | 1 | string | Network UUID | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| subnetId | O | 1 | string | Subnet UUID | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| name | M | 1 | string | Port name | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| macAddress | O | 1 | string | Mac address | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| ip | O | 1 | string | Ip address | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| vnicType | O | 1 | string | Virtual network card type, | +| | | | | | +| | | | | the value of three kinds of normal/direct/macvtap | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ +| \ **securityGroups** | **O** | **1** | **string** | **The IDs of security groups applied to the port.** | ++------------------------+-----------------+-------------------+---------------+-------------------------------------------------------+ + +6.1.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+===============+=====================================================+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| status | M | 1 | string | status | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| id | M | 1 | string | Port Id | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| name | M | 1 | string | Port name | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkName | M | 1 | string | Network name | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkId | M | 1 | string | Network Id | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetName | M | 1 | string | Subnet name | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetId | M | 1 | string | SubnetId | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| macAddress | O | 1 | string | Mac address | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| ip | O | 1 | string | Ip address | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vnicType | O | 1 | string | Virtual network card type, | +| | | | | | +| | | | | the value of three kinds of normal/direct/macvtap | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **securityGroups** | **O** | **1** | **string** | **List of security group names.** | ++----------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ + +6.2. **Delete Virtual Port** +---------------------------- + ++---------------------+---------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=======================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} | ++---------------------+---------------------------------------------------------------------------------------+ +| Operation | DELETTE | ++---------------------+---------------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------------+ + +6.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +6.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +6.3. **List Virtual Port** +-------------------------- + ++---------------------+-----------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenantid}/ports | ++---------------------+-----------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-----------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+-----------------------------------------------------------------------------+ + +6.3.1. **Query** +>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+=================================================+ +| name | M | 1 | string | Port name to filter out list of virtual ports | ++-----------------+-----------------+-------------------+---------------+-------------------------------------------------+ + +6.3.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===================+=================+===================+===============+=====================================================+ +| vimId | M | 1 | String | vim id | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| Ports | M | 0..N | List | ports | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| id | M | 1 | string | Port Id | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| name | M | 1 | string | Port name | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| status | M | 1 | string | status | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **networkName** | O | 1 | string | Network name | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkId | M | 1 | string | Network Id | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetName | O | 1 | string | Subnet name | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetId | M | 1 | string | SubnetId | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| macAddress | O | 1 | string | Mac address | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| ip | O | 1 | string | Ip address | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vnicType | O | 1 | string | Virtual network card type, | +| | | | | | +| | | | | the value of three kinds of normal/direct/macvtap | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| securityGroups | O | 1 | string | List of security group names. | ++-------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ + +**200: ok** + +**500: failed** + + +6.4. **Get Virtual Port** +------------------------- + ++---------------------+---------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=======================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ports/{portid} | ++---------------------+---------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+---------------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------------+ + +6.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +6.4.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++==================+=================+===================+===============+=====================================================+ +| vimId | M | 1 | String | vim id | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| status | M | 1 | string | status | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| id | M | 1 | string | Port Id | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| name | M | 1 | string | Port name | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkName | M | 1 | string | Network name | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| networkId | M | 1 | string | Network Id | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetName | M | 1 | string | Subnet name | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| subnetId | M | 1 | string | SubnetId | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| macAddress | O | 1 | string | Mac address | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| ip | O | 1 | string | Ip address | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| vnicType | O | 1 | string | Virtual network card type, | +| | | | | | +| | | | | the value of three kinds of normal/direct/macvtap | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ +| securityGroups | O | 1 | string | **List of security group names.** | ++------------------+-----------------+-------------------+---------------+-----------------------------------------------------+ + +**200: ok** + +**500: failed** + + +7. **Server Management** +^^^^^^^^^^^^^^^^^^^^^^^^ + +7.1. **Create Server** +---------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +7.1.1. **Request** +>>>>>>>>>>>>>>>>>> + ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+=======================================+========================================================================================================================================================================================+ +| name | M | 1 | string | server name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| boot | M | 1 | String | Start parameters | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| nicArray | O | 1..n | List of nic | List of nic | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| contextArray | O | 1..n | list of context | list of context | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| volumeArray | O | 1..n | list of volume | list of volume | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| availabilityZone | O | 1 | string | Usable field | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| flavorId | M | 1 | String | server Flavor id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| userdata | O | 1 | string | Configuration information or scripts to use upon launch. Must be Base64 encoded. | +| | | | | | +| | | | | NOTE: The ‘null’ value allowed in Nova legacy v2 API, but due to the strict input validation, it isn’t allowed in Nova v2.1 API. | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| securityGroups | O | 1 | List of names of security group | One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group. | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| serverGroup | O | 1 | string | the ServerGroup for anti-affinity and affinity | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +**boot** + ++-----------------+-----------------+-------------------+---------------+---------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===========================+ +| type | M | 1 | int | Startup mode | +| | | | | | +| | | | | 1. boot from the volume | +| | | | | | +| | | | | 2. boot from image | ++-----------------+-----------------+-------------------+---------------+---------------------------+ +| volumeId | O | 1 | string | Volume Id(type=1) | ++-----------------+-----------------+-------------------+---------------+---------------------------+ +| imageId | O | 1 | String | ImageId(type=2) | ++-----------------+-----------------+-------------------+---------------+---------------------------+ + +**contextArray** + ++-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===========================================================================================================================================================+ +| fileName | M | 1 | String | Injection file name | ++-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ +| fileData | M | 1 | string | Injection file content (injection file content inside the <mac>$MAC\_1</mac> $MAC\_1 need to be replaced by the MAC address, of which 1 is NIC index. ) | ++-----------------+-----------------+-------------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ + +**volumeArray** + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| volumeId | M | 1 | String | Volume Id | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +**nicArray** + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| portId | M | 1 | String | Port Id | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +**metadata** + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| keyName | M | 1 | String | Key name | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| value | M | 1 | string | value | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +:: + + { + + "tenant": "tenant1", + + "name": "vm1", + + "availabilityZone": "az1", + + "flavorName": "vm_large", + + "boot": { + + "type": 1, + + " volumeName": "volume1" + + }, + + "flavorId": "vm_large_134213", + + "contextArray": [{ + + "fileName": "test.yaml", + + "fileData": "…." + + }], + + "volumeArray": [{ + + "volumeName": "vol1", + + }], + + "nicArray": [{ + + "portId": "port_a" + + }], + + "metada": [{ + + "keyName": "foo", + + "value": "foo value" + + }], + + "userdata": "abcdedf" + + } + +7.1.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+======================================+========================================================================================================================================================================================+ +| vimId | M | 1 | String | vim id | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| returnCode | | 1 | int | 0: Already exist 1: Newly created | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | server id | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | | 1 | string | server name | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| boot | M | 1 | String | Start parameters | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| nicArray | O | 1..n | List of nic | List of nic | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| volumeArray | O | 1..n | list of volume | list of volume | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| availabilityZone | O | 1 | string | Usable field | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| flavorId | M | 1 | String | server Flavor | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **securityGroups** | **O** | **1** | **List of name of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | +| | | | | | +| | | | | **[TBD]** | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | +| | | | | | +| | | | | [TBD] | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **status** | **M** | **1** | **string** | Server status, 0:INACTIVE,1:ACTIVE,2:ERROR | ++----------------------+-----------------+-------------------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +202: accepted + +500: failed + +:: + + { + + "id": "3c9eebdbbfd345658269340b9ea6fb73", + + "name": "vm1", + + "returnCode": 1, + + } + +7.2. **Delete Server** +---------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +7.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +7.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +7.3. **List Server** +-------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +7.3.1. **Request** +>>>>>>>>>>>>>>>>>> + +msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/vms?{……} + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| name | M | 1 | string | server name | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +7.3.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+=======================================+========================================================================================================================================================================================+ +| vimId | M | 1 | String | vim id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| servers | M | 1 | array | server list | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | server id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | server name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| boot | M | 1 | String | Start parameters | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| nicArray | O | 1..n | List of nic | List of nic | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| volumeArray | O | 1..n | list of volume | list of volume | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| availabilityZone | O | 1 | string | Usable field | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| flavorId | M | 1 | String | server Flavor | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metada | O | 1 | keypair | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | +| | | | | | +| | | | | **[TBD]** | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | +| | | | | | +| | | | | [TBD] | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +7.4. **Get Server** +------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/servers/{serverid} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +7.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +7.4.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++======================+=================+===================+=======================================+========================================================================================================================================================================================+ +| vimId | M | 1 | String | vim id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | server id | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | server name | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| boot | M | 1 | String | Start parameters | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| nicArray | O | 1..n | List of nic | List of nic | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| volumeArray | O | 1..n | list of volume | list of volume | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| availabilityZone | O | 1 | string | Usable field | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| flavorId | M | 1 | String | server Flavor | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| metadata | O | 1 | List of metadata | Metadata key and value pairs. The maximum size of the metadata key and value is 255 bytes each. | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **securityGroups** | **O** | **1** | **List of names of security group** | **One or more security groups. Specify the name of the security group in the name attribute. If you omit this attribute, the API creates the server in the default security group.** | +| | | | | | +| | | | | **[TBD]** | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **serverGroup** | **O** | **1** | **string** | the ServerGroup for anti-affinity and affinity | +| | | | | | +| | | | | [TBD] | ++----------------------+-----------------+-------------------+---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +8. **Flavor Management** +^^^^^^^^^^^^^^^^^^^^^^^^ + +8.1. **Create Flavor** +---------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | VNFLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +8.1.1. **Request** +>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============================+==============================================================================================================================+ +| name | M | 1 | string | Flavor Name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vcpu | M | 1 | int | Virtual CPU number | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| memory | M | 1 | int | Memory size | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| disk | M | 1 | int | The size of the root disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| ephemeral | O | 1 | int | The size of the ephemeral disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| swap | O | 1 | int | The size of the swap disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| isPublic | O | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +8.1.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===========================+==============================================================================================================================+ +| id | M | 1 | string | Flavor id | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Flavor name | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vcpu | M | 1 | int | Virtual CPU number | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| memory | M | 1 | int | Memory size | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| disk | M | 1 | int | The size of the root disk | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| ephemeral | M | 1 | int | The size of the ephemeral disk | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| swap | M | 1 | int | The size of the swap disk | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| extraSpecs | O | 0..N | List of Key-value pairs | EPA parameter | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+---------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +8.2. **Delete Flavor** +---------------------- + ++---------------------+--------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+============================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors /{flavorid} | ++---------------------+--------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+--------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------------------+ + +8.2.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +8.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + +204: no content + +8.3. **List Flavor** +-------------------- + ++---------------------+---------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/ flavors | ++---------------------+---------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+---------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+---------------------------------------------------------------------------------+ + +8.3.1. **Query** +>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+----------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+==================================+ +| name | M | 1 | string | Flavor name to filter out list | ++-----------------+-----------------+-------------------+---------------+----------------------------------+ + +8.3.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============================+==============================================================================================================================+ +| flavors | M | 0..N | list | Vm list | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| id | M | 1 | string | Flavor id | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Flavor Name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vcpu | M | 1 | int | Virtual CPU number | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| memory | M | 1 | int | Memory size | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| disk | M | 1 | int | The size of the root disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| ephemeral | M | 1 | int | The size of the ephemeral disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| swap | M | 1 | int | The size of the swap disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +8.4. **Get Flavor** +------------------- + ++---------------------+----------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/flavors/{ flavorsid } | ++---------------------+----------------------------------------------------------------------------------------------+ +| Operation | get | ++---------------------+----------------------------------------------------------------------------------------------+ +| Direction | NFLCM,NSLCM->MULTIVIM | ++---------------------+----------------------------------------------------------------------------------------------+ + +8.4.1. **Request** +>>>>>>>>>>>>>>>>>> + +N/A + +8.4.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============================+==============================================================================================================================+ +| id | M | 1 | string | Flavor id | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| name | M | 1 | string | Flavor Name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vcpu | M | 1 | int | Virtual CPU number | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| memory | M | 1 | int | Memory size | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| disk | M | 1 | int | The size of the root disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| ephemeral | M | 1 | int | The size of the ephemeral disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| swap | M | 1 | int | The size of the swap disk | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| isPublic | M | 1 | boolean | Whether the flavor is public (available to all projects) or scoped to a set of projects. Default is True if not specified. | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| extraSpecs | O | 0..N | List of keyname-value pairs | EPA parameter | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++-----------------+-----------------+-------------------+-------------------------------+------------------------------------------------------------------------------------------------------------------------------+ + +200: ok + +500: failed + +9. **Volume Management** +^^^^^^^^^^^^^^^^^^^^^^^^ + +9.1. **Create Volume** +---------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +9.1.1. **Request** +>>>>>>>>>>>>>>>>>> + ++--------------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++====================+=================+===================+===============+===================+ +| name | M | 1 | string | Volume name | ++--------------------+-----------------+-------------------+---------------+-------------------+ +| volumeSize | M | 1 | int | Volume size | ++--------------------+-----------------+-------------------+---------------+-------------------+ +| imageId | O | 1 | string | Image UUID | ++--------------------+-----------------+-------------------+---------------+-------------------+ +| volumeType | O | 1 | string | Volume type | ++--------------------+-----------------+-------------------+---------------+-------------------+ +| availabilityZone | O | 1 | string | Usable field | ++--------------------+-----------------+-------------------+---------------+-------------------+ + +:: + + { + + "tenant": "tenant1", + + "volumeName": "volume1", + + "volumeSize": 3, + + "imageName": "cirros.qcow2", + + "volumeType": "volumetype1", + + "availabilityZone": "zone1" + + } + +9.1.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++====================+=================+===================+===============+=====================================+ +| returnCode | M | 1 | int | 0: Already exist 1: Newly created | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| vimId | M | 1 | String | vim id | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| vimName | O | 1 | string | vim name | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| status | M | 1 | string | Volume status | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| id | M | 1 | string | Volume id | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| name | M | 1 | string | Volume name | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| volumeType | O | 1 | string | Volume type | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ +| availabilityZone | O | 1 | string | Availability Zone | ++--------------------+-----------------+-------------------+---------------+-------------------------------------+ + +202: accepted + +500: failed + +:: + + { + + "id": "bc9eebdbbfd356458269340b9ea6fb73", + + "name": "volume1", + + "returnCode": 1, + + } + +9.2. **Delete Volume** +---------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeId} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NSLCM->MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +9.2.1. **Request** +>>>>>>>>>>>>>>>>>> + + N/A + +9.2.2. **Response** +>>>>>>>>>>>>>>>>>>> + + 204: no content + +9.3. **List Volumes** +--------------------- + ++---------------------+--------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes | ++---------------------+--------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+--------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+--------------------------------------------------------------------------------+ + +9.3.1. **Request** +>>>>>>>>>>>>>>>>>> + + msb.onap.org:80/api/multicloud/v0/{cloud + owner}\_{region}/volumes?{……} + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| name | M | 1 | string | Volume name | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +9.3.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++====================+=================+===================+======================+====================================================+ +| vimId | M | 1 | String | vim id | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumes | M | 1 | Array | | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| id | M | 1 | string | Volume id | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| name | M | 1 | string | Volume name | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| createTime | O | 1 | string | Create time | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| status | M | 1 | string | Volume status | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumeSize | M | 1 | int | Volume size | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumeType | M | 1 | string | Volume type | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| availabilityZone | M | 1 | string | Availability Zone | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ + +200: ok + +500: failed + +:: + + { + + "volumes": [ + + { + + "status": "available", + + "name": "test", + + "attachments": [], + + "createTime": "2015-12-02T07:57:23.000000", + + " volumeType ": "ws", + + "id": "91b39ebb-acdc-43f3-9c2e-b0da7ad0fd55", + + "size": 20 + + }, + + { + + "status": "in-use", + + "name": "wangsong", + + "attachments": [ + + { + + "device": "/dev/vdc", + + "serverId": "3030e666-528e-4954-88f5-cc21dab1262b", + + "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", + + "hostName": null, + + "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31" + + } + + ], + + "createTime": "2015-12-02T06:39:40.000000", + + " volumeType ": null, + + "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", + + "size": 40 + + } + + ] + + } + +9.4. **Get Volumes** +-------------------- + ++---------------------+-------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/volumes/{volumeid} | ++---------------------+-------------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+-------------------------------------------------------------------------------------------+ + +9.4.1. **Request** +>>>>>>>>>>>>>>>>>> + + N/A + +9.4.2. **Response** +>>>>>>>>>>>>>>>>>>> + ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++====================+=================+===================+======================+====================================================+ +| vimId | M | 1 | String | vim id | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| tenantId | M | 1 | String | Tenant UUID | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| id | | 1 | string | Volume id | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| name | | 1 | string | Volume name | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| createTime | | 1 | string | Create time | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| status | | 1 | string | Volume status | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumeType | | 1 | list of string | Volume type | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| volumeSize | | 1 | int | Volume size | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| availabilityZone | M | 1 | string | Availability Zone | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ +| attachments | M | 1..n | list of attachment | List of additional information on the cloud disk | ++--------------------+-----------------+-------------------+----------------------+----------------------------------------------------+ + +**attachment:** + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| device | | 1 | string | Device name | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| serverId | | 1 | string | VM id | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| volumeId | | 1 | string | Volume id | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| hostName | | 1 | string | Host name | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| id | | 1 | string | Device id | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +200: ok + +500: failed + +:: + + { + + "status": "in-use", + + "name": "wangsong", + + "attachments": [ + + { + + "device": "/dev/vdc", + + "serverId": "3030e666-528e-4954-88f5-cc21dab1262b", + + "volumeId": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", + + "hostName": null, + + "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31" + + } + + ], + + "createTime": "2015-12-02T06:39:40.000000", + + "volumeType ": null, + + "id": "4bd3e9eb-cd8b-456a-8589-910836a0ab31", + + "volumeSize ": 40 + + } + +10. **Tenant Management** +^^^^^^^^^^^^^^^^^^^^^^^^^ + +10.1. **List tenants** +---------------------- + ++---------------------+---------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=====================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/tenants | ++---------------------+---------------------------------------------------------------------+ +| Operation | GET | ++---------------------+---------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+---------------------------------------------------------------------+ + +10.1.1. **Query** +>>>>>>>>>>>>>>>>> + ++---------------------+-----------------+-------------------+---------------+-------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=====================+=================+===================+===============+=====================================+ +| name={tenantname} | O | 1 | string | Tenant name to filter output list | ++---------------------+-----------------+-------------------+---------------+-------------------------------------+ + +10.1.2. **Response** +>>>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+-------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+===================+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| tenants | M | 1 | Array | | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| id | M | 1 | string | tenant UUID | ++-----------------+-----------------+-------------------+---------------+-------------------+ +| name | M | 1 | string | tenant name | ++-----------------+-----------------+-------------------+---------------+-------------------+ + +200: ok + +500: failed + +:: + + { + + " tenants ": [ + + { + + "id": "1", + + "name": "test\_a" + + } + + ] + + } + +11. **Limits** +^^^^^^^^^^^^^^ + +11.1. **List Limits of resouces** +--------------------------------- + ++---------------------+-------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/limits | ++---------------------+-------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+-------------------------------------------------------------------------------+ + +11.1.1. **Request** +>>>>>>>>>>>>>>>>>>> + +N/A + +11.1.2. **Response** +>>>>>>>>>>>>>>>>>>>> + ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++===========================+=================+===================+===============+==================================================================+ +| vimId | M | 1 | String | vim id | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| tenantId | M | 1 | string | Tenant UUID | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxPersonality | O | 1 | int | The number of allowed injected files for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxPersonalitySize | O | 1 | int | The number of allowed bytes of content for each injected file. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxServerGroupMembers | O | 1 | int | The number of allowed members for each server group. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxServerGroups | O | 1 | int | The number of allowed server groups for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxServerMeta | O | 1 | int | The number of allowed metadata items for each instance. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalCores | O | 1 | int | The number of allowed instance cores for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalInstances | O | 1 | int | The number of allowed instances for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalKeypairs | O | 1 | int | The number of allowed key pairs for each user. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalRAMSize | O | 1 | int | The amount of allowed instance RAM, in MB, for each tenant. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalVolumeGigabytes | O | 1 | int | The maximum total amount of volumes, in gibibytes (GiB). | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| maxTotalVolumes | O | 1 | int | The maximum number of volumes. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| totalVolumesUsed | O | 1 | int | The total number of volumes used. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| totalGigabytesUsed | O | 1 | int | The total number of gibibytes (GiB) used. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| network | O | 1 | int | The number of networks allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| subnet | O | 1 | int | The number of subnets allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| subnetpool | O | 1 | int | The number of subnet pools allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| security\_group\_rule | O | 1 | int | The number of security group rules allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| security\_group | O | 1 | int | The number of security groups allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| router | O | 1 | int | The number of routers allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ +| port | O | 1 | int | The number of ports allowed for each project. | ++---------------------------+-----------------+-------------------+---------------+------------------------------------------------------------------+ + +200: ok + +500: failed + +:: + + { + + "maxPersonality": 5, + + "maxPersonalitySize": 10240, + + "maxServerMeta": 128, + + "maxTotalCores": 20, + + "maxTotalInstances": 10, + + "maxTotalKeypairs": 100, + + "maxTotalRAMSize": 51200, + + "maxServerGroups": 10, + + "maxServerGroupMembers": 10, + + } + +12. **Host Management** +^^^^^^^^^^^^^^^^^^^^^^^ + +12.1. **List hosts** +-------------------- + ++---------------------+------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}\_{region}/{tenantid}/hosts | ++---------------------+------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+------------------------------------------------------------------------------+ + +12.1.1. **Request** +>>>>>>>>>>>>>>>>>>> + +N/A + +12.1.2. **Response** +>>>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+=================+===================================+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| tenantId | M | 1 | string | Tenant Name | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| hosts | M | 1 | Array of host | List of host information | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| service | M | 1 | string | The service running on the host | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| name | M | 1 | string | host name | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ +| zone | O | 1 | string | Available zone for the host | ++-----------------+-----------------+-------------------+-----------------+-----------------------------------+ + +200: ok + +500: failed + +:: + + { + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + "hosts": [ + + { + + "name": "b6e4adbc193d428ea923899d07fb001e", + + "service": "conductor", + + "zone": "internal", + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + }, + + { + + "name": "09c025b0efc64211bd23fc50fa974cdf", + + "service": "compute", + + "zone": "nova" + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + }, + + { + + "name": "e73ec0bd35c64de4a1adfa8b8969a1f6", + + "service": "consoleauth", + + "zone": "internal" + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + }, + + { + + "host\_name": "396a8a0a234f476eb05fb9fbc5802ba7", + + "service": "network", + + "zone": "internal" + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + }, + + { + + "name": "abffda96592c4eacaf4111c28fddee17", + + "service": "scheduler", + + "zone": "internal" + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1" + + } + + ] + + } + +12.2. **Get host** +------------------ + ++---------------------+-----------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+=========================================================================================+ +| URI | msb.onap.org:80/api/multicloud/v0/{cloud owner}_{region}/{tenantid}/hosts/{hostname} | ++---------------------+-----------------------------------------------------------------------------------------+ +| Operation | GET | ++---------------------+-----------------------------------------------------------------------------------------+ +| Direction | NSLCM-> MULTIVIM | ++---------------------+-----------------------------------------------------------------------------------------+ + +12.2.1. **Request** +>>>>>>>>>>>>>>>>>>> + +12.2.2. **Response** +>>>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+=====================+==============================================================+ +| vimId | M | 1 | String | vim id | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| vimName | O | 1 | string | vim name | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| tenantId | M | 1 | string | Tenant Name | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| host | M | 1 | List of resources | Host resource info | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| resource | M | 1..N | Object | Resource description | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| cpu | M | 1 | Int | The cpu info on the host. | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| memory_mb | M | 1 | int | The memory info on the host (in MB). | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| name | M | 1 | string | host name | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| project | M | 1 | string | Value: total, used_now, used_max or specific project_id | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ +| disk_gb | M | 1 | int | The disk info on the host (in GB). | ++-----------------+-----------------+-------------------+---------------------+--------------------------------------------------------------+ + +200: ok + +500: failed + +:: + + { + + "cpu": 1, + + "disk\_gb": 1028, + + "name": "c1a7de0ac9d94e4baceae031d05caae3", + + "memory\_mb": 8192, + + "vimId": "123", + + "vimName": "vimName", + + "tenantId": "tenantId1", + + "host": [ + + { + + "memory\_mb": 4960, + + "name": " c1a7de0ac9d94e4baceae031d05caae3", + + "disk\_gb": 92, + + "project": "(total)", + + "cpu": 4 + + }, + + { + + "memory\_mb": 1536, + + "name": " c1a7de0ac9d94e4baceae031d05caae3", + + "disk\_gb": 2, + + "project": "(used\_now)", + + "cpu": 2 + + }, + + { + + "memory\_mb": 1024, + + "name": " c1a7de0ac9d94e4baceae031d05caae3", + + "disk\_gb": 2, + + "project": "(used\_max)", + + "cpu": 2 + + }, + + { + + "memory\_mb": 1024, + + "name": " c1a7de0ac9d94e4baceae031d05caae3", + + "disk\_gb": 2, + + "project": "568f7ec425db472ba348251bf1e7eebd", + + "cpu": 2 + + } + + ], + + "vimName": "openstack\_newton", + + "vimId": "dd5b6da9-5984-401f-b89f-78a9776b1a73", + + "tenantId": "568f7ec425db472ba348251bf1e7eebd" + + } + +13. **VIM Management** +^^^^^^^^^^^^^^^^^^^^^^ + +13.1. **Update VIM Info** +------------------------- + ++---------------------+----------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+==============================================================================================+ +| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region}/registry | ++---------------------+----------------------------------------------------------------------------------------------+ +| Operation | POST | ++---------------------+----------------------------------------------------------------------------------------------+ +| Direction | ESR-> MULTICLOUD | ++---------------------+----------------------------------------------------------------------------------------------+ + +13.1.1. **Request** +>>>>>>>>>>>>>>>>>>> + ++-----------------+-----------------+-------------------+---------------+-----------------------+ +| **Parameter** | **Qualifier** | **Cardinality** | **Content** | **Description** | ++=================+=================+===================+===============+=======================+ +| defaultTenant | M | 1 | string | default tenant name | ++-----------------+-----------------+-------------------+---------------+-----------------------+ + +13.1.2. **Response** +>>>>>>>>>>>>>>>>>>>> + +NA + +202: accept + +400: failed + +13.2. **Unregistry VIM** +------------------------ + ++---------------------+-----------------------------------------------------------------------------------------------+ +| **IF Definition** | **Description** | ++=====================+===============================================================================================+ +| URI | http://msb.onap.org:80/api/multicloud/v0/{cloud-owner}_{cloud-region} | ++---------------------+-----------------------------------------------------------------------------------------------+ +| Operation | DELETE | ++---------------------+-----------------------------------------------------------------------------------------------+ +| Direction | ESR-> MULTICLOUD | ++---------------------+-----------------------------------------------------------------------------------------------+ + +13.2.1. **Request** +>>>>>>>>>>>>>>>>>>> + +NA + +13.2.2. **Response** +>>>>>>>>>>>>>>>>>>>> + +NA + +204: No content found + +400: failed |