---

# Copyright 2018-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 recipe for adding a sample R-CORD subscriber
#
# http POST $(minikube service xos-tosca --url)/run \
#  xos-username:admin@opencord.org xos-password:letmein \
#  @./openstack-instance-tosca.yaml

tosca_definitions_version: tosca_simple_yaml_1_0

imports:
  - custom_types/deployment.yaml
  - custom_types/flavor.yaml
  - custom_types/image.yaml
  - custom_types/node.yaml
  - custom_types/instance.yaml
  - custom_types/slice.yaml
  - custom_types/site.yaml

description: openstack extensions to deployment

topology_template:
  node_templates:

# Images and flavors
    Ubuntu-14.04:
      type: tosca.nodes.Image
      properties:
        name: "Ubuntu 14.04 64-bit"
        disk_format: QCOW2
        container_format: BARE
        path: https://github.com/opencord/platform-install/releases/download/vms/trusty-server-cloudimg-amd64-disk1.img.20170201

    m1.small:
      type: tosca.nodes.Flavor
      properties:
        name: m1.small
        must-exist: true

    MyDeployment:
      type: tosca.nodes.Deployment
      properties:
        name: mydeployment
        must-exist: true

    mysite:
      type: tosca.nodes.Site
      properties:
        name: mysite
        must-exist: true

    mysite_test:
      description: Test Slice
      type: tosca.nodes.Slice
      properties:
        name: mysite_test
      requirements:
        - site:
            node: mysite
            relationship: tosca.relationships.BelongsToOne

    compute1:
      type: tosca.nodes.Node
      properties:
        name: insert-node-hostname-here
        must-exist: true

    test_instance:
      description: Test Instance
      type: tosca.nodes.Instance
      properties:
        name: test_instance
      requirements:
        - image:
            node: Ubuntu-14.04
            relationship: tosca.relationships.BelongsToOne
        - deployment:
            node: MyDeployment
            relationship: tosca.relationships.BelongsToOne
        - flavor:
            node: m1.small
            relationship: tosca.relationships.BelongsToOne
        - slice:
            node: mysite_test
            relationship: tosca.relationships.BelongsToOne
        - node:
            node: compute1
            relationship: tosca.relationships.BelongsToOne
