tosca_definitions_version: tosca_simple_yaml_1_0

description: Some basic fixtures

imports:
   - custom_types/xos.yaml

topology_template:
  node_templates:

    xos:
      type: tosca.nodes.XOS

# -----------------------------------------------------------------------------
# Network Parameter Types
# -----------------------------------------------------------------------------

    s_tag:
      type: tosca.nodes.NetworkParameterType

    c_tag:
      type: tosca.nodes.NetworkParameterType

    next_hop:
      type: tosca.nodes.NetworkParameterType

    device:
      type: tosca.nodes.NetworkParameterType

    bridge:
      type: tosca.nodes.NetworkParameterType

    neutron_port_name:
      type: tosca.nodes.NetworkParameterType

# ----------------------------------------------------------------------------
# Roles
# ----------------------------------------------------------------------------

    siterole#admin:
      type: tosca.nodes.SiteRole

    siterole#pi:
      type: tosca.nodes.SiteRole

    siterole#tech:
      type: tosca.nodes.SiteRole

    tenantrole#admin:
      type: tosca.nodes.TenantRole

    tenantrole#access:
      type: tosca.nodes.TenantRole

    deploymentrole#admin:
      type: tosca.nodes.DeploymentRole

    slicerole#admin:
      type: tosca.nodes.SliceRole

    slicerole#access:
      type: tosca.nodes.SliceRole

# -----------------------------------------------------------------------------
# Flavors
# -----------------------------------------------------------------------------

    m1.small:
      type: tosca.nodes.Flavor

    m1.medium:
      type: tosca.nodes.Flavor

    m1.large:
      type: tosca.nodes.Flavor

    m1.xlarge:
      type: tosca.nodes.Flavor

# -----------------------------------------------------------------------------
# Dashboard Views
# -----------------------------------------------------------------------------

# Temporary removed, waiting for a new Angular Base Implementation
#    xsh:
#      type: tosca.nodes.DashboardView
#      properties:
#          url: template:xsh

    Customize:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosDashboardManager
          custom_icon: true

    Diagnostic:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosDiagnostic
          custom_icon: true

    Truckroll:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosTruckroll
          custom_icon: true

    Monitoring:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosCeilometerDashboard

    Subscribers:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosSubscribers

    Tenant:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosTenant

    Developer:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosDeveloper

    Services Grid:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosServiceGrid

# -----------------------------------------------------------------------------
# Network Templates
# -----------------------------------------------------------------------------

    Private:
      type: tosca.nodes.NetworkTemplate
      properties:
          visibility: private
          translation: none

    Public shared IPv4:
      type: tosca.nodes.NetworkTemplate
      properties:
          visibility: private
          translation: NAT
          shared_network_name: nat-net

    Public dedicated IPv4:
      type: tosca.nodes.NetworkTemplate
      properties:
          visibility: public
          translation: none
          shared_network_name: ext-net

