Here are some sample SSH workflows.
SSH Workflow
{
"id":"ssh_workflow",
"name": "SSH Workflow",
"description":"SSH Workflow",
"version":"1.0",
"startStep":"step0",
"variables": [
{"name":"vnfId", "type": "string"}
],
"input": [
{"name": "USER", "description": "Username", "type": "string"},
{"name": "PWD", "description": "Password", "type": "password"},
{"name": "HOSTNAME", "description": "Hostname", "type": "string"},
{"name": "CMD", "description": "Command", "type": "string"}
],
"output": [
{"name":"output", "description": "Output Result", "type": "string"}
],
"steps":[
{
"stepId":"step0",
"workflow":"RUN_SSH_COMMAND_IN_GUEST",
"namespace": "nfv",
"type":"task",
"description": "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", "exportName": "CMD"}
,{"name": "encoding", "type": "string", "default": " "}
,{"name": "hostNameOrIP", "type": "string", "exportName": "HOSTNAME"}
,{"name": "passwordAuthentication", "type": "boolean", "default": "true"}
],
"outBinding": [
{"name": "result", "type": "string", "exportName": "output"}
],
"nextStep":"END"
}
]
}
SSH Workflow with Sleep
{
"id":"ssh_workflow_with_sleep",
"name": "SSH Workflow with Sleep",
"description":"SSH Workflow with 60 seconds sleep in step 0",
"version":"1.0",
"startStep":"step0",
"variables": [
{"name":"vnfId", "type": "string"}
],
"input": [
{"name": "USER", "description": "Username", "type": "string"},
{"name": "PWD", "description": "Password", "type": "password"},
{"name": "HOSTNAME", "description": "Hostname", "type": "string"},
{"name": "CMD", "description": "Command", "type": "string"}
],
"output": [
{"name":"output", "description": "Output Result", "type": "string"}
],
"steps":[
{
"stepId":"step0",
"workflow":"RUN_SSH_COMMAND_IN_GUEST",
"namespace": "nfv",
"type":"task",
"description": "Step with 60 sec Sleep",
"inBinding":[
{ "name": "initialDelay", "type": "number", "default": "60" },
{"name": "username", "type": "string", "exportName": "USER"},
{"name": "password", "type": "password", "exportName": "PWD"},
{"name": "port", "type": "number", "default": "22"},
{"name": "cmd", "type": "string", "exportName": "CMD"},
{"name": "encoding", "type": "string", "default": " "},
{"name": "hostNameOrIP", "type": "string", "exportName": "HOSTNAME"},
{"name": "passwordAuthentication", "type": "boolean", "default": "true"}
],
"outBinding": [
{"name": "result", "type": "string", "exportName": "output"}
],
"nextStep":"END"
}
]
}
Parameterized SSH Workflow
{
"id":"parameterized_ssh_workflow",
"name": "Parameterized SSH Workflow",
"description":"Parameterized SSH Workflow",
"version":"1.0",
"startStep":"step0",
"variables": [
{"name":"vnfId", "type": "string"}
],
"input": [
{"name": "USER", "description": "Username", "type": "string"},
{"name": "PWD", "description": "Password", "type": "password"},
{"name": "HOSTNAME", "description": "Hostname", "type": "string"},
{"name": "SCRIPT_ARGUMENT", "description": "Script Argument", "type": "string"}
],
"output": [
{"name":"output", "description": "Output Result", "type": "string"}
],
"steps":[
{
"stepId":"step0",
"workflow":"RUN_SSH_COMMAND_IN_GUEST",
"namespace": "nfv",
"type":"task",
"description": "Parameterized 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": "/opt/script1.sh {{SCRIPT_ARGUMENT}}"}
,{"name": "encoding", "type": "string", "default": " "}
,{"name": "hostNameOrIP", "type": "string", "exportName": "HOSTNAME"}
,{"name": "passwordAuthentication", "type": "boolean", "default": "true"}
],
"outBinding": [
{"name": "result", "type": "string", "exportName": "output"}
],
"nextStep":"END"
}
]
}