| .. 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: |
| |
| 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``. |