blob: a2a4cb72b879b2dd855389367f9cb7eaa6796100 [file] [log] [blame]
.. This work is a derivative of https://wiki.onap.org/display/DW/Modeling+Concepts
.. This work is licensed under a Creative Commons Attribution 4.0
.. International License. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2020 Deutsche Telekom AG.
Dynamic Payload
-------------------------------------
One of the most important API provided by the run time is to execute a CBA Package.
The nature of this API **request** and **response** is **model
driven** and **dynamic**.
Here is how the a **generic request** and **response** look like.
.. list-table::
:widths: 50 50
:header-rows: 1
* - request
- response
* - .. code-block:: json
{
"commonHeader": {
"originatorId": "",
"requestId": "",
"subRequestId": ""
},
"actionIdentifiers": {
"blueprintName": "",
"blueprintVersion": "",
"actionName": "",
"mode": ""
},
"payload": {
"$actionName-request": {
"$actionName-properties": {
}
}
}
}
- .. code-block:: json
{
"commonHeader": {
"originatorId": "",
"requestId": "",
"subRequestId": ""
},
"actionIdentifiers": {
"blueprintName": "",
"blueprintVersion": "",
"actionName": "",
"mode": ""
},
"payload": {
"$actionName-response": {
}
}
}
The ``actionName``, under the ``actionIdentifiers`` refers to the name of a
Workflow (see :ref:`workflow`)
The content of the ``payload`` is what is fully dynamic / model driven.
The first **top level element** will always be either
``$actionName-request`` for a request or ``$actionName-response`` for a response.
Then the **content within this element** is fully based on the
**workflow** **inputs** and **outputs**.
During the :ref:`enrichment` CDS will aggregate all the resources
defined to be resolved as input (see :ref:`node_type` -> Source -> Input), within mapping definition files
(see :ref:`artifact_type` -> Mapping), as data-type, that will then be use as type
of an input called ``$actionName-properties``.