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

# Automated multi-tcont tests input configuration for Flex POD 1

---

multi_tcont_tests:
  tcont1:
    -
      onu: 'ALPHe3d1cea3'
      service_type: 'voip'
      us_bw_profile: 'TCONT_TYPE1_200Mbps_Fixed_ForVOIP'
  tcont1tcont4:
    -
      onu: 'ALPHe3d1cea3'
      service_type: 'hsia'
      us_bw_profile: 'TCONT_TYPE4_1Gbps_Peak_User1_HSI_Upstream'
    -
      onu: 'ALPHe3d1ceb7'
      service_type: 'hsia'
      us_bw_profile: 'TCONT_TYPE4_1Gbps_Peak_User1_HSI_Upstream'
  tcont2tcont4:
    -
      onu: 'ALPHe3d1cea3'
      service_type: 'vod'
      us_bw_profile: 'TCONT_TYPE2_500Mbps_Assured_ForVoD'
    -
      onu: 'ALPHe3d1cea3'
      service_type: 'hsia'
      us_bw_profile: 'TCONT_TYPE4_1Gbps_Peak_User1_HSI_Upstream'
  tcont2tcont3:
    -
      onu: 'ALPHe3d1cea3'
      service_type: 'vod'
      us_bw_profile: 'TCONT_TYPE2_500Mbps_Assured_ForVoD'
    -
      onu: 'ALPHe3d1ceb7'
      service_type: 'vod'
      us_bw_profile: 'TCONT_TYPE3_700Mbps_Peak_500Mbps_Assured_ForVoD'
  tcont4tcont5:
    -
      onu: 'ALPHe3d1cea3'
      service_type: 'hsia'
      us_bw_profile: 'TCONT_TYPE4_300Mbps_Peak_User1_HSI_Upstream'
    -
      onu: 'ALPHe3d1ceb7'
      service_type: 'hsia'
# yamllint disable
      us_bw_profile: 'TCONT_TYPE5_1Gbps_Peak_500Mbps_Assured_200Mbps_Fixed_User1_HSI_Upstream'
# yamllint enable

# Fixed Bandwidth Profile ONUs required to fill OLT PON Bandwidth
onus_fill_pon_bw:
  -
    serial: 'ALPHe3d1cfa7'
    olt: 'EC1838000853'
    service_type: 'voip'
    us_bw_profile: 'TCONT_TYPE1_Fixed8.7Gbps'
