
{#
Copyright 2017-present Open Networking Foundation

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


tosca_definitions_version: tosca_simple_yaml_1_0

imports:
   - custom_types/deployment.yaml
   - custom_types/flavor.yaml

description: deployment config, generated by platform-install

topology_template:
  node_templates:

# Flavors

{% for flavor in deployment_flavors %}
    {{ flavor }}:
      type: tosca.nodes.Flavor
      properties:
        name: {{ flavor }}
        must-exist: true
{% endfor %}

# Deployment
    {{ deployment_type }}:
      type: tosca.nodes.Deployment
      properties:
        name: {{ deployment_type }}
# NOTE look that this are outdated and not used anymore
#     requirements:
# {% for flavor in deployment_flavors %}
#         - {{ flavor }}:
#             node: {{ flavor }}
#             relationship: tosca.relationships.SupportsFlavor

# {% endfor %}
