TOSCA Simple YAML Profile
Source:Gabor Marton, Nokia, Thinh Nguyenphu, ,
Date: April 23, 2018
Type: Discussion & decision
Purpose: Per February meeting discussion on workflow, this document proposes additional workflow grammar to support additional workflow languages. The changes affect the following sections from TOSCA-Simple-Profile-YAML-v1.3-wd01-rev03a baseline document.
•3.8.7.1 Keynames
•3.8.7.2 Grammar
•7.3.8 Use a custom workflow language (new section)
Change #1: new section: example of customer language
3.8.7Imperative Workflow definition
A workflow definition defines an imperative workflow that is associated with a TOSCA topology.
3.8.7.1 Keynames
The following is the list of recognized keynames for a TOSCA workflow definition:
Keyname / Required / Type / Descriptiondescription / no / description / The optional description for the workflow definition.
metadata / no / map of string / Defines a section used to declare additional metadata information.
inputs / no / list of
property definitions / The optional list of input parameter definitions.
preconditions / no / list of precondition definitions / List of preconditions to be validated before the workflow can be processed.
steps / No / list of step definitions / An optional list of valid Node Templates or Groups the Policy can be applied to.
implementation / no / workflow implementation definition / The optional definition of the workflow implementation.
artifacts / no / list of
artifact definitions / An optional list of named artifact definitions for the workflow.
3.8.7.2 Grammar
Imperative workflow definitions have the following grammar:
<workflow_name>:description: <workflow_description>
metadata:
<map of string
inputs:
<property_definitions
preconditions:
- <workflow_precondition_definition
steps:
<workflow_steps
implementation:
<workflow_implementation_definitions
artifacts:
<artifact_definitions
In the above grammar, the pseudo values that appear in angle brackets have the following meaning:
- workflow_name:
- workflow_description:
- property_definitions:
- workflow_precondition_definition:
- workflow_steps:
- workflow_implementation_definition: represents the optional specification of the workflows’s implementation
- artifact_definitions: represents the optional list of artifact definitions for the workflow.
Change #2: new section: example of customer language
7.3.8 Use a custom workflow language
TOSCA orchestrators may support additional workflow languages beyond the one which has been described in this specification.
7.3.8.1 Example
topology_template:workflows:
my_workflow:
implementation: my_workflow.bpmn.xml
The implementation refers to the artifact my_workflow.bpmn.xml containing the workflow definition written in BPMN (Business Process Modeling Notation).
7.3.8.2 Example
topology_template:workflows:
my_workflow:
implementation: my_workflow_script
artifacts:
my_workflow_script:
description: workflow implemented in Mistral
type: mycompany.artifacts.Implementation.Mistral
file: my_workflow.workbook.mistral.yaml
The implementation refers to the artifact my_workflow_script which is in fact a Mistral workbook written in the Mistral workflow definition language.