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

description: Make a SimpleExampleServiceInstance

imports:
  - custom_types/simpleexampleservice.yaml
  - custom_types/simpleexampleserviceinstance.yaml

topology_template:
  node_templates:
    service#simpleexampleservice:
      type: tosca.nodes.SimpleExampleService
      properties:
        name: simpleexampleservice
        must-exist: true

    simpleexampleserviceinstance:
      type: tosca.nodes.SimpleExampleServiceInstance
      properties:
        name: "My Simple Example Service Instance"
        tenant_message: "world"
        tenant_secret: "p@ssw0rd"
      requirements:
        - owner:
            node: service#simpleexampleservice
            relationship: tosca.relationships.BelongsToOne
