Added workflow of CDS 46/91746/1
authorEzhilarasi <ezhrajam@in.ibm.com>
Fri, 19 Jul 2019 14:01:09 +0000 (19:31 +0530)
committerEzhilarasi <ezhrajam@in.ibm.com>
Fri, 19 Jul 2019 14:01:16 +0000 (19:31 +0530)
Change-Id: If3a4703e980c75a3c519ca34a33b1ee7f0cf326f
Issue-ID: CCSDK-1453
Signed-off-by: Ezhilarasi <ezhrajam@in.ibm.com>
docs/microservices/workflow.rst [new file with mode: 0644]

diff --git a/docs/microservices/workflow.rst b/docs/microservices/workflow.rst
new file mode 100644 (file)
index 0000000..b74a49d
--- /dev/null
@@ -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