
{#
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: >
    * Some sample data to populate the demo frontend

imports:
   - custom_types/xos.yaml

topology_template:
  node_templates:
    trusty-server-multi-nic:
      type: tosca.nodes.Image
      properties:
         disk_format: QCOW2
         container_format: BARE

    {{ deployment_type }}:
      type: tosca.nodes.Deployment
      properties:
          flavors: m1.large, m1.medium, m1.small
      requirements:
          - image:
              node: trusty-server-multi-nic
              relationship: tosca.relationships.SupportsImage

    CloudLab:
      type: tosca.nodes.Controller
      requirements:
          - deployment:
              node: {{ deployment_type }}
              relationship: tosca.relationships.ControllerDeployment
      properties:
          backend_type: OpenStack
          version: Juno
          auth_url: http://sample/v2
          admin_user: admin
          admin_password: adminpassword
          admin_tenant: admin
          domain: Default

    {{ site_name }}:
      type: tosca.nodes.Site
      properties:
          display_name: {{ site_name }}
          site_url: http://opencloud.us/
      requirements:
          - deployment:
               node: {{ deployment_type }}
               relationship: tosca.relationships.MemberOfDeployment
          - controller:
               node: CloudLab
               relationship: tosca.relationships.UsesController

    Public shared IPv4:
      type: tosca.nodes.NetworkTemplate
      properties:
          visibility: private
          translation: NAT

    {{ xos_admin_user }}:
      type: tosca.nodes.User
      properties:
        password: {{ xos_admin_pass }}
        firstname: {{ xos_admin_first }}
        lastname: {{ xos_admin_last }}
        is_admin: True
        is_active: True
      requirements:
        - site:
            node: {{ site_name }}
            relationship: tosca.relationships.MemberOfSite

    node1.opencloud.us:
      type: tosca.nodes.Node
      requirements:
        - site:
            node: {{ site_name }}
            relationship: tosca.relationships.MemberOfSite
        - deployment:
            node: {{ deployment_type }}
            relationship: tosca.relationships.MemberOfDeployment

    node2.opencloud.us:
      type: tosca.nodes.Node
      requirements:
        - site:
            node: {{ site_name }}
            relationship: tosca.relationships.MemberOfSite
        - deployment:
            node: {{ deployment_type }}
            relationship: tosca.relationships.MemberOfDeployment

