#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements; and to You under the Apache License, Version 2.0.
#

packages:
  ValidateDeploymentReader:
     actions:
        # helloworld action in NodeJS
        helloNodejs:
          function: actions/hello.js
          runtime: nodejs:6
          inputs:
            name:
              type: string
              description: name of a person
            place:
              type: string
              description: location of a person
          outputs:
            payload:
              type: string
              description: a simple greeting message, Hello World!
