---
{#
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

imports:
   - custom_types/vnaas.yaml

description: vnaasglobal services, generated by ecord profile

topology_template:
  node_templates:

    enterpriselocation#onlab:
      type: tosca.nodes.EnterpriseLocation
      requirements:
      properties:
        name: onlab
        cord_site_ip: 127.0.0.1
        cord_site_port: 8181
        cord_site_username: onos
        cord_site_password: rocks
        cord_site_type: onos


    enterpriselocation#onlab1:
      type: tosca.nodes.EnterpriseLocation
      requirements:
      properties:
        name: onlab1
        cord_site_ip: 127.0.0.2
        cord_site_port: 8181
        cord_site_username: onos
        cord_site_password: rocks
        cord_site_type: onos

    onosmodel#onlab:
      type: tosca.nodes.OnosModel
      requirements:
      properties:
        name: onlabT
        onos_ip: onos-cord.{{ site_suffix }}
        onos_port: 8182
        onos_username: onos
        onos_password: rocks
        onos_type: global

    bandwidthprofile#bronze:
      type: tosca.nodes.BandwidthProfile
      requirements:
      properties:
        cbs: 1000
        ebs: 1200
        cir: 1000
        eir: 1200
        name: bronze

    bandwidthprofile#silver:
      type: tosca.nodes.BandwidthProfile
      requirements:
      properties:
        cbs: 1500
        ebs: 2000
        cir: 10000
        eir: 2000
        name: silver

    bandwidthprofile#gold:
      type: tosca.nodes.BandwidthProfile
      requirements:
      properties:
        cbs: 2000
        ebs: 2700
        cir: 20000
        eir: 5000
        name: gold

    bandwidthprofile#platinum:
      type: tosca.nodes.BandwidthProfile
      requirements:
      properties:
        cbs: 2500
        ebs: 3200
        cir: 100000
        eir: 10000
        name: platinum

    usernetworkinterface#UserNetworkInterface1:
      type: tosca.nodes.UserNetworkInterface
      requirements:
      properties:
        tenant: onlab
        name: uni1
        latlng: [37.973535, -122.531087]
        cpe_id: netconf:192.168.56.10:830/0

    usernetworkinterface#UserNetworkInterface2:
      type: tosca.nodes.UserNetworkInterface
      requirements:
      properties:
        tenant: onlab
        name: uni2
        latlng: [37.773972, -122.431297]
        cpe_id: netconf:192.168.56.20:830/0

    usernetworkinterface#UserNetworkInterface3:
      type: tosca.nodes.UserNetworkInterface
      requirements:
      properties:
        tenant: onlab
        name: uni3
        latlng: [37.871637, -122.259750]
        cpe_id: netconf:192.168.56.30:830/0

#     eline#testeline:
#       type: tosca.nodes.ELine
#       requirements:
#       properties:
#         name: testeline
#         connect_point_1_id: netconf:192.168.56.10:830/0
#         connect_point_2_id: netconf:192.168.56.20:830/0
#         vlanids: 100
#         cord_site_name: onlabT
#         bwp: gold
