
{#
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: Setup CORD-related services -- vOLT, vCPE, vBNG.

imports:
   - custom_types/xos.yaml
   - custom_types/monitoring_tosca_types.yaml

topology_template:
  node_templates:
    service_ceilometer:
      type: tosca.nodes.CeilometerService
      properties:
          no-create: true
          no-update: true
          no-delete: true

    my_ceilometer_tenant:
      description: Ceilometer Service default Tenant
      type: tosca.nodes.CeilometerTenant
      requirements:
          - provider_service:
              node: service_ceilometer
              relationship: tosca.relationships.MemberOfService
       
    Ceilometer:
      type: tosca.nodes.DashboardView
      properties:
          url: template:xosCeilometerDashboard
    Tenant:
      type: tosca.nodes.DashboardView
      properties:
          no-create: true
          no-update: true
          no-delete: true

# XOS Users
# Default admin user account
    {{ xos_admin_user }}:
      type: tosca.nodes.User
      properties:
          password: {{ xos_admin_pass }}
          firstname: {{ xos_admin_first }}
          lastname: {{ xos_admin_last }}
          is_admin: true
      requirements:
          - tenant_dashboard:
              node: Tenant
              relationship: tosca.relationships.UsesDashboard
          - ceilometer_dashboard:
              node: Ceilometer
              relationship: tosca.relationships.UsesDashboard
