Packages

Domain specific language based on Google Cloud Workflows

Current section

Files

Jump to
workflow_dsl examples workflow10.json
Raw

examples/workflow10.json

[
{
"first_step": {
"call": "http.get",
"args": {
"url": "http://localhost:1234/callAFirstStep"
},
"result": "first_result"
}
},
{
"where_to_jump": {
"switch": [
{
"condition": "${first_result.body.SomeField < 10}",
"next": "small"
},
{
"condition": "${first_result.body.SomeField < 100}",
"next": "medium"
}
],
"next": "large"
}
},
{
"small": {
"call": "http.get",
"args": {
"url": "http://localhost:1234/SmallFunc"
},
"result": "renderedContent",
"next": "displayString"
}
},
{
"medium": {
"call": "http.get",
"args": {
"url": "http://localhost:1234/MediumFunc"
},
"result": "renderedContent",
"next": "displayString"
}
},
{
"large": {
"call": "http.get",
"args": {
"url": "http://localhost:1234/LargeFunc"
},
"result": "renderedContent",
"next": "displayString"
}
},
{
"displayString": {
"call": "sys.string",
"args": {
"input_string": "${renderedContent.body}",
"command": "grep",
"match": "dum",
"line_displayed_count": 2
},
"next": "putToSleep"
}
},
{
"putToSleep": {
"call": "sys.sleep",
"args": {
"time_in_secs": 5
},
"next": "writeFile"
}
},
{
"writeFile": {
"call": "file.write",
"args": {
"input_string": "${renderedContent.body}",
"output_path": "output/templates/write.out"
},
"next": "end"
}
}
]