Workflow steps are the sequential set of tasks that your workflow performs. You can add any number of steps to your workflow.
Workflow Step Example
"steps":[ { "stepId":"step1", "workflow":"RUN_SSH_COMMAND_IN_GUEST", "namespace": "nfv", "type":"decision", "description": "Step 1 - Run SSH Command", "inBinding":[ {"name": "username", "type": "string", "exportName": "USER"}, {"name": "password", "type": "password", "exportName": "PWD"}, {"name": "port", "type": "number", "default": "22"}, {"name": "cmd", "type": "string", "default": "sh /opt/service-start.sh"}, {"name": "encoding", "type": "string", "default": ""}, {"name": "hostNameOrIP", "type": "string", "exportName": "SYSTEM_IP"}, {"name": "passwordAuthentication", "type": "boolean", "default": "true"} ], "outBinding": [ {"name": "outputText", "type": "string", "exportName": "stringVar1"} ], "nextStep":"END" } ]
Workflow Step Schema
{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "http://example.com/example.json", "type": "object", "readOnly": false, "writeOnly": false, "minProperties": 0, "title": "The Root Schema", "description": "The root schema comprises the entire JSON document.", "additionalProperties": true, "required": [ "stepId", "workflow", "namespace", "type", "inBinding", "outBinding", "nextStep", "stepNumber" ], "properties": { "stepId": { "$id": "#/properties/stepId", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Stepid Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "step1" ] }, "workflow": { "$id": "#/properties/workflow", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Workflow Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "VRO_CUSTOM_WORKFLOW" ] }, "namespace": { "$id": "#/properties/namespace", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Namespace Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "nfv" ] }, "type": { "$id": "#/properties/type", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Type Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "task" ] }, "description": { "$id": "#/properties/description", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Description Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "Basic" ] }, "inBinding": { "$id": "#/properties/inBinding", "type": "array", "readOnly": false, "writeOnly": false, "uniqueItems": false, "minItems": 0, "minContains": 1, "title": "The Inbinding Schema", "description": "An explanation about the purpose of this instance.", "default": [], "additionalItems": true, "items": { "$id": "#/properties/inBinding/items", "type": "object", "readOnly": false, "writeOnly": false, "minProperties": 0, "title": "The Items Schema", "description": "An explanation about the purpose of this instance.", "default": {}, "examples": [ { "name": "username", "type": "string", "exportName": "USER" }, { "type": "string", "name": "vroWorkflowName", "default": "Run SSH command" }, { "type": "password", "exportName": "PWD", "name": "password" }, { "type": "number", "name": "port", "default": "22" }, { "name": "cmd", "default": "sh /opt/vmware/return-string-pass.sh", "type": "string" }, { "type": "string", "name": "encoding", "default": " " }, { "name": "hostNameOrIP", "default": "10.144.164.91", "type": "string" }, { "type": "boolean", "name": "passwordAuthentication", "default": "true" } ], "additionalProperties": true, "required": [ "name", "type", "exportName" ], "properties": { "name": { "$id": "#/properties/inBinding/items/properties/name", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Name Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "username" ] }, "type": { "$id": "#/properties/inBinding/items/properties/type", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Type Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "string" ] }, "exportName": { "$id": "#/properties/inBinding/items/properties/exportName", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Exportname Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "USER" ] } } } }, "outBinding": { "$id": "#/properties/outBinding", "type": "array", "readOnly": false, "writeOnly": false, "uniqueItems": false, "minItems": 0, "minContains": 1, "title": "The Outbinding Schema", "description": "An explanation about the purpose of this instance.", "default": [], "additionalItems": true, "items": { "$id": "#/properties/outBinding/items", "type": "object", "readOnly": false, "writeOnly": false, "minProperties": 0, "title": "The Items Schema", "description": "An explanation about the purpose of this instance.", "default": {}, "examples": [ { "type": "string", "exportName": "output", "name": "outputText" } ], "additionalProperties": true, "required": [ "name", "type", "exportName" ], "properties": { "name": { "$id": "#/properties/outBinding/items/properties/name", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Name Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "outputText" ] }, "type": { "$id": "#/properties/outBinding/items/properties/type", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Type Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "string" ] }, "exportName": { "$id": "#/properties/outBinding/items/properties/exportName", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Exportname Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "output" ] } } } }, "nextStep": { "$id": "#/properties/nextStep", "type": "string", "readOnly": false, "writeOnly": false, "minLength": 0, "title": "The Nextstep Schema", "description": "An explanation about the purpose of this instance.", "default": "", "examples": [ "step2" ] }, "stepNumber": { "$id": "#/properties/stepNumber", "type": "integer", "readOnly": false, "writeOnly": false, "title": "The Stepnumber Schema", "description": "An explanation about the purpose of this instance.", "default": 0, "examples": [ 1 ] } } }