Add vfc document template 65/14965/1
authoryangyan <yangyanyj@chinamobile.com>
Mon, 25 Sep 2017 07:59:50 +0000 (15:59 +0800)
committeryangyan <yangyanyj@chinamobile.com>
Mon, 25 Sep 2017 08:04:25 +0000 (16:04 +0800)
Add vfc document template
Issue-ID: VFC-447
Change-Id: Ia8b0a80f202865ae8437dfbfe41f6e288cb0661b
Signed-off-by: yangyan <yangyanyj@chinamobile.com>
16 files changed:
docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst [moved from docs/NSLCM_API_Specification_v0.1.rst with 95% similarity]
docs/APIs/NSLCM_API/index.rst [new file with mode: 0644]
docs/APIs/VNFLCM_API/VNFLCM_API.rst [new file with mode: 0644]
docs/APIs/VNFLCM_API/VNFM_API.png [new file with mode: 0644]
docs/APIs/VNFLCM_API/index.rst [new file with mode: 0644]
docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst [new file with mode: 0644]
docs/APIs/VNFMDriver_API/index.rst [new file with mode: 0644]
docs/APIs/index.rst [new file with mode: 0644]
docs/architecture.rst [new file with mode: 0644]
docs/components.png [new file with mode: 0644]
docs/delivery.rst [new file with mode: 0644]
docs/index.rst
docs/installation.rst [new file with mode: 0644]
docs/logging.rst [new file with mode: 0644]
docs/offeredapis.rst [new file with mode: 0644]
docs/vfc-arc.png [new file with mode: 0644]

similarity index 95%
rename from docs/NSLCM_API_Specification_v0.1.rst
rename to docs/APIs/NSLCM_API/NSLCM_API_Specification_v0.1.rst
index b6992b1..4be4162 100644 (file)
@@ -2,7 +2,7 @@
    :depth: 1\r
 ..\r
 \r
-NL LCM API\r
+NS LCM API\r
 ==========\r
 \r
  {\r
diff --git a/docs/APIs/NSLCM_API/index.rst b/docs/APIs/NSLCM_API/index.rst
new file mode 100644 (file)
index 0000000..ffbf075
--- /dev/null
@@ -0,0 +1,7 @@
+NSLCM API\r
+---------\r
+\r
+.. toctree::\r
+    :titlesonly:\r
+\r
+.. literalinclude:: NSLCM_API_Specification_v0.1.rst
\ No newline at end of file
diff --git a/docs/APIs/VNFLCM_API/VNFLCM_API.rst b/docs/APIs/VNFLCM_API/VNFLCM_API.rst
new file mode 100644 (file)
index 0000000..9b277d4
--- /dev/null
@@ -0,0 +1,1465 @@
+.. contents::\r
+   :depth: 3\r
+..\r
+\r
+   **VNFM API**\r
+   **V0.1**\r
+\r
+**1 Scope**\r
+=============\r
+\r
+    The scope of the present document is to describe the VNFM exposed\r
+    API specification over Or-Vnfm Reference Point.\r
+\r
+**2 Terms, Definitions and Abbreviations**\r
+===========================================\r
+\r
+ For the purposes of the present document, the following\r
+ abbreviations apply:\r
+\r
++------------------------+-----------------------------------------------------+\r
+|     **Abbreviation**   |                                                     |\r
++========================+=====================================================+\r
+|     NFVO               |     Network Functions Virtualization Orchestrator   |\r
++------------------------+-----------------------------------------------------+\r
+|     VNFM               |     Virtual Network Function Manager                |\r
++------------------------+-----------------------------------------------------+\r
+|     VNF                |     Virtual Network Function                        |\r
++------------------------+-----------------------------------------------------+\r
+Table 2-1 abbreviations\r
+\r
+**3. Interfaces provided by VNFM**  (Or-Vnfm/Ve-Vnfm-vnf) \r
+==========================================================\r
+\r
+   Interfaces use RESTful API and the format is as follows:\r
+   http(s)://[hostname][:port]/gvnfmapi/lcm/v1/[……]\r
+\r
+|image0|\r
+\r
+\r
+    **{apiRoot} is** http(s)://[hostname][:port]/gvnfmapi\r
+\r
+**3.1 Create VNF Identifier**\r
+-----------------------------\r
+\r
++---------------------+--------------------------------------------------------------+\r
+|     If Definition   | Description                                                  |\r
++=====================+==============================================================+\r
+|     URI             | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances   |\r
++---------------------+--------------------------------------------------------------+\r
+|     Operation       | POST                                                         |\r
++---------------------+--------------------------------------------------------------+\r
+|     Direction       | NFVO->VNFMLCM                                                |\r
++---------------------+--------------------------------------------------------------+\r
+\r
+**3.1.1 Request**\r
+\r
++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+\r
+| Parameter                 | Qualifier   | Cardinality   |     Content      | Description                                                                         |\r
++===========================+=============+===============+==================+=====================================================================================+\r
+| vnfdId                    | M           | 1             |     Identifier   | Identifier that identifies the VNFD which defines the VNF instance to be created.   |\r
++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+\r
+| vnfInstanceName           | M           | 1             |     String       | Human-readable name of the VNF instance to be created.                              |\r
++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+\r
+| vnfInstanceDescription    | O           | 0..1          |     String       | Human-readable description of the VNF instance to be created.                       |\r
++---------------------------+-------------+---------------+------------------+-------------------------------------------------------------------------------------+\r
+\r
+    {\r
+      "vnfdId": "zte\_vFW\_51610", \r
+      "vnfInstanceName": "vFW\_01",\r
+      " vnfInstanceDescription": " vFW in Nanjing TIC Edge"\r
+    }\r
+\r
+**3.1.2 Response**\r
+\r
++-----------------+-------------+---------------+------------------+-----------------------------------------+\r
+| Parameter       | Qualifier   | Cardinality   |     Content      | Description                             |\r
++=================+=============+===============+==================+=========================================+\r
+| vnfInstanceId   | M           | 1             |     Identifier   | VNF instance identifier just created.   |\r
++-----------------+-------------+---------------+------------------+-----------------------------------------+\r
+\r
+    {\r
+      "vnfInstanceId": "1"\r
+    }\r
+\r
+**3.1.3 Response Code**\r
+\r
++-----------+-----------------------+-----------------------------------------------------------+\r
+| Code      | Meaning               |     Description                                           |\r
++===========+=======================+===========================================================+\r
+| 201       | Created               |     A VNF Instance identifier was created successfully.   |\r
++-----------+-----------------------+-----------------------------------------------------------+\r
+| 4xx/5xx   | <name from RFC7231>   |     <description>                                         |\r
++-----------+-----------------------+-----------------------------------------------------------+\r
+\r
+**3.2 Delete VNF Identifier**\r
+-----------------------------\r
+\r
++---------------------+------------------------------------------------------------------------------+\r
+|     If Definition   | Description                                                                  |\r
++=====================+==============================================================================+\r
+|     URI             | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances/{vnfInstanceId}   |\r
++---------------------+------------------------------------------------------------------------------+\r
+|     Operation       | DELETE                                                                       |\r
++---------------------+------------------------------------------------------------------------------+\r
+|     Direction       | NFVO->VNFMLCM                                                                |\r
++---------------------+------------------------------------------------------------------------------+\r
+\r
+**3.2.1 Request**\r
+\r
++-------------+-------------+---------------+---------------+---------------+\r
+| Parameter   | Qualifier   | Cardinality   |     Content   | Description   |\r
++=============+=============+===============+===============+===============+\r
+| n/a         |             |               |               |               |\r
++-------------+-------------+---------------+---------------+---------------+\r
+\r
+**3.2.2 Response**\r
+\r
++-------------+-------------+---------------+---------------+---------------+\r
+| Parameter   | Qualifier   | Cardinality   |     Content   | Description   |\r
++=============+=============+===============+===============+===============+\r
+| n/a         |             |               |               |               |\r
++-------------+-------------+---------------+---------------+---------------+\r
+\r
+**3.2.3 Response Code**\r
+\r
++--------+-----------+-------------------+\r
+| Code   | Meaning   |     Description   |\r
++--------+-----------+-------------------+\r
+\r
++-----------+-----------------------+----------------------------------------------------------------------------------------------+\r
+| 204       | No Content            |     The VNF instance resource and the associated VNF identifier were deleted successfully.   |\r
++===========+=======================+==============================================================================================+\r
+| 4xx/5xx   | <name from RFC7231>   |     <description>                                                                            |\r
++-----------+-----------------------+----------------------------------------------------------------------------------------------+\r
+\r
+3.3 Instantiate VNF\r
+-------------------\r
+\r
++---------------------+-------------------------------------------------------------------------------------------+\r
+|     If Definition   | Description                                                                               |\r
++=====================+===========================================================================================+\r
+|     URI             | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId}/instantiate     |\r
++---------------------+-------------------------------------------------------------------------------------------+\r
+|     Operation       | POST                                                                                      |\r
++---------------------+-------------------------------------------------------------------------------------------+\r
+|     Direction       | NFVO->VNFMLCM                                                                             |\r
++---------------------+-------------------------------------------------------------------------------------------+\r
+\r
+3.3.1 **Request**\r
+\r
++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+\r
+| Parameter          | Qualifier | Cardinality | Content             | Description                                                   |\r
++====================+===========+=============+=====================+===============================================================+\r
+| flavourId          | M         | 1           | IdentifierInV nfd   | Identifier of the VNF deployment flavour to be instantiated.  |\r
++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+\r
+| instantiation      | O         | 0..1        | IdentifierInVnfd    | Identifier of the instantiation                               |\r
+| LevelId            |           |             |                     | level of the deployment                                       |\r
+|                    |           |             |                     | flavour to be instantiated. If                                |\r
+|                    |           |             |                     | not present, the default                                      |\r
+|                    |           |             |                     | instantiation level as                                        |\r
+|                    |           |             |                     | declared in the VNFD is                                       |\r
+|                    |           |             |                     | instantiated.                                                 |\r
+|                    |           |             |                     |                                                               |\r
+|                    |           |             |                     | Reserved                                                      |\r
++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+\r
+| extVirtualLinks    | O         | 0..N        | ExtVirtualLin kData | Information about external VLs to connect the VNF to.         |\r
++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+\r
+| extManagedVirtualL | O         | 0..N        | ExtManaged          | Information about internal                                    |\r
+| inks               |           |             | VirtualLinkData     | VLs that are managed by                                       |\r
+|                    |           |             |                     | other entities than the VNFM.                                 |\r
+|                    |           |             |                     |                                                               |\r
+|                    |           |             |                     | Reserved                                                      |\r
++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+\r
+| localization       | O         | 0..1        | String              | Localization language of the VNF to be instantiated can be    |\r
+| Language           |           |             |                     | declared in the VNFD. The value shall comply with the format  |\r
+|                    |           |             |                     | defined in IETF RFC 5646 [6].                                 |\r
+|                    |           |             |                     |                                                               |\r
+|                    |           |             |                     | Reserved                                                      |\r
++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+\r
+| additionalParams   | O         | 0..N        | KeyValuePair        | Additional input parameters for the instantiation process,    |\r
+|                    |           |             |                     | specific to the VNF being instantiated.                       |\r
++--------------------+-----------+-------------+---------------------+---------------------------------------------------------------+\r
+\r
+**ExtVirtualLinkData:**\r
+\r
++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+\r
+| Attribute        | Qualifier | Cardinality | Content         | Description                                                                      |\r
++==================+===========+=============+=================+==================================================================================+\r
+| vlInstanceId     | O         | 0..1        | Identifier      | Identifier of the VL instance.                                                   |\r
++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+\r
+| vim              | CM        | 0..1        | VimInfo         | Information about the VIM that manages this resource.                            |\r
+|                  |           |             |                 | This attribute shall be supported and present if VNF-related resource management |\r
+|                  |           |             |                 | in direct mode is applicable.                                                    |\r
++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+\r
+| resourceProvider | CM        | 0..1        | Identifier      | Identifies the entity responsible for the management of this resource.           |\r
+| Id               |           |             |                 | This attribute shall be present if                                               |\r
+|                  |           |             |                 | VNF-related resource management in indirect mode is applicable.                  |\r
+|                  |           |             |                 |                                                                                  |\r
+|                  |           |             |                 | Reserved                                                                         |\r
++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+\r
+| resourceId       | M         | 1           | IdentifierInVim | The identifier of the resource in the scope of the VIM or the resource provider. |\r
++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+\r
+| extCps           | M         | 1..N        | VnfExtCpData    | External CPs of the VNF to be connected to this external VL.                     |\r
++------------------+-----------+-------------+-----------------+----------------------------------------------------------------------------------+\r
+\r
+\r
+    **VimInfo:**\r
++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+\r
+| Attribute       | Qualifier | Cardinality | Content      | Description                                                                                                                              |\r
++=================+===========+=============+==============+==========================================================================================================================================+\r
+| vimInfoId       | M         | 1           | Identifier   | The identifier of this VimInfo instance, for the purpose of referencing it from other information elements.                              |\r
++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+\r
+| vimId           | M         | 1           | Identifier   | The identifier of the VIM.                                                                                                               |\r
++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+\r
+| interfaceInfo   | M         | 0..N        | KeyValuePair | Information about the interface to the VIM, including VIM provider type, API version, and protocol type.                                 |\r
++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+\r
+| accessInfo      | M         | 0..N        | KeyValuePair | Authentication credentials for accessing the VIM. Examples may include those to support different authentication schemes, e.g., OAuth,   |\r
+|                 |           |             |              | Token, etc.                                                                                                                              |\r
++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+\r
+| interface       | M         | 1           | String       | Information about the interface endpoint. An example is a URL.                                                                           |\r
+| Endpoint        |           |             |              | Token, etc.                                                                                                                              |\r
++-----------------+-----------+-------------+--------------+------------------------------------------------------------------------------------------------------------------------------------------+\r
+\r
+    **interfaceInfo:**\r
++------------------+---------------+--------------------------------------+\r
+| **Key Define**   | **Content**   | **Description**                      |\r
++==================+===============+======================================+\r
+| vimType          | String        | The type of the VIM.                 |\r
++------------------+---------------+--------------------------------------+\r
+| apiVersion       | String        | The Version of the api of the VIM.   |\r
++------------------+---------------+--------------------------------------+\r
+| protocolType     | String        | http https                           |\r
++------------------+---------------+--------------------------------------+\r
+\r
+    **accessInfo:**\r
++------------------+---------------+--------------------------+\r
+| **Key Define**   | **Content**   | **Description**          |\r
++==================+===============+==========================+\r
+| tenant           | String        | Tenant Name of tenant    |\r
++------------------+---------------+--------------------------+\r
+| username         | String        | Username for login       |\r
++------------------+---------------+--------------------------+\r
+| password         | String        | Password of login user   |\r
++------------------+---------------+--------------------------+\r
+\r
+    **VnfExtCpData:**\r
+\r
++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+\r
+| **Attribute**          |     **Qualifier**   |     **Cardinality**   |     **Content**    |     **Description**                                       |\r
++========================+=====================+=======================+====================+===========================================================+\r
+| cpdId                  |     M               | 1                     | IdentifierInVnfd   | The identifier of the CPD in the VNFD.                    |\r
++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+\r
+| addresses              |     O               | 0..N                  | NetworkAddress     | List of (fixed) network addresses that                    |\r
+|                        |                     |                       |                    | need to be configured on the CP. This attribute shall     |\r
+|                        |                     |                       |                    |  be present if fixed addresses need to be configured.     |\r
++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+\r
+| numDynamicAddre sses   |     O               | 0..1                  | Integer            | Number of network addresses to be assigned dynamically.   |\r
+|                        |                     |                       |                    | This attribute shall be present if dynamic                |\r
+|                        |                     |                       |                    | addresses need to be configured.                          |\r
+|                        |                     |                       |                    | Reserved                                                  |\r
++------------------------+---------------------+-----------------------+--------------------+-----------------------------------------------------------+\r
+\r
+    **NetworkAddress:**\r
+\r
++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+\r
+| **Attribute**   |     **Qualifier**   |     **Cardinality**   |     **Content**   |     **Description**                                                                                           |\r
++=================+=====================+=======================+===================+===============================================================================================================+\r
+| addressType     |     M               | 1                     | Enum              | Describes the type of the address to be assigned to the CP instantiated from the parent CPD.                  |\r
+|                 |                     |                       |                   |                                                                                                               |\r
+|                 |                     |                       |                   | Permitted values:                                                                                             |\r
+|                 |                     |                       |                   |                                                                                                               |\r
+|                 |                     |                       |                   | -  MAC                                                                                                        |\r
+|                 |                     |                       |                   |                                                                                                               |\r
+|                 |                     |                       |                   | -  IP                                                                                                         |\r
++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+\r
+| l2AddressData   |     CM              | 0..1                  | String            | Provides the information on the MAC addresses to be assigned to the CP(s) instantiated from the parent CPD.   |\r
+|                 |                     |                       |                   |                                                                                                               |\r
+|                 |                     |                       |                   | Shall be present when the addressType is MAC address.                                                         |\r
++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+\r
+| l3AddressData   |     CM              | 0..1                  | L3AddressData     | Provides the information on the IP addresses to be assigned to the CP instantiated from the parent CPD.       |\r
+|                 |                     |                       |                   |                                                                                                               |\r
+|                 |                     |                       |                   | Shall be present when the addressType is IP address.                                                          |\r
++-----------------+---------------------+-----------------------+-------------------+---------------------------------------------------------------------------------------------------------------+\r
+\r
+    **L3AddressData:**\r
+\r
++-----------------+---------------------+-----------------------+-------------------+-----------------------+\r
+| **Attribute**   |     **Qualifier**   |     **Cardinality**   |     **Content**   |     **Description**   |\r
++=================+=====================+=======================+===================+=======================+\r
+| iPAddressType   |     M               | 1                     | ENUM              | IP address type.      |\r
+|                 |                     |                       |                   |                       |\r
+|                 |                     |                       |                   | Permitted values:     |\r
+|                 |                     |                       |                   |                       |\r
+|                 |                     |                       |                   | -  IPv4               |\r
+|                 |                     |                       |                   |                       |\r
+|                 |                     |                       |                   | -  IPv6               |\r
++-----------------+---------------------+-----------------------+-------------------+-----------------------+\r
+| iPAddress       |     M               | 1                     | String            | IP address            |\r
++-----------------+---------------------+-----------------------+-------------------+-----------------------+\r
+\r
+    {\r
+\r
+      "flavourId": "flavour\_1", \r
+      "instantiationLevelId":"instantiationLevel\_1", \r
+      "extVirtualLinks": [\r
+        {\r
+          "vlInstanceId": "1",\r
+           "vim": {\r
+            "vimInfoId": "1",\r
+            "vimId": "1", \r
+            "interfaceInfo": {\r
+              "vimType": "vim",\r
+              "apiVersion": "v2",\r
+              "protocolType": "http"\r
+            },\r
+            "accessInfo": {\r
+              "tenant": "tenant\_vCPE", \r
+              "username": "vCPE", \r
+              "password": "vCPE\_321"\r
+            },\r
+            "interfaceEndpoint": "http://10.43.21.105:80/"\r
+        },\r
+        "resourceId": "1246", \r
+        "extCps": [\r
+          {\r
+            "cpdId": "11", "addresses": [\r
+              {\r
+                "addressType": "MAC", \r
+                "l2AddressData": "00:f3:43:20:a2:a3"\r
+              },\r
+              {\r
+                "addressType": "IP", \r
+                "l3AddressData": {\r
+                  "iPAddressType": "IPv4", \r
+                  "iPAddress": "192.168.104.2"\r
+                }\r
+              }\r
+            ],\r
+            "numDynamicAddresses": 0\r
+          }\r
+          ]\r
+        }\r
+      ],\r
+\r
+      "localizationLanguage": "en\_US", "additionalParams": {...}\r
+    }\r
+\r
+**3.3.2 Response**\r
+\r
++-------------+-------------+---------------+------------------+---------------------------------------------------------+\r
+| Parameter   | Qualifier   | Cardinality   |     Content      | Description                                             |\r
++=============+=============+===============+==================+=========================================================+\r
+| vnfLcOpId   | M           | 1             |     Identifier   | Identifier of the VNF lifecycle operation occurrence.   |\r
++-------------+-------------+---------------+------------------+---------------------------------------------------------+\r
+\r
+    {\r
+\r
+    "vnfLcOpId": "1"\r
+\r
+    }\r
+\r
+    **3.3.3 Response Code**\r
++-----------+-----------------------+------------------------------------------------------------------------------------------+\r
+| Code      | Meaning               |     Description                                                                          |\r
++===========+=======================+==========================================================================================+\r
+| 202       | Accepted              |     The request is accepted for processing, but the processing has not been completed.   |\r
++-----------+-----------------------+------------------------------------------------------------------------------------------+\r
+| 4xx/5xx   | <name from RFC7231>   |     <description>                                                                        |\r
++-----------+-----------------------+------------------------------------------------------------------------------------------+\r
+\r
+**3.4 Terminate VNF**\r
+---------------------\r
+\r
++---------------------+-----------------------------------------------------------------------------------------+\r
+|     If Definition   | Description                                                                             |\r
++=====================+=========================================================================================+\r
+|     URI             | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances/{vnfInstanceId}/term inate   |\r
++---------------------+-----------------------------------------------------------------------------------------+\r
+|     Operation       | POST                                                                                    |\r
++---------------------+-----------------------------------------------------------------------------------------+\r
+|     Direction       | NFVO->VNFMLCM                                                                           |\r
++---------------------+-----------------------------------------------------------------------------------------+\r
+\r
+**3.4.1 Request**\r
+\r
++-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+\r
+| Parameter         | Qualifier   | Cardinality   |     Content   | Description                                                             |\r
++===================+=============+===============+===============+=========================================================================+\r
+| terminationType   | M           | 1             |     Enum      | Indicates whether forceful or graceful termination is requested.        |\r
+|                   |             |               |               |                                                                         |\r
+|                   |             |               |               | Permitted values:                                                       |\r
+|                   |             |               |               |                                                                         |\r
+|                   |             |               |               | -  FORCEFUL: The VNFM                                                   |\r
+|                   |             |               |               |     will shut down the VNF and release the resources immediately        |\r
+|                   |             |               |               |     after accepting the request.                                        |\r
+|                   |             |               |               | -  GRACEFUL: The VNFM                                                   |\r
+|                   |             |               |               |                                                                         |\r
+|                   |             |               |               |     will first arrange to take the VNF out of service after accepting   |\r
+|                   |             |               |               |     the request. Once the operation is successful or once the timer     |\r
+|                   |             |               |               |     value specified in the                                              |\r
+|                   |             |               |               |    “gracefulTerminationTime out” attribute expires, the VNFM will shut  |\r
+|                   |             |               |               |     down the VNF and release the resources.                             |\r
++-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+\r
+| graceful          | O           | 0..1          |     Integer   | This attribute is only                                                  |\r
+| Termination       |             |               |               | applicable in case of graceful                                          |\r
+|  Timeout          |             |               |               | termination. It defines the                                             |\r
+|                   |             |               |               | time to wait for the VNF to be                                          |\r
+|                   |             |               |               | taken out of service before                                             |\r
+|                   |             |               |               | shutting down the VNF and                                               |\r
+|                   |             |               |               | releasing the resources.                                                |\r
+|                   |             |               |               | The unit is seconds.                                                    |\r
+|                   |             |               |               | If not given and the                                                    |\r
+|                   |             |               |               | "terminationType"                                                       |\r
+|                   |             |               |               | attribute is set to                                                     |\r
+|                   |             |               |               | "GRACEFUL", it is expected                                              |\r
+|                   |             |               |               | that the VNFM waits for                                                 |\r
+|                   |             |               |               | the successful taking out of                                            |\r
+|                   |             |               |               | service of the VNF, no                                                  |\r
+|                   |             |               |               | matter how long it takes,                                               |\r
+|                   |             |               |               | before shutting down the                                                |\r
+|                   |             |               |               | VNF and releasing the                                                   |\r
+|                   |             |               |               | resources.                                                              |\r
++-------------------+-------------+---------------+---------------+-------------------------------------------------------------------------+\r
+ {\r
+    "terminationType": "GRACEFUL", \r
+    "gracefulTerminationTimeout": 120\r
+ }\r
+\r
+**3.4.2 Response**\r
+\r
++-------------+-------------+---------------+------------------+---------------------------------------------------------+\r
+| Parameter   | Qualifier   | Cardinality   |     Content      | Description                                             |\r
++=============+=============+===============+==================+=========================================================+\r
+| vnfLcOpId   | M           | 1             |     Identifier   | Identifier of the VNF lifecycle operation occurrence.   |\r
++-------------+-------------+---------------+------------------+---------------------------------------------------------+\r
+\r
+    {\r
+      "vnfLcOpId": "2"\r
+    }\r
+\r
+**3.4.3 Response Code**\r
+\r
++-----------+-----------------------+------------------------------------------------------------------------------------------+\r
+| Code      | Meaning               |     Description                                                                          |\r
++===========+=======================+==========================================================================================+\r
+| 202       | Accepted              |     The request is accepted for processing, but the processing has not been completed.   |\r
++-----------+-----------------------+------------------------------------------------------------------------------------------+\r
+| 4xx/5xx   | <name from RFC7231>   |     <description>                                                                        |\r
++-----------+-----------------------+------------------------------------------------------------------------------------------+\r
+\r
+**3.5 Query multiple VNF**\r
+---------------------------\r
++---------------------+--------------------------------------------------------------+\r
+|     If Definition   | Description                                                  |\r
++=====================+==============================================================+\r
+|     URI             | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_instances   |\r
++---------------------+--------------------------------------------------------------+\r
+|     Operation       | GET                                                          |\r
++---------------------+--------------------------------------------------------------+\r
+|     Direction       | NFVO->VNFMLCM                                                |\r
++---------------------+--------------------------------------------------------------+\r
+\r
+**3.5.1 Request**\r
+\r
++-------------+-------------+---------------+---------------+---------------+\r
+| Parameter   | Qualifier   | Cardinality   |     Content   | Description   |\r
++=============+=============+===============+===============+===============+\r
+| n/a         |             |               |               |               |\r
++-------------+-------------+---------------+---------------+---------------+\r
+\r
+**3.5.2 Response**\r
+\r
++--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+\r
+| Parameter          | Qualifier   | Cardinality   |     Content            | Description                                                                          |\r
++====================+=============+===============+========================+======================================================================================+\r
+| vnfInstanceInfos   | M           | 0..N          |     VnfInstanceI nfo   | Returned if information about zero or more VNF instances was queried successfully.   |\r
++--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+\r
++--------------------+-------------+---------------+------------------------+--------------------------------------------------------------------------------------+\r
+\r
+    **VnfInstanceInfo:**\r
+\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     Attribute                    | Qualifier|Cardinality |     Content                |     Description                                                                                                                                       |\r
++==================================+==========+============+============================+=======================================================================================================================================================+\r
+|     vnfInstanceId                |     M    |     1      |     Identifier             |     VNF instance identifier.                                                                                                                          |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfInstanceName              |     M    |     1      |     String                 |     VNF instance name.                                                                                                                                |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfInstanceDescr iption      |     M    |     1      |     String                 |     Human-readable description of the VNF instance.                                                                                                   |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     onboardedVnfPk gInfoId       |     M    |     1      |     Identifier             |     Identifier of information held by the NFVO about the specific VNF Package on which the VNF is based. This identifier was allocated by the NFVO.   |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfdId                       |     M    |     1      |     Identifier             |     Identifier of the VNFD on which the VNF instance is based.                                                                                        |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfdVersion                  |     M    |     1      |     Identifier             |     Identifies the version of the VNFD. The value is copied from the VNFD.                                                                            |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfSoftwareVersi on          |     M    |     1      |     String                 |     Software version of the VNF.                                                                                                                      |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            |     The value is copied from the VNFD.                                                                                                                |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfProvider                  |     M    |     1      |     String                 |     Name of the person or company providing the VNF.                                                                                                  |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            |     The value is copied from the VNFD.                                                                                                                |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfProductName               |     M    |     1      |     String                 |     Name to identify the VNF Product. The value is copied from the VNFD.                                                                              |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfConfigurableP roperties   |     O    |     0..N   |     KeyValuePair           |     Current values of the configurable properties of the VNF instance.                                                                                |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            |     Configurable properties as declared in the VNFD.                                                                                                  |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     instantiationState           |     M    |     1      |     Enum                   |     The instantiation state of the VNF.                                                                                                               |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            |     Permitted values:                                                                                                                                 |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            | -  NOT\_INSTANTIATED: The VNF                                                                                                                         |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            |     instance is terminated or not instantiated.                                                                                                       |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            | -  INSTANTIATED: The VNF instance is instantiated.                                                                                                    |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     instantiatedVnfInf o         |     CM   |     0..1   |     InstantiatedVnf Info   |     Information specific to an instantiated VNF instance.                                                                                             |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            |     This attribute shall be present if the instantiateState attribute value is INSTANTIATED.                                                          |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     metadata                     |     O    |     0..N   |     KeyValuePair           |     Additional metadata describing the VNF instance.                                                                                                  |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            |     This attribute can be modified with the Modify VNF information operation.                                                                         |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     extensions                   |     O    |     0..N   |     KeyValuePair           |     VNF-specific attributes.                                                                                                                          |\r
+|                                  |          |            |                            |                                                                                                                                                       |\r
+|                                  |          |            |                            |     This attribute can be modified with the Modify VNF information operation.                                                                         |\r
++----------------------------------+----------+------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+\r
+\r
+    **InstantiatedVnfInfo:**\r
+\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     Attribute                | Qualifier | Cardinality| Content                      |     Description                                                                                                        |\r
++==============================+===========+============+==============================+========================================================================================================================+\r
+|     flavourId                | M         |     1      | IdentifierInVnfd             | Identifier of the VNF deployment flavour to be instantiated.                                                           |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | Reserved                                                                                                               |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfState                 | M         |     1      | ENUM                         | State of the VNF instance.                                                                                             |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | Permitted values:                                                                                                      |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | -  STARTED: The VNF instance is up and running.                                                                        |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | -  STOPPED: The VNF instance has been shut down.                                                                       |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     scaleStatus              | O         |     0..N   | ScaleInfo                    | Scale status of the VNF, one entry per aspect. Represents for every scaling aspect how "big" the VNF has been scaled   |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | w.r.t. that aspect.                                                                                                    |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | This attribute shall be present if the VNF supports scaling.                                                           |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     extCpInfo                | O         |     0..N   | CpInfo                       | Information about the external CPs exposed by the VNF instance.                                                        |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     extVirtualLink           | O         |     0..N   | ExtVirtualLinkI nfo          | Information about the external VLs the VNF instance is connected to.                                                   |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     extManagedVirtu alLink   | O         |     0..N   | extManagedVir tualLinkInfo   | Information about the externally-managed internal VLs of the VNF instance.                                             |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | Reserved                                                                                                               |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     monitoringParam eters    | O         |     0..N   | MonitoringPar ameter         | Active monitoring parameters.                                                                                          |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | Reserved                                                                                                               |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     localizationLangu age    | O         |     0..1   | String                       | Localization language of the VNF to be instantiated.                                                                   |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | The value shall comply with the format defined in IETF RFC 5646 [6].                                                   |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     vimInfo                  | CM        |     0..N   | VimInfo                      | Information about VIM(s) managing resources for the VNF instance.                                                      |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable.         |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+|     vnfcResourceInfo         | CM        |     0..N   | VnfcResourceI nfo            | Information about the virtualised compute and storage resource(s) used by the VNFCs of the VNF instance.               |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable.         |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+| virtualLinkResourceInfo      | CM        |     0..N   | VirtualLinkRes ourceInfo     | Information about the virtualised network resource(s) used by the VLs of the VNF instance.                             |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable.         |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+| virtualStorageResourceInfo   | CM        |     0..N   | VirtualStorage ResourceInfo  | Information about the virtualised storage resource(s) used as storage for the VNF instance.                            |\r
+|                              |           |            |                              |                                                                                                                        |\r
+|                              |           |            |                              | This attribute shall be supported and present if VNF-related resource management in direct mode is applicable.         |\r
++------------------------------+-----------+------------+------------------------------+------------------------------------------------------------------------------------------------------------------------+\r
+\r
+**ScaleInfo:**\r
+\r
++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+\r
+|     Attribute    | Qualifier   |     Cardinalit y   | Content            | Description                                                                                                                         |\r
++==================+=============+====================+====================+=====================================================================================================================================+\r
+|     aspectId     | M           |     1              | IdentifierInVnfd   | Identifier of the scaling aspect.                                                                                                   |\r
++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+\r
+|     scaleLevel   | M           |     1              | Integer            | Indicates the scale level. The minimum value shall be 0 and the maximum value shall be <= maxScaleLevel as described in the VNFD.   |\r
++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+\r
++------------------+-------------+--------------------+--------------------+-------------------------------------------------------------------------------------------------------------------------------------+\r
+\r
+    **CpInfo:**\r
+\r
++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+\r
+|     Attribute      | Qualifier   |     Cardinalit y   | Content            | Description                                                      |\r
++====================+=============+====================+====================+==================================================================+\r
+|     cpInstanceId   | M           |     1              | Identifier         | Identifier of the CP instance.                                   |\r
++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+\r
+|     cpdId          | M           |     1              | IdentifierInVnfd   | Identifier of the CPD, in the VNFD.                              |\r
++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+\r
+|     addresses      | O           |     0..N           | NetworkAddre ss    | List of network addresses that have been configured on the CP.   |\r
++--------------------+-------------+--------------------+--------------------+------------------------------------------------------------------+\r
+\r
+    **ExtVirtualLinkInfo:**\r
+\r
++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+\r
+|     Attribute          | Qualifier   |     Cardinalit y   | Content           | Description                                     |\r
++========================+=============+====================+===================+=================================================+\r
+|     extVirtualLinkId   | M           |     1              | Identifier        | Identifier of the external VL.                  |\r
++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+\r
+|     resourceHandle     | M           |     1              | ResourceHand le   | Identifier of the resource realizing this VL.   |\r
++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+\r
+|     linkPorts          | O           |     0..N           | VnfLinkPort       | Link ports of this VL.                          |\r
++------------------------+-------------+--------------------+-------------------+-------------------------------------------------+\r
+\r
+    **ResourceHandle:**\r
+\r
++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+\r
+|     Attribute       | Qualifier  | Cardinality| Content           | Description                                                                                            |\r
++=====================+============+============+===================+========================================================================================================+\r
+|     vimId           | CM         |     0..1   | Identifier        | Identifier of the VimInfo information element defining the VIM who manages the resource.               |\r
+|                     |            |            |                   |                                                                                                        |\r
+|                     |            |            |                   | This attribute shall be present if                                                                     |\r
+|                     |            |            |                   |                                                                                                        |\r
+|                     |            |            |                   | VNF-related resource management in direct mode is applicable.                                          |\r
+|                     |            |            |                   |                                                                                                        |\r
+|                     |            |            |                   | The value refers to a vimInfo item in the VnfInstance.                                                 |\r
++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+\r
+| resourceProviderId  | CM         |     0..1   | Identifier        | Identifier of the entity responsible for the management of the resource.                               |\r
+|                     |            |            |                   |                                                                                                        |\r
+|                     |            |            |                   | This attribute shall be present when VNF-related resource management in indirect mode is applicable.   |\r
+|                     |            |            |                   |                                                                                                        |\r
+|                     |            |            |                   | Reserved                                                                                               |\r
++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+\r
+|     resourceId      | M          |     1      | IdentifierInVim   | Identifier of the resource in the scope of the VIM or the resource provider.                           |\r
++---------------------+------------+------------+-------------------+--------------------------------------------------------------------------------------------------------+\r
+\r
+    **VnfLinkPort:**\r
+\r
++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+\r
+|     Attribute        | Qualifier   |     Cardinalit y   | Content           | Description                                                                                    |\r
++======================+=============+====================+===================+================================================================================================+\r
+|     resourceHandle   | M           |     1              | ResourceHand le   | Identifier of the virtualised network resource realizing this link port.                       |\r
++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+\r
+|     cpInstanceId     | M           |     1              | IdentifierInVnf   | External CP of the VNF to be connected to this link port.                                      |\r
+|                      |             |                    |                   |                                                                                                |\r
+|                      |             |                    |                   | There shall be at most one link port associated with any external connection point instance.   |\r
+|                      |             |                    |                   |                                                                                                |\r
+|                      |             |                    |                   | The value refers to an extCpInfo item in the VnfInstance.                                      |\r
++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+\r
++----------------------+-------------+--------------------+-------------------+------------------------------------------------------------------------------------------------+\r
+\r
+    **VnfcResourceInfo:**\r
+\r
++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+|     Attribute         | Qualifier  | Cardinality| Content            | Description                                                                                                         |\r
++=======================+============+============+====================+=====================================================================================================================+\r
+| vnfcInstanceId        | M          |     1      | IdentifierInVnf    | Identifier of this VNFC instance.                                                                                   |\r
++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+| vduId                 | M          |     1      | IdentifierInVnfd   | Reference to the applicable Vdu information element in the VNFD.                                                    |\r
++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+| computeResourc e      | M          |     1      | ResourceHand le    | Reference to the VirtualCompute resource.                                                                           |\r
++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+| storageResourceI ds   | M          |     1..N   | IdentifierInVnf    | Reference(s) to the VirtualStorage resource(s).                                                                     |\r
+|                       |            |            |                    |                                                                                                                     |\r
+|                       |            |            |                    | The value refers to a VirtualStorageResourceInfo item in the VnfInstance.                                           |\r
++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+| reservationId         | O          |     0..1   | Identifier         | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists.   |\r
+|                       |            |            |                    |                                                                                                                     |\r
+|                       |            |            |                    | Reserved                                                                                                            |\r
++-----------------------+------------+------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+\r
+    **VirtualStorageResourceInfo:**\r
+\r
++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+|     Attribute                   | Qualifier   |     Cardinalit y   | Content            | Description                                                                                                         |\r
++=================================+=============+====================+====================+=====================================================================================================================+\r
+|     virtualStorageInst anceId   | M           |     1              | IdentifierInVnf    | Identifier of this virtual storage resource instance.                                                               |\r
++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+|     virtualStorageDe scId       | M           |     1              | IdentifierInVnfd   | Identifier of the VirtualStorageDesc in the VNFD.                                                                   |\r
++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+|     storageResource             | M           |     1              | ResourceHand le    | Reference to the VirtualStorage resource.                                                                           |\r
++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+|     reservationId               | M           |     0..1           | Identifier         | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists.   |\r
+|                                 |             |                    |                    |                                                                                                                     |\r
+|                                 |             |                    |                    | Reserved                                                                                                            |\r
++---------------------------------+-------------+--------------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+\r
+    **VirtualLinkResourceInfo:**\r
+\r
++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+|     Attribute                | Qualifier |  Cardinality | Content            | Description                                                                                                         |\r
++==============================+===========+==============+====================+=====================================================================================================================+\r
+|     virtualLinkInstanceId    | M         |       1      | IdentifierInVnf    | Identifier of this VL instance.                                                                                     |\r
++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+|     virtualLinkDescId        | M         |       1      | IdentifierInVnfd   | Identifier of the Virtual Link Descriptor (VLD) in the VNFD.                                                        |\r
++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+|     networkResource          | M         |       1      | ResourceHand le    | Reference to the VirtualNetwork resource.                                                                           |\r
++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+|     reservationId            | M         |       0..1   | Identifier         | The reservation identifier applicable to the resource. It shall be present when an applicable reservation exists.   |\r
+|                              |           |              |                    |                                                                                                                     |\r
+|                              |           |              |                    | Reserved                                                                                                            |\r
++------------------------------+-----------+--------------+--------------------+---------------------------------------------------------------------------------------------------------------------+\r
+\r
+    [\r
+\r
+      {\r
+\r
+        "vnfInstanceId": "1", \r
+        "vnfInstanceName": "vFW\_01",\r
+        "vnfInstanceDescription": "vFW in Nanjing TIC Edge",\r
+        "onboardedVnfPkgInfoId": "1",\r
+        "vnfdId": "zte\_vFW\_51610", \r
+        "vnfdVersion": "V1.0",\r
+        "vnfSoftwareVersion": "V1.0", \r
+        "vnfProvider": "ZTE",\r
+        "vnfProductName": "vFW", \r
+        "vnfConfigurableProperties": {...},\r
+        "instantiationState": "INSTANTIATED", \r
+        "instantiatedVnfInfo": {\r
+          "flavourId": "1", \r
+          "vnfState": "STARTED", \r
+          "scaleStatus": [\r
+            {\r
+              "aspectId": "aspect1", \r
+              "scaleLevel": 1\r
+            }\r
+          ],\r
+        "extCpInfo": [\r
+          {\r
+            "cpInstanceId": "1",\r
+            "cpdId": "1", "addresses": [\r
+              {\r
+                "addressType": "MAC", \r
+                "l2AddressData": "00:f3:43:20:a2:a3"\r
+              },\r
+              {\r
+                "addressType": "IP", \r
+                "l3AddressData": {\r
+                  "iPAddressType": "IPv4", \r
+                  "address": "192.168.104.2"\r
+                }\r
+              }\r
+            ]\r
+          }  \r
+        ],\r
+        "extVirtualLink": [\r
+          {\r
+            "extVirtualLinkId": "extvl1", \r
+            "resourceHandle": {\r
+              "vimId": "1",\r
+              "resourceId": "1111"\r
+            },\r
+\r
+          "linkPorts": [\r
+            {\r
+              "resourceHandle": \r
+              { \r
+                "vimId": "1",\r
+                "resourceId": "2121"\r
+              },\r
+              "cpInstanceId": "1"\r
+            }\r
+          ]\r
+        }\r
+      ],\r
+\r
+      "monitoringParameters": {...}, \r
+      "localizationLanguage": "en\_US",\r
+      "vimInfo": [\r
+        {\r
+          "vimInfoId": "1",\r
+          "vimId": "1", \r
+          "interfaceInfo": {\r
+            "vimType": "vim",\r
+            "apiVersion": "v2", \r
+            "protocolType": "http"\r
+          },\r
+          "accessInfo": {\r
+              "tenant": "tenant\_vCPE", \r
+              "username": "vCPE", \r
+              "password": "vCPE\_321"\r
+          },\r
+\r
+        "interfaceEndpoint": "http://10.43.21.105:80/"\r
+      }\r
+    ],\r
+    "vnfcResourceInfo": [\r
+      {\r
+        "vnfcInstanceId": "vm1", \r
+        "vduId": "vdu1", \r
+        "computeResource": {\r
+          "vimId": "1",\r
+          "resourceId": "3333"\r
+        },\r
+        "storageResourceIds": [ "storage1"\r
+        ]\r
+      }\r
+    ],\r
+    "virtualLinkResourceInfo": [\r
+      {\r
+        "virtualLinkInstanceId": "vl01", \r
+        "virtualLinkDescId": "vl01",\r
+        "networkResource": {\r
+          "vimId": "1",\r
+          "resourceId": "4444"\r
+        }\r
+      }\r
+    ],\r
+    "virtualStorageResourceInfo": [\r
+    {\r
+      "virtualStorageInstanceId": "storage1", \r
+      "virtualStorageDescId":"storage1", \r
+      "storageResource": {\r
+        "vimId": "1",\r
+        "resourceId": "555"\r
+      }\r
+    }\r
+    ]\r
+  },\r
+  "metadata": {...},\r
+  "extensions": {...}\r
+ }\r
+]\r
+\r
+**3.5.3 Response Code**\r
+\r
++-----------+-----------------------+----------------------------------+\r
+| Code      | Meaning               |     Description                  |\r
++===========+=======================+==================================+\r
+| 200       | Ok                    |     The request has succeeded.   |\r
++-----------+-----------------------+----------------------------------+\r
+| 4xx/5xx   | <name from RFC7231>   |     <description>                |\r
++-----------+-----------------------+----------------------------------+\r
+\r
+**3.6 Query single VNF**\r
+------------------------\r
++---------------------+------------------------------------------------------------------------------+\r
+|     If Definition   | Description                                                                  |\r
++=====================+==============================================================================+\r
+|     URI             | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf_instances/{vnfInstanceId}   |\r
++---------------------+------------------------------------------------------------------------------+\r
+|     Operation       | GET                                                                          |\r
++---------------------+------------------------------------------------------------------------------+\r
+|     Direction       | NFVO->VNFMLCM                                                                |\r
++---------------------+------------------------------------------------------------------------------+\r
+\r
+**3.6.1 Request**\r
+\r
++-------------+-------------+---------------+---------------+---------------+\r
+| Parameter   | Qualifier   | Cardinality   |     Content   | Description   |\r
++=============+=============+===============+===============+===============+\r
+| n/a         |             |               |               |               |\r
++-------------+-------------+---------------+---------------+---------------+\r
+\r
+**3.6.2 Response**\r
+\r
++-------------------+-------------+---------------+------------------------+---------------------------------------+\r
+| Parameter         | Qualifier   | Cardinality   |     Content            | Description                           |\r
++===================+=============+===============+========================+=======================================+\r
+| vnfInstanceInfo   | M           | 1             |     VnfInstanceI nfo   | The information of the VNF instance   |\r
++-------------------+-------------+---------------+------------------------+---------------------------------------+\r
++-------------------+-------------+---------------+------------------------+---------------------------------------+\r
+\r
+**3.6.3 Response Code**\r
+\r
++-----------+-----------------------+----------------------------------+\r
+| Code      | Meaning               |     Description                  |\r
++===========+=======================+==================================+\r
+| 200       | Ok                    |     The request has succeeded.   |\r
++-----------+-----------------------+----------------------------------+\r
+| 4xx/5xx   | <name from RFC7231>   |     <description>                |\r
++-----------+-----------------------+----------------------------------+\r
+\r
+    {\r
+\r
+    "vnfInstanceId": "1", \r
+    "vnfInstanceName": "vFW\_01",\r
+    "vnfInstanceDescription": "vFW in Nanjing TIC Edge",\r
+    "onboardedVnfPkgInfoId": "1",\r
+    "vnfdId": "zte\_vFW\_51610", \r
+    "vnfdVersion": "V1.0",\r
+    "vnfSoftwareVersion": "V1.0", \r
+    "vnfProvider": "ZTE",\r
+    "vnfProductName": "vFW", \r
+    "vnfConfigurableProperties": {...},\r
+    "instantiationState": "INSTANTIATED", \r
+    "instantiatedVnfInfo": {\r
+    "flavourId": "1", \r
+    "vnfState": "STARTED", \r
+    "scaleStatus": [\r
+    {\r
+      "aspectId": "aspect1", \r
+      "scaleLevel": 1\r
+    }\r
+    ],\r
+\r
+    "extCpInfo": [\r
+    {\r
+    "cpInstanceId": "1",\r
+    "cpdId": "1", "addresses": [\r
+    {\r
+      "addressType": "MAC", \r
+      "l2AddressData": "00:f3:43:20:a2:a3"\r
+    },\r
+\r
+    {\r
+      "addressType": "IP", \r
+      "l3AddressData": {\r
+        "iPAddressType": "IPv4", \r
+        "address": "192.168.104.2"\r
+      }\r
+    }\r
+    ]\r
+  }\r
+  ],\r
+\r
+    "extVirtualLink": [\r
+    {\r
+      "extVirtualLinkId": "extvl1", \r
+      "resourceHandle": {\r
+        "vimId": "1",\r
+        "resourceId": "1111"\r
+      },\r
+    "linkPorts": [\r
+    {\r
+      "resourceHandle": \r
+      { \r
+        "vimId": "1",\r
+        "resourceId": "2121"\r
+      },\r
+      "cpInstanceId": "1"\r
+    }\r
+    ]\r
+    }\r
+    ],\r
+\r
+    "monitoringParameters": {...}, \r
+    "localizationLanguage": "en\_US",\r
+    "vimInfo": [\r
+    {\r
+      "vimInfoId": "1",\r
+      "vimId": "1", \r
+      "interfaceInfo": {\r
+        "vimType": "vim",\r
+        "apiVersion": "v2", \r
+        "protocolType": "http"\r
+    },\r
+    "accessInfo": {\r
+      "tenant": "tenant\_vCPE", \r
+      "username": "vCPE", \r
+      "password": "vCPE\_321"\r
+    },\r
+    "interfaceEndpoint": "http://10.43.21.105:80/"\r
+    }\r
+  ],\r
+\r
+    "vnfcResourceInfo": [\r
+      {\r
+        "vnfcInstanceId": "vm1", \r
+        "vduId": "vdu1", \r
+        "computeResource": {\r
+          "vimId": "1",\r
+          "resourceId": "3333"\r
+      },\r
+\r
+      "storageResourceIds": [ "storage1"\r
+      ]\r
+      }\r
+    ],\r
+\r
+    "virtualLinkResourceInfo": [\r
+      {\r
+        "virtualLinkInstanceId": "vl01", \r
+        "virtualLinkDescId": "vl01",\r
+        "networkResource": {\r
+          "vimId": "1",\r
+          "resourceId": "4444"\r
+         }\r
+      }\r
+    ],\r
+\r
+    "virtualStorageResourceInfo": [\r
+    {\r
+      "virtualStorageInstanceId": "storage1", \r
+      "virtualStorageDescId": "storage1", \r
+      "storageResource": {\r
+        "vimId": "1",\r
+        "resourceId": "555"\r
+      }\r
+    }\r
+    ]\r
+   },\r
+    "metadata": {...},\r
+    "extensions": {...}\r
+  }\r
+\r
+**3.7 Get Operation Status**\r
+------------------------------\r
++---------------------+-------------------------------------------------------------------------------------------------+\r
+|     If Definition   | Description                                                                                     |\r
++=====================+=================================================================================================+\r
+|     URI             | http(s)://[hostname][:port]/gvnfmapi/lcm/v1/vnf\_lc\_ops/{vnfLcOpId}&response Id={responseId}   |\r
++---------------------+-------------------------------------------------------------------------------------------------+\r
+|     Operation       | GET                                                                                             |\r
++---------------------+-------------------------------------------------------------------------------------------------+\r
+|     Direction       | NFVO->GVNFM                                                                                     |\r
++---------------------+-------------------------------------------------------------------------------------------------+\r
+\r
+**3.7.1 Request**\r
+\r
+    None\r
+\r
+**3.7.2 Response**\r
+\r
++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+\r
+| Parameter          | Qualifier   | Cardinality   | Content   | Description                                                                      |\r
++====================+=============+===============+===========+==================================================================================+\r
+| vnfLcOpId          | M           | 1             | String    | Identifier of a VNF lifecycle operation occurrence                               |\r
++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+\r
+| vnfInstanceId      | M           | 1             | String    | Identifier of the VNF instance to which the operation applies                    |\r
++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+\r
+| lcmOperationType   | M           | 1             | ENUM      | Type of the actual LCM operation represented by this lcm operation occurrence.   |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           | Permitted values:                                                                |\r
++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+\r
+|                    |             |               |           | -  INSTANTIATE:the                                                               |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           |     Instantiate VNF LCM operation.                                               |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           | -  SCALE: the Scale VNF LCM operation.                                           |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           | -  SCALE\_TO\_LEVEL: the                                                         |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           |     Scale VNF to Level LCM operation.                                            |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           | -  CHANGE\_FLAVOUR:                                                              |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           |     the Change VNF Flavour LCM operation.                                        |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           | -  TERMINATE: the                                                                |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           |     Terminate VNF LCM operation.                                                 |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           | -  HEAL: the Heal VNF LCM operation.                                             |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           | -  OPERATE: the Operate VNF LCM operation.                                       |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           | -  CHANGE\_EXT\_VLS: the                                                         |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           |     Change VNF external VLs LCM operation. (Reserved)                            |\r
++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+\r
+| startTime          | M           | 1             | String    | Date-time of the start of the operation.                                         |\r
+|                    |             |               |           |                                                                                  |\r
+|                    |             |               |           | Representation: String formatted according to RFC 3339 [13]                      |\r
++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+\r
+| responseDescriptor | M           | 1             | VnfLcOp   | Including:responseId,progress,statusstatusDescription                            |\r
+|                    |             |               | Response  |                                                                                  |\r
+|                    |             |               | Descriptor| ,errorCode,responseHistoryList                                                   |\r
++--------------------+-------------+---------------+-----------+----------------------------------------------------------------------------------+\r
+\r
+    **VnfLcOpResponseDescriptor:**\r
+\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|     Attribute             |     Qualifier   |     Cardinalit y   |     Content   |     Description                                           |\r
++===========================+=================+====================+===============+===========================================================+\r
+|     responseId            |     M           |     1              |     Integer   |     Response Identifier                                   |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|     progress              |     M           |     1              |     Integer   |     progress (1-100)                                      |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|     lcmOperationS tatus   |     M           |     1              |     ENUM      |     Status of a VNF lifecycle operation occurrence        |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               |     Permitted values:                                     |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  STARTING: The operation is starting..                  |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  PROCESSING: The operation is                           |\r
+|                           |                 |                    |               |     currently in execution.                               |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  COMPLETED: The operation has completed successfully.   |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  FAILED: The operation has failed and it cannot be      |\r
+|                           |                 |                    |               |            retried or rolled back, as it is determined    |\r
+|                           |                 |                    |               |            that such action won't succeed.                |\r
+|                           |                 |                    |               | -  FAILED\_TEMP: The operation has failed and execution   |\r
+|                           |                 |                    |               |             has stopped, but the execution of the         |\r
+|                           |                 |                    |               |             operation is not considered to be closed.     |\r
+|                           |                 |                    |               |            (Reserved)                                     |\r
+|                           |                 |                    |               | -  ROLLING\_BACK: The operation is currently being rolled |\r
+|                           |                 |                    |               |                   back. (Reserved)                        |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  ROLLED\_BACK: The state of the VNF prior to the        |\r
+|                           |                 |                    |               |              original operation invocation has been       |\r
+|                           |                 |                    |               |             restored as closely as possible. (Reserved)   |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|    statusDescripti on     |     O           |     0..1           | String        |     Status Description of a VNF lifecycle operation       |\r
+|                           |                 |                    |               |     occurrence                                            |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|    errorCode              |     O           |     0..1           | Integer       |     Errorcode                                             |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|    responseHistor yList   |     O           |     0..N           | VnfLcOpDetail |     History Response Messages from the requested          |\r
+|                           |                 |                    |               |     responseId to lastest one.                            |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+\r
+    **VnfLcOpDetail:**\r
+\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|     Attribute             |     Qualifier   |     Cardinalit y   |     Content   |     Description                                           |\r
++===========================+=================+====================+===============+===========================================================+\r
+|     responseId            |     M           |     1              |     Integer   |     Response Identifier                                   |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|     progress              |     M           |     1              |     Integer   |     progress (1-100)                                      |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|     lcmOperationS tatus   |     M           |     1              |     ENUM      |     Status of a VNF lifecycle operation occurrence        |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               |     Permitted values:                                     |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  STARTING: The operation is starting..                  |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  PROCESSING: The operation is currently in execution.   |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  COMPLETED: The operation has completed successfully.   |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  FAILED: The operation has failed and it                |\r
+|                           |                 |                    |               |     cannot be retried or rolled back, as it is            |\r
+|                           |                 |                    |               |     determined that such action won't succeed.            |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  FAILED\_TEMP: The operation has failed and execution   |\r
+|                           |                 |                    |               |       has stopped, but the execution of the operation     |\r
+|                           |                 |                    |               |       is not considered to be closed. (Reserved)          |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  ROLLING\_BACK: The operation is currently being        |\r
+|                           |                 |                    |               |        rolled back. (Reserved)                            |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               |                                                           |\r
+|                           |                 |                    |               | -  ROLLED\_BACK: The state of the VNF prior to the        |\r
+|                           |                 |                    |               |        original operation invocation has been restored    |\r
+|                           |                 |                    |               |        as closely as possible. (Reserved)                 |\r
+|                           |                 |                    |               |                                                           |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|     statusDescription     |     O           |     0..1           |     String    | Status Description of a VNF lifecycle operation occurrence|\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+|     errorCode             |     O           |     0..1           |     Integer   | Errorcode                                                 |\r
++---------------------------+-----------------+--------------------+---------------+-----------------------------------------------------------+\r
+\r
+    {\r
+\r
+    "vnfLcOpId": "1234566",\r
+\r
+    "vnfInstanceId": "1", \r
+    "lcmOperationType": "INSTANTIATE",\r
+\r
+    "startTime": "2017-01-01T12:00:27.87+00:20",\r
+\r
+    "responseDescriptor": { \r
+        "responseId": 3,\r
+        "progress": 40, \r
+        "lcmOperationStatus": "PROCESSING",\r
+        "statusDescription": "OMC VMs are decommissioned in VIM",\r
+        "errorCode": null,\r
+        "responseHistoryList": [\r
+         {\r
+           "responseId": 1,\r
+           "progress": 40, \r
+           "lcmOperationStatus": "PROCESSING",\r
+           "statusDescription": "OMC VMs are decommissioned in VIM",\r
+           "errorCode": null\r
+         },\r
+         {\r
+           "responseId": 2,\r
+           "progress": 41, \r
+           "lcmOperationStatus": "PROCESSING",\r
+           "statusDescription": "OMC VMs are decommissioned in VIM",\r
+           "errorCode": null\r
+         }\r
+        ]\r
+      }\r
+    }\r
+\r
+**3.7.3 Response Code**\r
+\r
++-----------+-----------------------+----------------------------------+\r
+| Code      | Meaning               |     Description                  |\r
++===========+=======================+==================================+\r
+| 200       | Ok                    |     The request has succeeded.   |\r
++-----------+-----------------------+----------------------------------+\r
+| 4xx/5xx   | <name from RFC7231>   |     <description>                |\r
++-----------+-----------------------+----------------------------------+\r
+\r
+**4.Interfaces provided by VNF**\ (Ve-Vnfm-vnf)\r
+===============================================\r
+\r
+**4.1 Set Initial Configuration**\r
+-----------------------------\r
+\r
++---------------------+---------------------------------------------+\r
+|     If Definition   | Description                                 |\r
++=====================+=============================================+\r
+|     URI             | http(s)://[hostname][:port]/configuration   |\r
++---------------------+---------------------------------------------+\r
+|     Operation       | POST                                        |\r
++---------------------+---------------------------------------------+\r
+|     Direction       | VNFM->VNF                                   |\r
++---------------------+---------------------------------------------+\r
+\r
+    **4.1.1Request**\r
+\r
++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+\r
+| Parameter               | Qualifier   | Cardinality   |     Content              | Description                                                                  |\r
++=========================+=============+===============+==========================+==============================================================================+\r
+| vnfInstanceId           | M           | 1             |     Identifier           | Identifier of the VNF instance which the VNF to set initial configuration.   |\r
++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+\r
+| vnfConfigurationData    | O           | 0..1          |     VnfConfigur ation    | Configuration data for the VNF instance.                                     |\r
++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+\r
+| vnfcConfigurationData   | O           | 0..N          |     VnfcConfigu ration   | Configuration data for VNFC instances.                                       |\r
++-------------------------+-------------+---------------+--------------------------+------------------------------------------------------------------------------+\r
+\r
+**VnfConfiguration:**\r
+\r
++-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+\r
+|     Attribute         |     Qualifier   |     Cardinalit y   |     Content                      |     Description                                                              |\r
++=======================+=================+====================+==================================+==============================================================================+\r
+|     cp                |     O           |     0..N           |     CpConfiguratio n             |     External CPs                                                             |\r
++-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+\r
+|     vnfSpecificData   |     O           |     0..1           |     VnfConfigurabl eProperties   |     Configuration object containing values of VNF configurable properties.   |\r
++-----------------------+-----------------+--------------------+----------------------------------+------------------------------------------------------------------------------+\r
+\r
+**CpConfiguration:**\r
+\r
++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+\r
+|     Attribute   | Qualifier   |     Cardinalit y   | Content      | Description                                                                                           |\r
++=================+=============+====================+==============+=======================================================================================================+\r
+|     cpId        | M           |     1              | Identifier   | Uniquely identifies a CP instance within the namespace of a specific VNF instance or VNFC instance.   |\r
++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+\r
+|     cpdId       | M           |     1              | Identifier   | Uniquely identifies a type of CP instance within the namespace of a VNFD.                             |\r
++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+\r
+|     cpAddress   | M           |     1..N           | CpAddress    | Address and Port assigned to the CP.                                                                  |\r
++-----------------+-------------+--------------------+--------------+-------------------------------------------------------------------------------------------------------+\r
+\r
+    **CpAddress:**\r
+\r
++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     Attribute            | Qualifier   |     Cardinalit y   | Content           | Description                                                                                                                                   |\r
++==========================+=============+====================+===================+===============================================================================================================================================+\r
+|     address              | M           |     0..N           | NetworkAddre ss   | The address assigned to the CP instance (e.g. IP address, MAC address, etc.). It shall be provided for configuring a fixed address.           |\r
++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     useDynamicAddress    | M           |     0..1           | ENUM              | It determines whether an address shall be assigned dynamically. It shall be provided if a dynamic address needs to be configured on the CP.   |\r
+|                          |             |                    |                   |                                                                                                                                               |\r
+|                          |             |                    |                   | A cardinality of "0" indicates that no dynamic address needs to be configured on the CP.                                                      |\r
+|                          |             |                    |                   |                                                                                                                                               |\r
+|                          |             |                    |                   | Permitted values:                                                                                                                             |\r
+|                          |             |                    |                   |                                                                                                                                               |\r
+|                          |             |                    |                   | -  TRUE                                                                                                                                       |\r
+|                          |             |                    |                   |                                                                                                                                               |\r
+|                          |             |                    |                   | -  FALSE                                                                                                                                      |\r
++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\r
+|     port                 | M           |     0..1           | Not specified     | The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.).                                                       |\r
+|                          |             |                    |                   |                                                                                                                                               |\r
+|                          |             |                    |                   | Reserved                                                                                                                                      |\r
++--------------------------+-------------+--------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+\r
+\r
+    **VnfConfigurableProperties:**\r
+\r
++--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+\r
+|     Attribute      | Qualifier | Cardinality  | Content| Description                                                                                   |\r
++====================+===========+==============+========+===============================================================================================+\r
+|     autoScalable   | O         |       0..1   | ENUM   | It permits to enable (TRUE) / disable (FALSE) the auto-scaling functionality.                 |\r
+|                    |           |              |        |                                                                                               |\r
+|                    |           |              |        | A cardinality of "0" indicates that configuring this present VNF property is not supported.   |\r
+|                    |           |              |        |                                                                                               |\r
+|                    |           |              |        | Permitted values:                                                                             |\r
+|                    |           |              |        |                                                                                               |\r
+|                    |           |              |        | -  TRUE                                                                                       |\r
+|                    |           |              |        |                                                                                               |\r
+|                    |           |              |        | -  FALSE                                                                                      |\r
++--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+\r
+|     autoHealable   | O         |       0..1   | ENUM   | It permits to enable (TRUE) / disable (FALSE) the auto-healing functionality.                 |\r
+|                    |           |              |        |                                                                                               |\r
+|                    |           |              |        | A cardinality of "0" indicates that configuring this present VNF property is not supported.   |\r
+|                    |           |              |        |                                                                                               |\r
+|                    |           |              |        | Permitted values:                                                                             |\r
+|                    |           |              |        |                                                                                               |\r
+|                    |           |              |        | -  TRUE                                                                                       |\r
+|                    |           |              |        |                                                                                               |\r
+|                    |           |              |        | -  FALSE                                                                                      |\r
++--------------------+-----------+--------------+--------+-----------------------------------------------------------------------------------------------+\r
+\r
+**VnfcConfiguration:**\r
+\r
++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+\r
+|     Attribute          | Qualifier   |     Cardinalit y   | Content            | Description                                                                            |\r
++========================+=============+====================+====================+========================================================================================+\r
+|     vnfcId             | M           |     1              | Identifier         | Uniquely identifies a VNFC instance within the namespace of a specific VNF instance.   |\r
++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+\r
+|     cp                 | O           |     0..N           | CpConfiguratio n   | Internal CPs.                                                                          |\r
++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+\r
+|     vnfcSpecificData   | O           |     0..1           | KeyValuePair       | Configuration object containing values of VNFC configurable properties                 |\r
++------------------------+-------------+--------------------+--------------------+----------------------------------------------------------------------------------------+\r
+\r
+    {\r
+\r
+    "vnfInstanceId": "1", \r
+    "vnfConfigurationData": {\r
+      "cp": [\r
+        {\r
+          "cpId": "cp-1",\r
+          "cpdId": "cpd-a", \r
+          "cpAddress": [\r
+            {\r
+              "addresses": [\r
+                {\r
+                  "addressType": "MAC", \r
+                  "l2AddressData": "00:f3:43:20:a2:a3"\r
+                },\r
+                {\r
+                  "addressType": "IP", \r
+                    "l3AddressData": {\r
+                      "iPAddressType": "IPv4", \r
+                      "iPAddress": "192.168.104.2"\r
+                    }\r
+                }\r
+                ],\r
+              "useDynamicAddress": "FALSE"\r
+            }\r
+          ]\r
+        }\r
+      ],\r
+    "vnfSpecificData": { \r
+        "autoScalable": "FALSE", \r
+        "autoHealable": "FALSE"\r
+    }\r
+  },\r
+  "vnfcConfigurationData": \r
+    { \r
+        "vnfcId": "vnfc-1", \r
+        "cp": [\r
+          {\r
+            "cpId": "cp-11",\r
+            "cpdId": "cpd-1a",\r
+            "cpAddress": [\r
+              {\r
+                "addresses": [\r
+                  {\r
+                    "addressType": "MAC", \r
+                    "l2AddressData": "00:f3:43:21:a2:a3"\r
+                  },\r
+                  {\r
+                    "addressType": "IP", \r
+                    "l3AddressData": {\r
+                      "iPAddressType": "IPv4", \r
+                      "iPAddress": "192.168.105.2"\r
+                    }\r
+                  }\r
+                ],\r
+                "useDynamicAddress": "FALSE"\r
+              }\r
+            ]\r
+          }\r
+        ],\r
+      "vnfcSpecificData": {}\r
+    }\r
+  }\r
+\r
+\r
+    **4.1.2 Response**\r
++-----------------------+-------------+---------------+-------------------+---------------------------------+\r
+| Parameter             | Qualifier   | Cardinality   |     Content       | Description                     |\r
++=======================+=============+===============+===================+=================================+\r
+| vnfConfigurationData  | O           | 0..1          |  VnfConfiguration | Correspond to the               |\r
+|                       |             |               |                   | vnfConfigurationData in the     |\r
+|                       |             |               |                   | input information elements of   |\r
+|                       |             |               |                   | the SetInitialConfiguration     |\r
+|                       |             |               |                   | operation if it has.            |\r
++-----------------------+-------------+---------------+-------------------+---------------------------------+\r
+| vnfcConfigurationDa   | O           | 0..N          |  VnfConfiguration | Correspond to the               |\r
+| ta                    |             |               |                   | vnfcConfigurationData in the    |\r
+|                       |             |               |                   | input information elements of   |\r
+|                       |             |               |                   | the SetInitialConfiguration     |\r
+|                       |             |               |                   | operation if it has.            |\r
++-----------------------+-------------+---------------+-------------------+---------------------------------+\r
+\r
+    {\r
+      "vnfConfigurationData": { \r
+        "cp": [\r
+          {\r
+            "cpId": "cp-1",\r
+            "cpdId": "cpd-a", "cpAddress": [\r
+              {\r
+                "addresses": [\r
+                  {\r
+                    "addressType": "MAC", \r
+                    "l2AddressData": "00:f3:43:20:a2:a3"\r
+                  },\r
+                  {\r
+                    "addressType": "IP", \r
+                    "l3AddressData": {\r
+                      "iPAddressType": "IPv4", \r
+                      "iPAddress": "192.168.104.2"\r
+                    }\r
+                  }\r
+                ],\r
+                "useDynamicAddress": "FALSE"\r
+              }\r
+            ]\r
+          }\r
+        ],\r
+        "vnfSpecificData": { \r
+            "autoScalable": "FALSE", \r
+            "autoHealable": "FALSE",\r
+            …\r
+        }\r
+      },\r
+      "vnfcConfigurationData": { \r
+          "vnfcId": "vnfc-1", \r
+          "cp": [\r
+            {\r
+              "cpId": "cp-11",\r
+              "cpdId": "cpd-1a", \r
+              "cpAddress": [\r
+                {\r
+                  "addresses": [\r
+                    {\r
+                      "addressType": "MAC", \r
+                      "l2AddressData": "00:f3:43:21:a2:a3"\r
+                    },\r
+                    {\r
+                      "addressType": "IP", \r
+                      "l3AddressData": {\r
+                        "iPAddressType": "IPv4", \r
+                        "iPAddress": "192.168.105.2"\r
+                       }\r
+                    }\r
+                  ],\r
+                  "useDynamicAddress": "FALSE"\r
+                }\r
+              ]\r
+            }\r
+          ],\r
+      "vnfcSpecificData": {…}\r
+    }\r
+  }\r
+\r
+    **4.1.3Response Code**\r
+\r
++-----------+-----------------------+-----------------------------------------------------------+\r
+| Code      | Meaning               |     Description                                           |\r
++===========+=======================+===========================================================+\r
+| 201       | Created               |     A VNF Instance identifier was created successfully.   |\r
++-----------+-----------------------+-----------------------------------------------------------+\r
+| 4xx/5xx   | <name from RFC7231>   |     <description>                                         |\r
++-----------+-----------------------+-----------------------------------------------------------+\r
+\r
+.. |image0| image:: VNFM_API.png\r
+   :width: 5.07047in\r
+   :height: 5.63208in
\ No newline at end of file
diff --git a/docs/APIs/VNFLCM_API/VNFM_API.png b/docs/APIs/VNFLCM_API/VNFM_API.png
new file mode 100644 (file)
index 0000000..b267abc
Binary files /dev/null and b/docs/APIs/VNFLCM_API/VNFM_API.png differ
diff --git a/docs/APIs/VNFLCM_API/index.rst b/docs/APIs/VNFLCM_API/index.rst
new file mode 100644 (file)
index 0000000..34c0990
--- /dev/null
@@ -0,0 +1,7 @@
+VNF LCM API\r
+---------\r
+\r
+.. toctree::\r
+    :titlesonly:\r
+\r
+    VNFLCM_API
\ No newline at end of file
diff --git a/docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst b/docs/APIs/VNFMDriver_API/VNFM_Driver_API.rst
new file mode 100644 (file)
index 0000000..f8f1514
--- /dev/null
@@ -0,0 +1,599 @@
+.. contents::\r
+   :depth: 3\r
+..\r
+**VNFM Driver API**\r
+**V0.1**\r
+\r
+**1.  Scope**\r
+==============\r
+The scope of the present document is to describe the VNFM Driver exposed API specification.\r
+\r
+**2.  Terms, Definitions and Abbreviations**\r
+=============================================\r
+\r
+For the purposes of the present document, the following abbreviations apply:\r
+\r
++-------------+-----------------------------------------------+\r
+|Abbreviation |                                               |\r
++-------------+-----------------------------------------------+\r
+|NFVO         |Network Functions Virtualization Orchestrator  |\r
++-------------+-----------------------------------------------+\r
+|VNFM         |Virtual Network Function Manager               |\r
++-------------+-----------------------------------------------+\r
+|VNF          |Virtual Network Function                       |\r
++-------------+-----------------------------------------------+\r
+\r
+Table 2-1 abbreviations\r
+\r
+\r
+**3.  Interfaces provided by VNFM Driver**\r
+===========================================\r
+\r
+Interfaces use RESTful API and the format is as follows:\r
+http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfm_id}/[……]\r
+R1 vnfmtype:\r
+zte-vnfm\r
+fw-vnfm\r
+juju\r
+\r
+**3.1  Instantiate VNF**\r
+------------------------\r
+\r
++--------------+--------------------------------------------------------------+\r
+|If Definition | Description                                                  |\r
++==============+==============================================================+\r
+|URI           | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs  |\r
++--------------+--------------------------------------------------------------+\r
+|Operation     | POST                                                         |\r
++--------------+--------------------------------------------------------------+\r
+|Direction     | NSLCM->VNFMDriver                                            |\r
++--------------+--------------------------------------------------------------+\r
+\r
+**3.1.1  Request**\r
+\r
++-----------------------+------------+-------------+----------+------------------------------+\r
+| Parameter             | Qualifier  | Cardinality | Content  | Description                  |\r
++=======================+============+=============+==========+==============================+\r
+| vnfInstanceName       | M          | 1           | String   | Human-readable name  of the  |\r
+|                       |            |             |          | VNF instance to be created.  |\r
++-----------------------+------------+-------------+----------+------------------------------+\r
+| vnfPackageId          | M          | 1           | String   | VNF packageId                |\r
++-----------------------+------------+-------------+----------+------------------------------+\r
+| vnfDescriptorId       | M          | 1           | String   | Information  sufficient  to  |\r
+|                       |            |             |          | identify the VNF Descriptor  |\r
+|                       |            |             |          | which  defines  the  VNF  to |\r
+|                       |            |             |          | be created.                  |\r
++-----------------------+------------+-------------+----------+------------------------------+\r
+| flavourId             | M          | 0..1        | String   | Reserved                     |\r
++-----------------------+------------+-------------+----------+------------------------------+\r
+|vnfInstanceDescription | M          | 0..1        | String   | Human-readable               |\r
+|                       |            |             |          | 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
++-----------------------+------------+-------------+----------+------------------------------+\r
+| additionalParam       | M          | 0..N        | String   |Additional  parameters        |\r
+|                       |            |             |          |passed  by  the  NFVO  as     |\r
+|                       |            |             |          |input  to  the  instantiation |\r
+|                       |            |             |          |process,  specific  to  the   |\r
+|                       |            |             |          |VNF being instantiated.       |\r
++-----------------------+------------+-------------+----------+------------------------------+\r
+\r
+**ExtVirtualLinkData:**\r
+\r
++--------------+------------+-------------+----------+----------------------------------------+\r
+| Attribute    | Qualifier  | Cardinality | Content  | Description                            |\r
++==============+============+=============+==========+========================================+\r
+| vlInstanceId | M          | 0..1        | String   | Identifier of the VL instance          |\r
++--------------+------------+-------------+----------+----------------------------------------+\r
+| vim          | CM         | 0..1        | VimInfo  | Information about the VIM that         |\r
+|              |            |             |          | manages this resource.                 |\r
+|              |            |             |          | This attribute shall be supported      |\r
+|              |            |             |          | and present if VNF-related resource    |\r
+|              |            |             |          |  management in direct applicable.      |\r
++--------------+------------+-------------+----------+----------------------------------------+\r
+| networkId    | M          | 1           | String   | The network UUID of VIM                |\r
++--------------+------------+-------------+----------+----------------------------------------+\r
+| cpdId        | M          | 0..1        | String   | Identifier of the external CPD in VNFD |\r
++--------------+------------+-------------+----------+----------------------------------------+\r
+\r
+**VimInfo:**\r
+\r
++------------------+------------+-------------+--------------+------------------------------------------------+\r
+| Attribute        | Qualifier  | Cardinality | Content      | Description                                    |\r
++==================+============+=============+==============+================================================+\r
+| vimInfoId        | M          | 1           | Identifier   | The identifier of this VimInfo instance,       |\r
+|                  |            |             |              | for the purpose of referencing it from         |\r
+|                  |            |             |              | other information elements.                    |\r
++------------------+------------+-------------+--------------+------------------------------------------------+\r
+| vimId            | M          | 1           | Identifier   | The identifier of the VIM.                     |\r
++------------------+------------+-------------+--------------+------------------------------------------------+\r
+| interfaceInfo    | M          | 0..N        | KeyValuePair | Information about the interface to the         |\r
+|                  |            |             |              | VIM, including VIM provider type, API          |\r
+|                  |            |             |              | version, and protocol type.                    |\r
++------------------+------------+-------------+--------------+------------------------------------------------+\r
+| accessInfo       | M          | 0..N        | KeyValuePair | Authentication credentials for accessing the   |\r
+|                  |            |             |              | VIM. Examples may include those to support     |\r
+|                  |            |             |              | different authentication schemes, e.g., OAuth, |\r
+|                  |            |             |              | Token, etc.                                    |\r
++------------------+------------+-------------+--------------+------------------------------------------------+\r
+|interfaceEndpoint | M          | 1           | String       | Information about the interface endpoint. An   |\r
+|                  |            |             |              | example is a URL.                              |\r
++------------------+------------+-------------+--------------+------------------------------------------------+\r
+\r
+\r
+**interfaceInfo:**\r
+\r
++--------------+------------+-------------+----------+-------------------------------+\r
+| Attribute    | Qualifier  | Cardinality | Content  | Description                   |\r
++==============+============+=============+==========+===============================+\r
+| vimType      | M          | 1           | String   | vim                           |\r
++--------------+------------+-------------+----------+-------------------------------+\r
+| apiVersion   | M          | 1           | String   |                               |\r
++--------------+------------+-------------+----------+-------------------------------+\r
+| protocolType | M          | 1           | String   | http, https                   |\r
++--------------+------------+-------------+----------+-------------------------------+\r
+\r
+\r
+**accessInfo:**\r
+\r
++--------------+------------+-------------+----------+-------------------------------+\r
+| Attribute    | Qualifier  | Cardinality | Content  | Description                   |\r
++==============+============+=============+==========+===============================+\r
+| tenant       | M          | 1           | String   | Tenant Name of tenant         |\r
++--------------+------------+-------------+----------+-------------------------------+\r
+| username     | M          | 1           | String   | Username for login            |\r
++--------------+------------+-------------+----------+-------------------------------+\r
+| password     | M          | 1           | String   | Password of login user        |\r
++--------------+------------+-------------+----------+-------------------------------+\r
+\r
+{\r
+  "vnfInstanceName":"vFW",\r
+  "vnfPackageId":"1",\r
+  "vnfDescriptorId":"1",\r
+  "vnfInstanceDescription":"vFW_1",\r
+  "extVirtualLinkLink":[\r
+    {\r
+      "vlInstanceId":"1",\r
+      "resourceId":"1246" ,\r
+      " cpdId":"11111",\r
+      "vim":\r
+      {\r
+        "vimInfoId":"1",\r
+        "vimid":"1", \r
+        "interfaceInfo":{\r
+          "vimType":"vim",\r
+          "apiVersion":"v2",\r
+          "protocolType":"http"\r
+        }\r
+        "accessInfo":{\r
+          "tenant":"tenant_vCPE",\r
+          "username":"vCPE",\r
+          "password":"vCPE_321"\r
+        }\r
+        "interfaceEndpoint":"http://10.43.21.105:80/"\r
+      }\r
+    }\r
+  ]\r
+  "additionalParam":{\r
+  ……\r
+  }\r
+}\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
+{\r
+  "jobId":"1",\r
+  "vnfInstanceId":"1"\r
+}\r
+\r
+**3.2  Terminate VNF**\r
+-----------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition |  Description                                                     |\r
++===============+==================================================================+\r
+| URI           | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/     |\r
+|               | {vnfInstanceId}/terminate                                        |\r
++---------------+------------------------------------------------------------------+\r
+| Operation     |  POST                                                            |\r
++---------------+------------------------------------------------------------------+\r
+| Direction     |  NSLCM->VNFMDriver                                               |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**3.2.1  Request**\r
+\r
++-----------------+------------+-------------+-----------+----------------------------------+\r
+| Parameter       | Qualifier  | Cardinality | Content   | Description                      |\r
++=================+============+=============+===========+==================================+\r
+| terminationType | M          | 1           | Enum      | Signals whether forceful or      |\r
+|                 |            |             |           | graceful termination  is         |\r
+|                 |            |             |           | requested.                       |\r
+|                 |            |             |           | In case of forceful termination, |\r
+|                 |            |             |           | the  VNF  is  shut  down         |\r
+|                 |            |             |           | immediately, and resources are   |\r
+|                 |            |             |           | released. Note that if the VNF   |\r
+|                 |            |             |           | is still  in service,  this may  |\r
+|                 |            |             |           | adversely  impact  network       |\r
+|                 |            |             |           | service, and therefore, operator |\r
+|                 |            |             |           | policies apply to determine if   |\r
+|                 |            |             |           | forceful termination is allowed  |\r
+|                 |            |             |           | in the particular situation.     |\r
+|                 |            |             |           |                                  |\r
+|                 |            |             |           | In case of graceful termination, |\r
+|                 |            |             |           | the VNFM first arranges to take  |\r
+|                 |            |             |           | the  VNF  out  of  service  (by  |\r
+|                 |            |             |           | means  out  of  scope  of  the   |\r
+|                 |            |             |           | present  specification,  e.g.    |\r
+|                 |            |             |           | involving interaction with EM,   |\r
+|                 |            |             |           | if required).  Once  this  was   |\r
+|                 |            |             |           | successful,  or after a timeout, |\r
+|                 |            |             |           | the  VNFM  shuts  down the  VNF  |\r
+|                 |            |             |           | and releases the resources.      |\r
++-----------------+------------+-------------+-----------+----------------------------------+\r
+| graceful        | M          | 0..1        | Time      | The time interval (second) to    |\r
+| Termination     |            |             | Duration  | wait for the VNF to be taken out |\r
+| Timeout         |            |             |           | of  service  during  graceful    |\r
+|                 |            |             |           | termination,  before  shutting   |\r
+|                 |            |             |           | down the VNF and releasing the   |\r
+|                 |            |             |           | resources.                       |\r
+|                 |            |             |           | If not given, it is expected     |\r
+|                 |            |             |           | that the  VNFM  waits  for  the  |\r
+|                 |            |             |           | successful taking out of service |\r
+|                 |            |             |           | of the VNF, no matter  how long  |\r
+|                 |            |             |           | it  takes, before shutting down  |\r
+|                 |            |             |           | the  VNF  and  releasing  the    |\r
+|                 |            |             |           | resources (see note).            |\r
+|                 |            |             |           |                                  |\r
+|                 |            |             |           | Minimum timeout or timeout       |\r
+|                 |            |             |           | range are specified by the VNF   |\r
+|                 |            |             |           | Provider  (e.g. defined in the   |\r
+|                 |            |             |           | VNFD or communicated  by         |\r
+|                 |            |             |           | other means).                    |\r
+|                 |            |             |           |                                  |\r
+|                 |            |             |           | Not relevant in case of forceful |\r
+|                 |            |             |           | termination.                     |\r
++-----------------+------------+-------------+-----------+----------------------------------+\r
+\r
+{\r
+  "vnfInstanceId":"1",\r
+  "terminationType":"graceful",\r
+  "gracefulTerminationTimeout":"60"\r
+}\r
+\r
+**3.2.2  Response**\r
+\r
++--------------+------------+-------------+-----------+--------------------------------+\r
+| Parameter    | Qualifier  | Cardinality | Content   | Description                    |\r
++==============+============+=============+===========+================================+\r
+| jobId        | M          | 1           | Identifier| Identifier of the VNF lifecycle|\r
+|              |            |             |           | operation occurrence.          |\r
+|              |            |             |           |                                |\r
+|              |            |             |           | [lifecycleOperationOccurren    |\r
+|              |            |             |           |  ceId]                         |\r
++--------------+------------+-------------+-----------+--------------------------------+\r
+\r
+{\r
+  "jobId":"1"\r
+}\r
+\r
+\r
+**3.3  Query VNF**\r
+------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition |  Description                                                     |\r
++===============+==================================================================+\r
+| URI           | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/     |\r
+|               | {vnfInstanceId}                                                  |\r
++---------------+------------------------------------------------------------------+\r
+| Operation     |  GET                                                             |\r
++---------------+------------------------------------------------------------------+\r
+| Direction     |  NSLCM->VNFMDriver                                               |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**3.3.1  Request**\r
+\r
+VNF filter: vnfInstanceId via url [R1]\r
+\r
+**3.3.2  Response**\r
+\r
++--------------+------------+-------------+-----------+---------------------------------+\r
+| Parameter    | Qualifier  | Cardinality | Content   | Description                     |\r
++==============+============+=============+===========+=================================+\r
+| vnfInfo      | M          | o..N        | vnfInfo   | The information items about the |\r
+|              |            |             |           | selected VNF instance(s) that   |\r
+|              |            |             |           | are returned.                   |\r
+|              |            |             |           |                                 |\r
+|              |            |             |           | If attributeSelector is present,|\r
+|              |            |             |           | only the  attributes  listed in |\r
+|              |            |             |           | attributeSelector will be       |\r
+|              |            |             |           | returned for the selected       |\r
+|              |            |             |           | VNF instance(s).                |\r
+|              |            |             |           | See note.                       |\r
++--------------+------------+-------------+-----------+---------------------------------+\r
+\r
+**VnfInfo Table**\r
+\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+| Attribute       | Qualifier  | Cardinality | Content  | Description                     |\r
++=================+============+=============+==========+=================================+\r
+| vnfInstanceId   | M          | 1           | String   | VNF instance identifier.        |\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+| vnfInstanceName | M          | o..1        | String   | VNF instance name. See note.    |\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+| vnfInstance     | M          | o..1        | String   | Human-readable description of   |\r
+| Description     |            |             |          | the VNF instance.               |\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+| vnfdId          | M          | 1           | String   | Identifier of the VNFD on which |\r
+|                 |            |             |          | the VNF instance is based.      |\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+| vnfPackageId    | M          | o..1        | String   | Identifier of the VNF Package   |\r
+|                 |            |             |          | used to manage the lifecycle of |\r
+|                 |            |             |          | the VNF instance. See note.     |\r
+|                 |            |             |          | Shall be present for an         |\r
+|                 |            |             |          | instantiated VNF instance.      |\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+| version         | M          | 1           | String   | Version of the VNF.             |\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+| vnfProvider     | M          | 1           | String   | Name of the person or company   |\r
+|                 |            |             |          | providing the VNF.              |\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+| vnfType         | M          | 1           | String   | VNF Application Type            |\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+| vnfStatus       | M          | 1           | Enum     | The instantiation state of the  |\r
+|                 |            |             |          | VNF. Possible values:           |\r
+|                 |            |             |          | INACTIVE (Vnf is terminated or  |\r
+|                 |            |             |          | not instantiated ),             |\r
+|                 |            |             |          | ACTIVE (Vnf is instantiated).   |\r
+|                 |            |             |          | [instantiationState]            |\r
++-----------------+------------+-------------+----------+---------------------------------+\r
+\r
+{\r
+  "vnfInfo":\r
+  {\r
+    "nfInstanceId":"1",\r
+    "vnfInstanceName":"vFW",\r
+    "vnfInstanceDescription":"vFW in Nanjing TIC Edge",\r
+    "vnfdId":"1",\r
+    "vnfPackageId":"1",\r
+    "version":"V1.1",\r
+    "vnfProvider":"ZTE",\r
+    "vnfType":"vFW",\r
+    "vnfStatus":"  ACTIVE",\r
+  }\r
+}\r
+\r
+**3.4  Get operation status**\r
+-----------------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition |  Description                                                     |\r
++===============+==================================================================+\r
+| URI           | http(s)://[hostname][:port]/api/{vnfmtype}                       |\r
+|               | /v1/{vnfmid}/jobs/{jobid}&responseId={ responseId }              |\r
++---------------+------------------------------------------------------------------+\r
+| Operation     |  GET                                                             |\r
++---------------+------------------------------------------------------------------+\r
+| Direction     |  NSLCM->VNFMDriver                                               |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**3.4.1  Request**\r
+\r
+  None\r
+\r
+**3.4.2  Response**\r
+\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| Parameter          | Qualifier  | Cardinality | Content     | Description                     |\r
++====================+============+=============+=============+=================================+\r
+| jobId              | M          | 1           | String      | Job ID                          |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| responseDescriptor | M          | 1           | -           | Including:                      |\r
+|                    |            |             |             | vnfStatus, statusDescription,   |\r
+|                    |            |             |             | errorCode,progress,             |\r
+|                    |            |             |             | responseHistoryList, responseId |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| status             | M          | 1           | String      | JOB status                      |\r
+|                    |            |             |             | started                         |\r
+|                    |            |             |             | processing                      |\r
+|                    |            |             |             | finished                        |\r
+|                    |            |             |             | error                           |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| progress           | M          | 1           | Integer     | progress (1-100)                |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| statusDescription  | M          | 1           | String      | Progress Description            |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| errorCode          | M          | 1           | Integer     | Errorcode                       |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| responseId         | M          | 1           | Integer     | Response Identifier             |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| response           | M          | o..N        | ArrayList<> | History  Response  Messages     |\r
+| HistoryList        |            |             |             | from  the  requested            |\r
+|                    |            |             |             | responseId to lastest one.      |\r
+|                    |            |             |             | Including fields:               |\r
+|                    |            |             |             | vnfStatus,                      |\r
+|                    |            |             |             | statusDescription,              |\r
+|                    |            |             |             | errorCode,                      |\r
+|                    |            |             |             | progress,                       |\r
+|                    |            |             |             | responseId                      |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+\r
+{\r
+  "jobId" : "1234566",\r
+  "responseDescriptor" : {\r
+    "progress" : "40",\r
+    "status" : "proccessing",\r
+    "statusDescription" : "OMC VMs are decommissioned in VIM",\r
+    "errorCode" : null,\r
+    "responseId" : "42",\r
+    "responseHistoryList" : [{\r
+      "progress" : "40",\r
+      "status" : "proccessing",\r
+      "statusDescription" : "OMC VMs are decommissioned in VIM",\r
+      "errorCode" : null,\r
+      "responseId" : "1"\r
+    }, {\r
+      "progress" : "41",\r
+      "status" : "proccessing",\r
+      "statusDescription" : "OMC VMs are decommissioned in VIM",\r
+      "errorCode" : null,\r
+      "responseId" : "2"\r
+    }\r
+  ]\r
+ }\r
+}\r
+\r
+**3.5  Scale VNF**\r
+------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition |  Description                                                     |\r
++===============+==================================================================+\r
+| URI           | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs/     |\r
+|               | {vnfInstanceId}/scale                                            |\r
++---------------+------------------------------------------------------------------+\r
+| Operation     |  POST                                                            |\r
++---------------+------------------------------------------------------------------+\r
+| Direction     |  NSLCM->VNFMDriver                                               |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**3.5.1  Request**\r
+\r
++---------------+------------+-------------+-------------+---------------------------------------------+\r
+| Parameter     | Qualifier  | Cardinality | Content     | Description                                 |\r
++===============+============+=============+=============+=============================================+\r
+| type          | M          | 1           | Enum        | Defines the type of the scale operation     |\r
+|               |            |             |             | requested (scale out, scale in). The set of |\r
+|               |            |             |             | types actually supported depends on the     |\r
+|               |            |             |             | capabilities of the VNF being managed, as   |\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
++---------------+------------+-------------+-------------+---------------------------------------------+\r
+| numberOfSteps | M          | 1           | Integer     | Number of scaling steps to be executed as   |\r
+|               |            |             |             | part of this ScaleVnf operation. It shall   |\r
+|               |            |             |             | be a positive number.                       |\r
+|               |            |             |             | Defaults to 1.                              |\r
+|               |            |             |             | The VNF Provider defines in the VNFD        |\r
+|               |            |             |             | whether or not a particular VNF supports    |\r
+|               |            |             |             | performing more than one step at a time.    |\r
+|               |            |             |             | Such a property in the VNFD applies for all |\r
++--------------------+------------+-------------+-------------+----------------------------------------+\r
+| additional    | M          | 1           |KeyValuePair | Additional parameters passed by the NFVO    |\r
+| Param         |            |             |             | as input to the scaling proccess, specific  |\r
+|               |            |             |             | to the VNF being scaled.                    |\r
+|               |            |             |             | Reserved                                    |\r
++---------------+------------+-------------+-------------+---------------------------------------------+\r
+| NOTE 1: ETSI GS NFV-IFA 010 [2] specifies that the lifecycle management operations that expand       |\r
+|        or contract a VNF instance include scale in, scale out, scale up and scale down. Vertical     |\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
+|          aspect.                                                                                     |\r
++------------------------------------------------------------------------------------------------------+\r
+\r
+{\r
+  "vnfInstanceId":"5",\r
+  "type":" SCALE_OUT",\r
+  "aspectId":"101",\r
+  "numberOfSteps":"1",\r
+  "additionalParam":{\r
+    ……\r
+  }\r
+}\r
+\r
+**3.5.2  Response**\r
+\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| Parameter          | Qualifier  | Cardinality | Content     | Description                     |\r
++====================+============+=============+=============+=================================+\r
+| jobId              | M          | 1           | String      | The identifier of the VNF       |\r
+|                    |            |             |             | lifecycle operation occurrence. |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+\r
+{\r
+  "jobId":"1"\r
+}\r
+\r
+**3.6  Heal VNF**\r
+------------------\r
+\r
++---------------+------------------------------------------------------------------+\r
+| IF Definition |  Description                                                     |\r
++===============+==================================================================+\r
+| URI           | http(s)://[hostname][:port]/api/{vnfmtype}/v1/{vnfmid}/vnfs      |\r
+|               | {vnfInstanceId}/heal                                             |\r
++---------------+------------------------------------------------------------------+\r
+| Operation     |  POST                                                            |\r
++---------------+------------------------------------------------------------------+\r
+| Direction     |  NSLCM->VNFMDriver                                               |\r
++---------------+------------------------------------------------------------------+\r
+\r
+**3.6.1  Request**\r
+\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| Parameter          | Qualifier  | Cardinality | Content     | Description                     |\r
++====================+============+=============+=============+=================================+\r
+| action             | M          | 1           | String      | Indicates the action to be done |\r
+|                    |            |             |             | upon the given virtual machine. |\r
+|                    |            |             |             | Only "vmReset" is supported     |\r
+|                    |            |             |             | currently.                      |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| affectedvm         | M          |  1          | AffectedVm  | Defines the information of      |\r
+|                    |            |             |             | virtual machines.               |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+\r
+**AffectedVm**\r
+\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| Parameter          | Qualifier  | Cardinality | Content     | Description                     |\r
++====================+============+=============+=============+=================================+\r
+| vimid              | M          | 1           | String      | Defines  the  UUID  of  virtual |\r
+|                    |            |             |             | machine.                        |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| vduid              | M          | 1           | String      | Defines the id of vdu.          |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| vmname             | M          | 1           |             | Defines  the  name  of  virtual |\r
+|                    |            |             |             | machines.                       |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+\r
+{\r
+  "action": "vmReset",\r
+  "affectedvm": \r
+  {\r
+    "vmid": "804cca71-9ae9-4511-8e30-d1387718caff",\r
+    "vduid": "vdu_100",\r
+    "vmname": "ZTE_SSS_111_PP_2_L"\r
+  },\r
+}\r
+\r
+**3.6.2  Response**\r
+\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+| Parameter          | Qualifier  | Cardinality | Content     | Description                     |\r
++====================+============+=============+=============+=================================+\r
+| jobId              | M          | 1           | Identifier  | The identifier of the VNF       |\r
+|                    |            |             |             | healing operation occurrence.   |\r
++--------------------+------------+-------------+-------------+---------------------------------+\r
+\r
+{\r
+  "jobId":"1"\r
+}\r
diff --git a/docs/APIs/VNFMDriver_API/index.rst b/docs/APIs/VNFMDriver_API/index.rst
new file mode 100644 (file)
index 0000000..cf01758
--- /dev/null
@@ -0,0 +1,7 @@
+VNFM Driver API\r
+---------------\r
+\r
+.. toctree::\r
+    :titlesonly:\r
+\r
+    VNFM_Driver_API
\ No newline at end of file
diff --git a/docs/APIs/index.rst b/docs/APIs/index.rst
new file mode 100644 (file)
index 0000000..b05bede
--- /dev/null
@@ -0,0 +1,43 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+
+VF-C Offered APIs
+=================
+List VF-C APIs offered.
+
+
+NS LCM API
+----------
+
+Network services lifecycle management APIs
+
+
+.. toctree::
+   :maxdepth: 1
+   
+   NSLCM_API/index
+
+
+VNFM Driver API 
+---------------
+
+VNFM Driver component northbound APIs
+
+.. toctree:: 
+   :maxdepth: 1
+   
+   VNFMDriver_API/index
+
+
+
+VNF LCM API
+-----------
+
+VNF lifecycle management APIs
+
+.. toctree:: 
+   :maxdepth: 1
+
+   VNFLCM_API/index
+
diff --git a/docs/architecture.rst b/docs/architecture.rst
new file mode 100644 (file)
index 0000000..20ac211
--- /dev/null
@@ -0,0 +1,18 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+
+VF-C Architecture
+-----------------
+Following is the VF-C architecture.
+
+
+|image0|
+
+.. |image0| image:: vfc-arc.png
+   :width: 5.97047in
+   :height: 5.63208in
+   
+VF-C includes two components: NFVO and GVNFM
+
+VF-C has many dependencies with other projects,such as SO,Policy,A&AI,SDC,DCAE,Multi-cloud and so on.
\ No newline at end of file
diff --git a/docs/components.png b/docs/components.png
new file mode 100644 (file)
index 0000000..253e63b
Binary files /dev/null and b/docs/components.png differ
diff --git a/docs/delivery.rst b/docs/delivery.rst
new file mode 100644 (file)
index 0000000..f31d396
--- /dev/null
@@ -0,0 +1,13 @@
+VF-C Delivery
+--------
+VF-C includs the following components in R1.
+
+|image0|
+
+.. |image0| image:: components.png
+   :width: 5.97047in
+   :height: 5.63208in
+   
+
+
+
index c8ea095..8311287 100644 (file)
@@ -1,7 +1,24 @@
-NSLCM API\r
----------\r
-\r
-.. toctree::\r
-    :titlesonly:\r
-\r
-    NSLCM_API_Specification_v0.1
\ No newline at end of file
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+.. _vfc_index:
+
+ONAP VF-C
+=========
+
+As part of the integration between OpenECOMP and OPEN-O, VF-C leverages ETSI NFV MANO architecture and information model as a reference, and implements life cycle management and FCAPS of VNF and NS.
+
+* support NS and VNF lifecycle management based on the ONAP tosca and yang data model and workflow
+* support integration with multi VNFMs via drivers, which include vendors VNFM and generic VNFM
+* support integration with multi VNFs via generic VNFM, which does not provide VNFM function
+* support integration with multi VIMS via Multi-VIM, which include the opensource and commercial VIMs
+* support microservice architecture and model driven resource orchestration and management
+
+
+.. toctree::
+   :maxdepth: 1
+
+   architecture.rst
+   delivery.rst
+   APIs/index
+   installation.rst
diff --git a/docs/installation.rst b/docs/installation.rst
new file mode 100644 (file)
index 0000000..efdf816
--- /dev/null
@@ -0,0 +1,14 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+VF-C Installation
+------------
+Describe the environment and steps to install VF-C components.
+
+
+Environment
++++++++++++
+
+
+Steps
++++++
diff --git a/docs/logging.rst b/docs/logging.rst
new file mode 100644 (file)
index 0000000..8d480e2
--- /dev/null
@@ -0,0 +1,14 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Logging & Diagnostic Information
+--------------------------------
+Description of how to interact with and diagnose problems with the components
+as delivered.
+
+Where to Access Information
++++++++++++++++++++++++++++
+
+
+Error / Warning Messages
+++++++++++++++++++++++++
diff --git a/docs/offeredapis.rst b/docs/offeredapis.rst
new file mode 100644 (file)
index 0000000..79af664
--- /dev/null
@@ -0,0 +1,43 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+
+VF-C Offered APIs
+=================
+List VF-C APIs offered.
+
+
+NS LCM API
+----------
+
+Network services lifecycle management APIs
+
+
+.. toctree::
+   :maxdepth: 1
+   
+   APIs/NSLCM_API/index
+
+
+VNFM Driver API 
+---------------
+
+VNFM Driver component northbound APIs
+
+.. toctree:: 
+   :maxdepth: 1
+   
+   APIs/VNFMDriver_API/index
+
+
+
+VNF LCM API
+-----------
+
+VNF lifecycle management APIs
+
+.. toctree:: 
+   :maxdepth: 1
+
+   APIs/VNFLCM_API/index
+
diff --git a/docs/vfc-arc.png b/docs/vfc-arc.png
new file mode 100644 (file)
index 0000000..561488b
Binary files /dev/null and b/docs/vfc-arc.png differ