diff options
author | Ezhilarasi <ezhrajam@in.ibm.com> | 2019-07-19 19:31:09 +0530 |
---|---|---|
committer | Ezhilarasi <ezhrajam@in.ibm.com> | 2019-07-19 19:31:16 +0530 |
commit | d7c896b7765b080b8e8e8d12c65e4bae33d4bb58 (patch) | |
tree | dd44bb64b250561dc12e5e5c667068947dc82dee /docs/microservices/workflow.rst | |
parent | 086f23e7dbe0cc7df7105002628ee3e84cf29c76 (diff) |
Added workflow of CDS
Change-Id: If3a4703e980c75a3c519ca34a33b1ee7f0cf326f
Issue-ID: CCSDK-1453
Signed-off-by: Ezhilarasi <ezhrajam@in.ibm.com>
Diffstat (limited to 'docs/microservices/workflow.rst')
-rw-r--r-- | docs/microservices/workflow.rst | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/docs/microservices/workflow.rst b/docs/microservices/workflow.rst new file mode 100644 index 000000000..b74a49d2b --- /dev/null +++ b/docs/microservices/workflow.rst @@ -0,0 +1,73 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2019 IBM. + +Workflow +======== + +A workflow defines an overall action to be taken on the service, hence is an entry-point for the run-time execution of the CBA package. + +A workflow also defines inputs and outputs that will defined the payload contract of the request and response (see Dynamic API) + +A workflow can be composed of one or multiple sub-actions to execute. + +A CBA package can have as many workflows as needed. + +Single action +------------- + +The workflow is directly backed by a node_template of type tosca.nodes.Component + +Multiple sub-actions +-------------------- +The workflow is backed by Directed Graph engine, node_template of type dg-generic, and are imperative workflows. + +A DG used as workflow for CDS is composed of multiple execute nodes; each individual execute node refers to a plugin, that is a node_template of type tosca.nodes.Component. + +Below the properties of a workflow: + + + +Workflow Example +---------------- + +.. code:: json + +print(" +{ + "workflow": { + "resource-assignment": { <- workflow-name + "inputs": { + "vnf-id": { <- static inputs + "required": true, + "type": "string" + }, + "resource-assignment-properties": { <- dynamic inputs + "required": true, + "type": "dt-resource-assignment-properties" + } + }, + "steps": { + "call-resource-assignment": { <- step-name + "description": "Resource Assignment Workflow", + "target": "resource-assignment-process" <- node_template targeted by the step + } + }, + "outputs": { + "template-properties": { <- output + "type": "json", <- complex type + "value": { + "get_attribute": [ <- uses expression to retrieve attribute from context + "resource-assignment", + "assignment-params" + ] + } + } + } + } + } +} +") + + +TOSCA definition: http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html#_Toc494454203
\ No newline at end of file |