#
# 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.
#

---
packages:
  actions:
    -
      function: src/hello/hello.js
      inputs:
        -
          description: "input person name"
          name: "person name"
          type: string
        -
          description: "input person address"
          name: personAddress
          type: string
      name: hello
      outputs:
        -
          description: "output greeting string"
          name: "greeting string"
          type: string
        -
          description: "output notice string"
          name: notice
          type: string
      runtime: nodejs@10
      version: 1.0
  license: Apache-2.0
  packagename: helloworld
  version: 1.0
