---

# 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/xos.yaml
   - custom_types/vnaas.yaml

description: vnaasglobal services, generated by platform-install

topology_template:
  node_templates:

    onosmodel#onf:
      type: tosca.nodes.OnosModel
      requirements:
      properties:
        name: onfGlobalONOS
        onos_ip: onos-cord
        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: 1000000
        eir: 1200000
        name: bronze

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

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

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

    usernetworkinterface#UserNetworkInterface1:
      type: tosca.nodes.UserNetworkInterface
      requirements:
      properties:
        tenant: onf
        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: onf
        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: onf
        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:10.6.0.160:830/0
    #     connect_point_2_id: netconf:10.6.0.161:830/0
    #     vlanids: 100
    #     cord_site_name: onfGlobalONOS
    #     bwp: gold