blob: 7e8ce4f02c73774a70b80e68099f93921dc7c10b [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with this work for additional
# information regarding copyright ownership. The ASF licenses this file to you
# under the Apache License, Version 2.0 (the # "License"); you may not use this
# file except in compliance with the License. You may obtain a copy of the License
# at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
# CONDITIONS OF ANY KIND, either express or implied. See the License for the
# specific language governing permissions and limitations under the License.
#
project:
name: DemoConductor
packages:
conductorPackage1:
actions:
triple:
function: actions/triple.js
increment:
function: actions/increment.js
runtime: nodejs:6
tripleAndIncrement:
function: actions/tripleAndIncrement.js
conductor: true
default:
actions:
triple:
code: |
function main({ value }) { return { value: value * 3 } }
runtime: nodejs:6
increment:
code: |
function main({ value }) { return { value: value + 1 } }
runtime: nodejs:6
tripleAndIncrement:
code: |
function main(params) {
let step = params.$step || 0
delete params.$step
switch (step) {
case 0: return { action: 'triple', params, state: { $step: 1 } }
case 1: return { action: 'increment', params, state: { $step: 2 } }
case 2: return { params }
}
}
runtime: nodejs:6
conductor: true