tosca_definitions_version: tosca_simple_yaml_1_0

description: >
    * Adds OpenCloud Sites, Deployments, and Controllers.

imports:
   - custom_types/xos.yaml

topology_template:
  node_templates:

    MyDeployment:
      type: tosca.nodes.Deployment
      properties:
          flavors: m1.xlarge, m1.large, m1.medium, m1.small

    m1.xlarge:
      type: tosca.nodes.Flavor


    MyOpenStack:
      type: tosca.nodes.Controller
      requirements:
          - deployment:
              node: MyDeployment
              relationship: tosca.relationships.ControllerDeployment
      properties:
          backend_type: OpenStack
          version: Kilo
          auth_url: { get_script_env: [ SELF, adminrc, OS_AUTH_URL, LOCAL_FILE] }
          admin_user: { get_script_env: [ SELF, adminrc, OS_USERNAME, LOCAL_FILE] }
          admin_password: { get_script_env: [ SELF, adminrc, OS_PASSWORD, LOCAL_FILE] }
          admin_tenant: { get_script_env: [ SELF, adminrc, OS_TENANT_NAME, LOCAL_FILE] }
          domain: Default
      artifacts:
          adminrc: /root/setup/admin-openrc.sh

    mysite:
      type: tosca.nodes.Site
      properties:
          display_name: MySite
          site_url: http://xosproject.org/
      requirements:
          - deployment:
               node: MyDeployment
               relationship: tosca.relationships.SiteDeployment
               requirements:
                   - controller:
                       node: MyOpenStack
                       relationship: tosca.relationships.UsesController
    Topology:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosMcordTopology

    # This user already exists in XOS with this password
    # It's an example of how to create new users
    padmin@vicci.org:
      type: tosca.nodes.User
      properties:
          is_admin: true
          is_active: true
          firstname: XOS
          lastname: admin
          password: letmein
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite
          - mcord_dashboard:
              node: Topology
              relationship: tosca.relationships.UsesDashboard

    johndoe@stanford.us:
      type: tosca.nodes.User
      properties:
          is_active: true
          password: letmein
          firstname: john
          lastname: doe
      requirements:
          - site:
              node: mysite
              relationship: tosca.relationships.MemberOfSite
    
    # A subscriber
    Stanford:
       type: tosca.nodes.CORDSubscriber
       properties:
           service_specific_id: 123
           firewall_enable: false
           cdn_enable: false
           url_filter_enable: false
           url_filter_level: R
       requirements:
          - house_admin:
              node: johndoe@stanford.us
              relationship: tosca.relationships.AdminPrivilege

    Barbera Lapinski:
       type: tosca.nodes.CORDUser
       properties:
           mac: 01:02:03:04:05:06
           level: PG_13
       requirements:
           - household:
               node: Stanford
               relationship: tosca.relationships.SubscriberDevice

    Norbert Shumway:
       type: tosca.nodes.CORDUser
       properties:
           mac: 90:E2:BA:82:F9:75
           level: PG_13
       requirements:
           - household:
               node: Stanford
               relationship: tosca.relationships.SubscriberDevice

    Fay Muldoon:
       type: tosca.nodes.CORDUser
       properties:
           mac: 68:5B:35:9D:91:D5
           level: PG_13
       requirements:
           - household:
               node: Stanford
               relationship: tosca.relationships.SubscriberDevice

    Janene Earnest:
       type: tosca.nodes.CORDUser
       properties:
           mac: 34:36:3B:C9:B6:A6
           level: PG_13
       requirements:
           - household:
               node: Stanford
               relationship: tosca.relationships.SubscriberDevice

    RRU:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=vBBU
          icon_url: /static/mCordServices/service_rru.png
          kind: RAN

    eSON:
      type: tosca.nodes.Service
      properties:
          icon_url: /static/mCordServices/service_server.png
          view_url: http://www.google.com
          kind: RAN

    # EPC
    vMME:
      type: tosca.nodes.Service
      properties:
          icon_url: /static/mCordServices/service_server.png
          view_url: /mcord/?service=vMME
          kind: vEPC

    vSGW:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=vSGW
          icon_url: /static/mCordServices/service_server.png
          kind: vEPC


    # EDGE
    Cache:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=Cache
          icon_url: /static/mCordServices/service_cache.png
          kind: EDGE

    Firewall:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=Firewall
          icon_url: /static/mCordServices/service_firewall.png
          kind: EDGE

    Video Optimization:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=Video%20Optimization
          icon_url: /static/mCordServices/service_video.png
          kind: EDGE

    RRU:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=vBBU
          icon_url: /static/mCordServices/service_rru.png
          kind: RAN
    eSON:
      type: tosca.nodes.Service
      properties:
          icon_url: /static/mCordServices/service_server.png
          view_url: http://www.google.com
          kind: RAN

    # EPC
    vMME:
      type: tosca.nodes.Service
      properties:
          icon_url: /static/mCordServices/service_server.png
          view_url: /mcord/?service=vMME
          kind: vEPC

    vSGW:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=vSGW
          icon_url: /static/mCordServices/service_server.png
          kind: vEPC

    vPGWC:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=vPGWC
          icon_url: /static/mCordServices/service_server.png
          kind: vEPC

    # EDGE
    Cache:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=Cache
          icon_url: /static/mCordServices/service_cache.png
          kind: EDGE

    Firewall:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=Firewall
          icon_url: /static/mCordServices/service_firewall.png
          kind: EDGE

    Video Optimization:
      type: tosca.nodes.Service
      properties:
          view_url: /mcord/?service=Video%20Optimization
          icon_url: /static/mCordServices/service_video.png
          kind: EDGE

