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

project:
  name: wskdeploy-samples
  namespace: /wskdeploy/samples/

  packages:
    ${package_name}suffix:
      name: ${package_name}suffix
      namespace: /wskdeploy/samples/test
      credential: 12345678ABCDEF
      inputs:
        param: value
    ${package_name_second}suffix:
      name: ${package_name_second}suffix
      namespace: /wskdeploy/samples/test
      credential: 12345678ABCDEF
      inputs:
        param: value
