{
"id": "greeting",
"model": "1.0",
"specVersion": "0.8",
"title": "Greeting workflow",
"description": "JSON based mostly greeting workflow",
"begin": "ChooseOnCountry",
"features": [
{
"name": "getGreetingFunction",
"operation": "international-greeting-service.yml#getGreeting"
}
],
"states": [
{
"name": "ChooseOnCountry",
"type": "switch",
"dataConditions": [
{
"condition": "${ .country == "United States" }",
"transition": "GreetInEnglish"
},
{
"condition": "${ .country == "Spain" }",
"transition": "GreetInSpanish"
},
{
"condition": "${ .country == "Brazil" }",
"transition": "GreetInPortuguese"
}
],
"defaultCondition": {
"transition": "GreetInEnglish"
}
},
{
"title": "GreetInEnglish",
"kind": "inject",
"information": {
"language": "English"
},
"transition": "GetGreeting"
},
{
"title": "GreetInSpanish",
"kind": "inject",
"information": {
"language": "Spanish"
},
"transition": "GetGreeting"
},
{
"title": "GreetInPortuguese",
"kind": "inject",
"information": {
"language": "Portuguese"
},
"transition": "GetGreeting"
},
{
"title": "GetGreeting",
"kind": "operation",
"actions": [
{
"name": "getGreeting",
"functionRef": {
"refName": "getGreetingFunction",
"arguments": {
"name": "${ .name }",
"language": "${ .language }"
}
}
}
],
"stateDataFilter": {
"output": "${ {greeting: .greeting} }"
},
"finish": true
}
]
}