---
# Copyright 2018-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/rcordsubscriber.yaml
{{- if .Values.bandwidthProfiles }}
  - custom_types/bandwidthprofile.yaml
{{- end }}

{{- $onucount := (.Values.numOnus|int) }}
description: Pre-provsion a subscriber

topology_template:
  node_templates:

{{- if .Values.bandwidthProfiles }}
    # Bronze bandwidthprofile for subscriber
    bronze_bp:
      type: tosca.nodes.BandwidthProfile
      properties:
         air: 99999
         cbs: 99999
         cir: 99999
         ebs: 99999
         eir: 99999
         name: Bronze
{{- end }}

    # Pre-provision the subscribers
{{- range $i, $junk := until (.Values.numOlts|int) }}
{{- range $j, $junk1 := until ($onucount) }}
    house_{{ $i }}-{{ $j }}:
      type: tosca.nodes.RCORDSubscriber
      properties:
        name: QQClient{{ $i }}-{{ $j }}
        status: pre-provisioned
        c_tag: {{ add 111 $j }}
        s_tag: {{ add 222 $i }}
  {{- if $.Values.bandwidthProfiles }}
        tech_profile_id: 64
  {{- end }}
  {{- if $.Values.legacyPonsim }}
        onu_device: PSMO12345678
  {{- else }}
        onu_device: PSMO{{ printf "%04d%04d" $i $j }}
  {{- end }}
  {{- if $.Values.bandwidthProfiles }}
      requirements:
        - upstream_bps:
            node: bronze_bp
            relationship: tosca.relationships.BelongsToOne
        - downstream_bps:
            node: bronze_bp
            relationship: tosca.relationships.BelongsToOne
  {{- end }}
{{- end }}
{{- end }}
