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 / Description
description / 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.