.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright 2018 Huawei Technologies Co., Ltd.

e2eServiceInstances API
=======================

This API allows to manage:

- e2eServiceInstances (create and delete)
- operations on e2eServiceInstances (get)


Create E2E service instance
+++++++++++++++++++++++++++

+--------------------+------------------------------------------------------------+
|Interface Definition|Description                                                 |
+====================+============================================================+
|URI                 |/onap/so/infra/e2eServiceInstances/v3                       |
+--------------------+------------------------------------------------------------+
|Operation Type      |POST                                                        |
+--------------------+------------------------------------------------------------+
|Content-Type        |application/json                                            |
+--------------------+------------------------------------------------------------+

Request Body:

+---------+---------+-----------+--------------------------+-----------------------------+
|Attribute|Qualifier|Cardinality|Content                   |Description                  |
+=========+=========+===========+==========================+=============================+
|service  |M        |1          |Service Object            |Content of service object.   |
+---------+---------+-----------+--------------------------+-----------------------------+

Service Object 

+------------------------------+-----------------+------------------------------------+
|Attribute                     |Content          |Description                         |
+==============================+=================+====================================+
|name                          |String           |Service instance name.              |
+------------------------------+-----------------+------------------------------------+
|description                   |String           |Service instance description        |
+------------------------------+-----------------+------------------------------------+
|serviceUuid                   |String           |Model UUID                          |
+------------------------------+-----------------+------------------------------------+
|serviceInvariantUuid          |String           |Model Invariant UUID                |
+------------------------------+-----------------+------------------------------------+
|gloabalSubscriberId           |String           |Customer Id                         |
+------------------------------+-----------------+------------------------------------+
|serviceType                   |String           |service Type                        |
+------------------------------+-----------------+------------------------------------+
|parameters                    |Object           |Parameter Object                    |
+------------------------------+-----------------+------------------------------------+

Parameter Object

+------------------------------+-----------------+------------------------------------+
|Attribute                     |Content          |Description                         |
+==============================+=================+====================================+
|locationConstraints           |List of object   |location infor for each vnf         |
+------------------------------+-----------------+------------------------------------+
|resource                      |List of Resource |resource of service/resource        |
+------------------------------+-----------------+------------------------------------+
|requestInputs                 |key-value map    |input of service/resource           |
+------------------------------+-----------------+------------------------------------+

LocationConstraint Object

+------------------------------+-----------------+------------------------------------+
|Attribute                     |Content          |Description                         |
+==============================+=================+====================================+
|vnfProfileId                  |String           |Customization id for VNF            |
+------------------------------+-----------------+------------------------------------+
|locationConstraints           |Object           |DC location info of VNF             |
+------------------------------+-----------------+------------------------------------+

VnfLocationConstraint Object

+------------------------------+-----------------+------------------------------------+
|Attribute                     |Content          |Description                         |
+==============================+=================+====================================+
|vimId                         |String           |VIM id from ESR definition          |
+------------------------------+-----------------+------------------------------------+

Resource Object

+------------------------------+-----------------+------------------------------------+
|Attribute                     |Content          |Description                         |
+==============================+=================+====================================+
|resourceName                  |String           |The resource name                   |
+------------------------------+-----------------+------------------------------------+
|resourceInvariantUuid         |String           |The resource invariant UUID.        |
+------------------------------+-----------------+------------------------------------+
|resourceUuid                  |String           |The resource UUID.                  |
+------------------------------+-----------------+------------------------------------+
|resourceCustomizationUuid     |String           |The resource customization UUID.    |
+------------------------------+-----------------+------------------------------------+
|parameters                    |Object           |Parameter of resource               |
+------------------------------+-----------------+------------------------------------+

Response:

+-------------+---------+-----------+-------+------------------------------------------------------------------------+
|Attribute    |Qualifier|Cardinality|Content|Description                                                             |
+-------------+---------+-----------+-------+------------------------------------------------------------------------+
|serviceId    |M        |1          |String |Service instance ID.                                                    |
+-------------+---------+-----------+-------+------------------------------------------------------------------------+
|operationId  |M        |1          |String |Service Operation ID.                                                   |
+-------------+---------+-----------+-------+------------------------------------------------------------------------+

Delete E2E service instance
+++++++++++++++++++++++++++

+--------------------+----------------------------------------------------------------------+
|Interface Definition|Description                                                           |
+====================+======================================================================+
|URI                 |/onap/so/infra/e2eServiceInstances/v3/{serviceId}                     |
+--------------------+----------------------------------------------------------------------+
|Operation Type      |DELETE                                                                |
+--------------------+----------------------------------------------------------------------+

Request Parameters:

+-------------------+---------+-----------+-------+----------------------------------------+
|Attribute          |Qualifier|Cardinality|Content|Description                             |
+===================+=========+===========+=======+========================================+
|globalSubscriberId |M        |1          |String |The subscriber id. It is defined in AAI |
+-------------------+---------+-----------+-------+----------------------------------------+
|serviceType        |M        |1          |String |The service type. It is defined in AAI  |
+-------------------+---------+-----------+-------+----------------------------------------+

Response:

+-------------+---------+-----------+-------+------------------------------------------------------------------------+
|Attribute    |Qualifier|Cardinality|Content|Description                                                             |
+-------------+---------+-----------+-------+------------------------------------------------------------------------+
|operationId  |M        |1          |String |The operation id.                                                       |
+-------------+---------+-----------+-------+------------------------------------------------------------------------+

Query E2E service operation result
++++++++++++++++++++++++++++++++++

+--------------------+-----------------------------------------------------------------------------------------------+
|Interface Definition|Description                                                                                    |
+====================+===============================================================================================+
|URI                 |/onap/so/infra/e2eServiceInstances/v3/{serviceId}/operations/{operationId}                     |
+--------------------+-----------------------------------------------------------------------------------------------+
|Operation Type      |GET                                                                                            |
+--------------------+-----------------------------------------------------------------------------------------------+

Request Parameters:

+--------------+---------+-----------+-------+--------------+
|Attribute     |Qualifier|Cardinality|Content|Description   |
+==============+=========+===========+=======+==============+
|serviceId     |M        |1          |Service instance ID.  |
+--------------+---------+-----------+-------+--------------+
|operationId   |M        |1          |Service Operation ID. |
+--------------+---------+-----------+-------+--------------+

Response:

+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|Attribute         |Qualifier|Cardinality|Content|Description                                                             |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|operation         |M        |1          |String |Operation object identify.                                              |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|operationId       |M        |1          |String |Operation ID.                                                           |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|operation         |M        |1          |String |Operation type, create|delete.                                          |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|result            |M        |1          |String |Operation result: finished, error, processing.                          |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|reason            |M        |1          |String |If failing, need to write fail reason.                                  |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|userId            |M        |1          |String |Operation user ID.                                                      |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|operationContent  |M        |1          |String |The status detail of current operation which is being executing.        |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|progress          |M        |1          |String |Current operation progress.                                             |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|operateAt         |M        |1          |String |Time that it starts to execute operation.                               |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+
|finishedAt        |M        |1          |String |Time that it finished executing operation.                              |
+------------------+---------+-----------+-------+------------------------------------------------------------------------+