blob: 94d5ee9c0a57a14b7d9c6776f23fe3c1c549545b [file] [log] [blame]
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2023 Nordix Foundation
.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING
.. _cmHandleDataOperation:
Data Operations Endpoint
########################
.. toctree::
:maxdepth: 1
Introduction
============
For all data operations on cm handle(s), we have a post endpoint:
- /ncmp/v1/data?topic={client-topic-name} forward request to it's dmi plugin service.
- When asynchronous (with topic) operations are executed, a request id (UUID) will be returned.
Request Body
============
This endpoint executes data operation for given array of operations:
+--------------------------+-------------+-------------------------------------------------------------------------+
| Operation attributes | Mandatory | Description |
+==========================+=============+=========================================================================+
| operation | Yes | Only read operation is allowed. |
+--------------------------+-------------+-------------------------------------------------------------------------+
| operationId | Yes | Unique operation id for each operation. |
+--------------------------+-------------+-------------------------------------------------------------------------+
| datastore | Yes | Supports only ncmp-datastore:passthrough-operational and |
| | | ncmp-datastore:passthrough-running. |
+--------------------------+-------------+-------------------------------------------------------------------------+
| options | No | It is mandatory to wrap key(s)=value(s) in parenthesis'()'. The format |
| | | of options parameter depend on the associated DMI Plugin implementation.|
+--------------------------+-------------+-------------------------------------------------------------------------+
| resourceIdentifier | No | The format of resource identifier depend on the associated DMI Plugin |
| | | implementation. For ONAP DMI Plugin it will be RESTConf paths but it can|
| | | really be anything. |
+--------------------------+-------------+-------------------------------------------------------------------------+
| targetIds | Yes | List of cm handle ids. |
+--------------------------+-------------+-------------------------------------------------------------------------+
The status codes used in the events resulting from these operations are defined here:
.. toctree::
:maxdepth: 1
cps-ncmp-message-status-codes.rst
Request Body example from client app to NCMP endpoint:
.. code-block:: bash
curl --location 'http: //{ncmp-host-name}:{ncmp-port}/ncmp/v1/data?topic=my-topic-name' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic Y3BzdXNlcjpjcHNyMGNrcyE=' \
--data '{
"operations": [
{
"operation": "read",
"operationId": "operational-12",
"datastore": "ncmp-datastore:passthrough-operational",
"options": "some option",
"resourceIdentifier": "parent/child",
"targetIds": [
"836bb62201f34a7aa056a47bd95a81ed",
"202acb75b4a54e43bb1ff8c0c17a8e08"
]
},
{
"operation": "read",
"operationId": "running-14",
"datastore": "ncmp-datastore:passthrough-running",
"targetIds": [
"ec2e9495679a43c58659c07d87025e72",
"0df4d39af6514d99b816758148389cfd"
]
}
]
}'
DMI service batch endpoint
--------------------------
DMI Service 1 (POST): `http://{dmi-host-name}:{dmi-port}/dmi/v1/data?topic=my-topic-name&requestId=4753fc1f-7de2-449a-b306-a6204b5370b3`
.. code-block:: json
[
{
"operationType": "read",
"operationId": "running-14",
"datastore": "ncmp-datastore:passthrough-running",
"cmHandles": [
{
"id": "ec2e9495679a43c58659c07d87025e72",
"cmHandleProperties": {
"neType": "RadioNode"
}
},
{
"id": "0df4d39af6514d99b816758148389cfd",
"cmHandleProperties": {
"neType": "RadioNode"
}
}
]
}
]
DMI Service 2 (POST) : `http://{dmi-host-name}:{dmi-port}/dmi/v1/data?topic=my-topic-name&requestId=4753fc1f-7de2-449a-b306-a6204b5370b3`
.. code-block:: json
[
{
"operationType": "read",
"operationId": "operational-12",
"datastore": "ncmp-datastore:passthrough-operational",
"options": "some option",
"resourceIdentifier": "parent/child",
"cmHandles": [
{
"id": "836bb62201f34a7aa056a47bd95a81ed",
"cmHandleProperties": {
"neType": "RadioNode"
}
},
{
"id": "202acb75b4a54e43bb1ff8c0c17a8e08",
"cmHandleProperties": {
"neType": "RadioNode"
}
}
]
}
]
Above examples are for illustration purposes only. Please refer to link below for latest schema.
:download:`Data operation event schema <schemas/data-operation-event-schema-1.0.0.json>`