| | | | | description of the VNF |\r
| | | | | instance to be created. |\r
+-----------------------+------------+-------------+----------+------------------------------+\r
-| extVirtualLink | M | 0..N | String | References to external |\r
-| | | | | virtual links to connect the |\r
-| | | | | VNF to. |\r
+| extVirtualLink | M | 0..N | Ext | References to external |\r
+| | | | Virtual | virtual links to connect the |\r
+| | | | LinkData | VNF to. |\r
+-----------------------+------------+-------------+----------+------------------------------+\r
-| additionalParam | M | 0..N | String |Additional parameters |\r
+| additionalParam | M | 0..N | Object |Additional parameters |\r
| | | | |passed by the NFVO as |\r
| | | | |input to the instantiation |\r
| | | | |process, specific to the |\r
+--------------+------------+-------------+----------+-------------------------------+\r
| Attribute | Qualifier | Cardinality | Content | Description |\r
+==============+============+=============+==========+===============================+\r
-| vimType | M | 1 | String | vim |\r
+| vimType | M | 1 | String | Type of the VIM |\r
+--------------+------------+-------------+----------+-------------------------------+\r
| apiVersion | M | 1 | String | |\r
+--------------+------------+-------------+----------+-------------------------------+\r
"vimid":"1", \r
"interfaceInfo":{\r
\r
- "vimType":"vim",\r
+ "vimType":"openstack",\r
"apiVersion":"v2",\r
"protocolType":"http"\r
\r
\r
**3.1.2 Response**\r
\r
-+--------------+------------+-------------+-----------+-------------------------------+\r
-| Parameter | Qualifier | Cardinality | Content | Description |\r
-+==============+============+=============+===========+===============================+\r
-| jobId | M | 1 | Identifier| Tenant Name of tenant |\r
-| | | | | operation occurrence. |\r
-| | | | | |\r
-| | | | | [lifecycleOperationOccurren |\r
-| | | | | ceId] |\r
-+--------------+------------+-------------+-----------+-------------------------------+\r
-| password | M | 1 | String | Password of login user |\r
-+--------------+------------+-------------+-----------+-------------------------------+\r
++-------------------+------------+-------------+-----------+-------------------------------+\r
+| Parameter | Qualifier | Cardinality | Content | Description |\r
++===================+============+=============+===========+===============================+\r
+| jobId | M | 1 | Identifier| Tenant Name of tenant |\r
+| | | | | operation occurrence. |\r
+| | | | | |\r
+| | | | | [lifecycleOperationOccurren |\r
+| | | | | ceId] |\r
++-------------------+------------+-------------+-----------+-------------------------------+\r
+| vnfInstanceId | M | 1 | String | VNF instance identifier. |\r
++-------------------+------------+-------------+-----------+-------------------------------+\r
\r
{\r
"jobId":"1",\r
| | | | | attributeSelector will be |\r
| | | | | returned for the selected |\r
| | | | | VNF instance(s). |\r
-| | | | | See note. |\r
+--------------+------------+-------------+-----------+---------------------------------+\r
\r
**VnfInfo Table**\r
+=================+============+=============+==========+=================================+\r
| vnfInstanceId | M | 1 | String | VNF instance identifier. |\r
+-----------------+------------+-------------+----------+---------------------------------+\r
-| vnfInstanceName | M | o..1 | String | VNF instance name. See note. |\r
+| vnfInstanceName | M | o..1 | String | VNF instance name. |\r
+-----------------+------------+-------------+----------+---------------------------------+\r
| vnfInstance | M | o..1 | String | Human-readable description of |\r
| Description | | | | the VNF instance. |\r
| | | | | declared in the VNFD. See note 1. |\r
+---------------+------------+-------------+-------------+---------------------------------------------+\r
| aspectId | M | 1 | Identifier | Identifies the aspect of the VNF that is |\r
-| | | | | requested to be scaled, as declared in the |\r
+| | | | | requested to be scaled |\r
+---------------+------------+-------------+-------------+---------------------------------------------+\r
| numberOfSteps | M | 1 | Integer | Number of scaling steps to be executed as |\r
| | | | | part of this ScaleVnf operation. It shall |\r
| scaling (scale up, scale down) is not supported in the present document. |\r
| SCALE_IN designates scaling in. |\r
| SCALE_OUT 1 designates scaling out. |\r
-| NOTE 2: A scaling step is the smallest unit by which a VNF can be scaled w.r.t a particular scaling |\r
+| NOTE 2: A scaling step is the smallest unit by which a VNF can be scaled w.r.t a particular scaling |\r
| aspect. |\r
+------------------------------------------------------------------------------------------------------+\r
\r
"vduid": "vdu_100",\r
"vmname": "ZTE_SSS_111_PP_2_L"\r
\r
- },\r
+ }\r
\r
}\r
\r
"jobId":"1"\r
\r
}\r
+\r
+\r
+**4. Interfaces provided by VFC to integrate with VNFM driver**\r
+===========================================\r
+\r
+\r
+**4.1 VNF Lifecycle Operation Granting Interface**\r
+------------------------\r
+\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition | Description |\r
++===============+==================================================================+\r
+| URI | http(s)://[hostname][:port]/api//nslcm/v1/ns/grantvnf |\r
++---------------+------------------------------------------------------------------+\r
+| Operation | POST |\r
++---------------+------------------------------------------------------------------+\r
+| Direction | VNFMDriver -> NSLCM |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**4.1.1 Request**\r
+\r
+\r
+{\r
+ "vnfInstanceId": "string",\r
+ "vnfDescriptorId": "string",\r
+ "lifecycleOperation": "Terminal",\r
+ "jobId": "string",\r
+ "addResource": [\r
+ {\r
+ "type": "string",\r
+ "resourceDefinitionId": "string",\r
+ "vdu": "string"\r
+ }\r
+ ],\r
+ "removeResource": [\r
+ {\r
+ "type": "string",\r
+ "resourceDefinitionId": "string",\r
+ "vdu": "string"\r
+ }\r
+ ],\r
+ "additionalParam": {}\r
+}\r
+\r
+**4.1.2 Response**\r
+\r
+{\r
+ "vim": {\r
+ "vimInfoId": "string",\r
+ "vimId": "string",\r
+ "interfaceInfo": {\r
+ "vimType": "string",\r
+ "apiVersion": "string",\r
+ "protocolType": "string"\r
+ },\r
+ "accessInfo": {\r
+ "tenant": "string",\r
+ "username": "string",\r
+ "password": "string"\r
+ },\r
+ "interfaceEndpoint": "string"\r
+ }\r
+}\r
+\r
+**4.2 VNF LCM Notification Interface**\r
+------------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition | Description |\r
++===============+==================================================================+\r
+| URI | http(s)://[hostname][:port]/api/nslcm/v1/vnfs/ |\r
+| | {vnfInstanceId}/Notify |\r
++---------------+------------------------------------------------------------------+\r
+| Operation | POST |\r
++---------------+------------------------------------------------------------------+\r
+| Direction | VNFMDriver -> NSLCM |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**4.2.1 Request**\r
+\r
+{\r
+ "status": "result",\r
+ "vnfInstanceId": "string",\r
+ "operation": "Terminal",\r
+ "jobId": "string",\r
+ "affectedVnfc": [\r
+ {\r
+ "vnfcInstanceId": "string",\r
+ "vduId": "string",\r
+ "changeType": "added",\r
+ "vimid": "string",\r
+ "vmid": "string",\r
+ "vmname": "string"\r
+ }\r
+ ],\r
+ "affectedCp": [\r
+ {\r
+ "virtualLinkInstanceId": "string",\r
+ "cpinstanceid": "string",\r
+ "cpdid": "string",\r
+ "ownerType": "string",\r
+ "ownerId": "string",\r
+ "changeType": "added",\r
+ "portResource": {\r
+ "vimid": "string",\r
+ "resourceid": "string",\r
+ "resourceName": "string",\r
+ "tenant": "string",\r
+ "ipAddress": "string",\r
+ "macAddress": "string",\r
+ "instId": "string"\r
+ }\r
+ }\r
+ ],\r
+ "affectedVl": [\r
+ {\r
+ "vlInstanceId": "string",\r
+ "vldid": "string",\r
+ "changeType": "added",\r
+ "networkResource": {\r
+ "resourceType": "network",\r
+ "resourceId": "string"\r
+ }\r
+ }\r
+ ],\r
+ "affectedVirtualStorage": [\r
+ {}\r
+ ]\r
+}\r
+\r
+**4.2.2 Response**\r
+\r
+N/A\r
+\r
+\r
+**4.3 Query VNFM Register Info Interface**\r
+------------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition | Description |\r
++===============+==================================================================+\r
+| URI | http(s)://[hostname][:port]/api/nslcm/v1/vnfms/{vnfmid} |\r
++---------------+------------------------------------------------------------------+\r
+| Operation | GET |\r
++---------------+------------------------------------------------------------------+\r
+| Direction | VNFMDriver -> NSLCM |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**4.3.1 Request**\r
+N/A\r
+\r
+**4.3.2 Response**\r
+{\r
+ "vnfmId": "string",\r
+ "name": "string",\r
+ "type": "string",\r
+ "url": "string",\r
+ "userName": "string",\r
+ "password": "string",\r
+ "vimId": "string",\r
+ "vendor": "string",\r
+ "version": "string",\r
+ "description": "string",\r
+ "certificateUrl": "string",\r
+ "createTime": "string"\r
+}\r
+\r
+\r
+**4.4 Query VIM Register Info Interface**\r
+------------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition | Description |\r
++===============+==================================================================+\r
+| URI | http(s)://[hostname][:port]/api/nslcm/v1/vims/{vimid} |\r
++---------------+------------------------------------------------------------------+\r
+| Operation | GET |\r
++---------------+------------------------------------------------------------------+\r
+| Direction | VNFMDriver -> NSLCM |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**4.4.1 Request**\r
+N/A\r
+\r
+**4.4.2 Response**\r
+\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| Parameter | Qualifier | Cardinality | Content | Description |\r
++====================+============+=============+=============+=================================+\r
+| vimId | M | 1 | string | The identifier of the VIM |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| name | M | 1 | string | The name of the VIM | \r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| type | M | 1 | string | The type of the VIM |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| url | M | 1 | string | The access URL of the VIM |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| userName | M | 1 | string | The user name of the VIM |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| password | M | 1 | string | The password of the VIM |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| vendor | M | 1 | string | The vendor of the VIM |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| version | M | 1 | version | The version of the VIM |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| description | O | 1 | description | The description of the VIM |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| sslCacert | O | 1 | Identifier | The collection of trusted |\r
+| | | | | certificates towards the VIM. |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| sslInsecure | O | 1 | Identifier | Whether to verify VIM's |\r
+| | | | | certificate. |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| status | O | 1 | Identifier | The status of external system |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+\r
+\r
+{\r
+ "vimId": "string",\r
+ "name": "string",\r
+ "type": "string",\r
+ "url": "string",\r
+ "userName": "string",\r
+ "password": "string",\r
+ "vendor": "string",\r
+ "version": "string",\r
+ "description": "string",\r
+ "createTime": "string",\r
+ "sslCacert": "string",\r
+ "sslInsecure": "string",\r
+ "status": "string"\r
+}\r
+\r