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

