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

# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @subscriber.yaml http://192.168.99.100:30007/run

tosca_definitions_version: tosca_simple_yaml_1_0
imports:
  - custom_types/cordsubscriberroot.yaml
  - custom_types/ponport.yaml
  - custom_types/voltservice.yaml
  - custom_types/oltdevice.yaml
description: Create a test subscriber
topology_template:
  node_templates:
    service#volt:
      type: tosca.nodes.VOLTService
      properties:
        name: volt
        must-exist: true

    # Setup an OLT Device
    olt_device:
      type: tosca.nodes.OLTDevice
      properties:
        name: volt-1
        device_type: simulated_olt
        host: 172.17.0.1
        port: 50060
        switch_datapath_id: of:0000000ce2314000
        switch_port: "5"
        outer_tpid: "0x8100"
      requirements:
        - volt_service:
            node: service#volt
            relationship: tosca.relationships.BelongsToOne

    pon_port:
      type: tosca.nodes.PONPort
      properties:
        name: volt-port-1
        s_tag: 222
      requirements:
        - olt_device:
            node: olt_device
            relationship: tosca.relationships.BelongsToOne

    # A subscriber
    my_house:
      type: tosca.nodes.CordSubscriberRoot
      properties:
        name: My House
        service_specific_id: "123"
        firewall_enable: false
        cdn_enable: false
        url_filter_enable: false
        url_filter_level: R
        c_tag: 111
        olt_device: volt-1
        olt_port: volt-port-1
        uni_port_id: 101
        mac_address: 00:AA:00:00:00:01
        ip_address: 10.8.2.1
