junos-nfx-conf-chassis

Junos chassis configuration module

  • Version: 2019-01-01

    junos-nfx-conf-chassis@2019-01-01


    
      module junos-nfx-conf-chassis {
    
        yang-version 1;
    
        namespace
          "http://yang.juniper.net/junos-nfx/conf/chassis";
    
        prefix jc-chassis;
    
        import junos-common-ddl-extensions {
          prefix junos;
          revision-date "2019-01-01";
        }
        import junos-common-types {
          prefix jt;
          revision-date "2019-01-01";
        }
        import junos-nfx-conf-root {
          prefix jc;
          revision-date "2019-01-01";
        }
    
        organization "Juniper Networks, Inc.";
    
        contact "yang-support@juniper.net";
    
        description
          "Junos chassis configuration module";
    
        revision "2019-01-01" {
          description "Junos: 21.3R1.9";
        }
    
    
        augment /jc:configuration {
          uses chassis-group;
        }
    
        augment /jc:configuration/jc:groups {
          uses chassis-group;
        }
    
        grouping chassis-group {
          container chassis {
            description "Chassis configuration";
            uses chassis_type;
          }  // container chassis
        }  // grouping chassis-group
    
        grouping chassis_type {
          uses apply-advanced;
    
          container copy-tos-to-outer {
            description
              "Copy TOS from inner to outer header";
            uses apply-advanced;
    
            container service-type {
              description
                "Service type for which the TOS copy is needed";
              uses apply-advanced;
    
              leaf gre {
                type empty;
                description
                  "Copy TOS for GRE Tunnel service";
              }
    
              leaf mt {
                type empty;
                description
                  "Copy TOS for MT Tunnel service";
              }
            }  // container service-type
          }  // container copy-tos-to-outer
    
          container nssu {
            presence "enable nssu";
            description
              "Nonstop Software Upgrade settings";
            uses apply-advanced;
    
            list upgrade-group {
              key "name";
              ordered-by user;
              description
                "Nonstop Software Upgrade group";
              leaf name {
                type string {
                  length "1 .. 254";
                }
              }
    
              uses apply-advanced;
    
              leaf-list fpcs {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                max-elements 16;
                description
                  "FPCs associated with update-group";
              }
    
              list member {
                key "name";
                description
                  "Member of virtual chassis configuration";
                uses upgrade-group-fpcs;
              }  // list member
            }  // list upgrade-group
    
            leaf rcp-count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 8";
                }
              }
              description "Parallel rcp count";
            }
    
            leaf lc-reboot-delay {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "0 .. 600";
                }
              }
              description
                "Delay between linecard reboot during NSSU";
            }
          }  // container nssu
    
          leaf no-power-budget {
            type empty;
            description
              "Disable Chassis Power Budget";
          }
    
          container psu {
            description
              "Power Supply Unit redundancy configuration";
            uses apply-advanced;
    
            container redundancy {
              description
                "PSU Redundancy settings";
              uses apply-advanced;
    
              leaf n-plus-n {
                type empty;
                description
                  "PSU redundancy: N+N configuration";
              }
            }  // container redundancy
          }  // container psu
    
          leaf fpc-resync {
            type empty;
            description
              "Send and receive Nchip cells for newly onlined FPC";
          }
    
          leaf craft-lockout {
            type empty;
            description
              "Disable craft interface input";
          }
    
          container config-button {
            description
              "Config button behavior settings";
            leaf no-rescue {
              type empty;
              description
                "Don't reset to rescue configuration";
            }
    
            leaf no-clear {
              type empty;
              description
                "Don't reset to factory-default configuration";
            }
          }  // container config-button
    
          leaf routing-engine-power-off-button-disable {
            type empty;
            description
              "Disable RE power off button";
          }
    
          choice source-route-choice {
            leaf source-route {
              type empty;
              status deprecated;
              description
                "Enable IP source-route processing";
            }
            leaf no-source-route {
              type empty;
              status deprecated;
              description
                "Don't enable IP source-route processing";
            }
          }  // choice source-route-choice
    
          choice packet-scheduling-choice {
            leaf packet-scheduling {
              type empty;
              description
                "Enable DX2.0 packet scheduling";
            }
            leaf no-packet-scheduling {
              type empty;
              description
                "Don't enable DX2.0 packet scheduling";
            }
          }  // choice packet-scheduling-choice
    
          leaf route-memory-enhanced {
            type empty;
            status deprecated;
            description
              "Enhance memory allocation for routes";
          }
    
          leaf policer-drop-probability-low {
            type empty;
            description
              "Set policer probabilistic drop probability to Minimum";
          }
    
          leaf policer-limit {
            type empty;
            description
              "Limit the policer tick unit to 32 bytes";
          }
    
          leaf enhanced-policer {
            type empty;
            description
              "Enhanced Policer Counters";
          }
    
          leaf effective-shaping-rate {
            type empty;
            description
              "Report effective shaping rate";
          }
    
          container memory-enhanced {
            presence "enable memory-enhanced";
            description
              "Enhance memory allocation";
            uses apply-advanced;
    
            leaf route {
              type empty;
              description
                "Enhance memory allocation for routes";
            }
    
            leaf filter {
              type empty;
              description
                "Enhance memory allocation for filter";
            }
    
            leaf vpn-label {
              type empty;
              description
                "Enhance memory allocation for L3 VPN label";
            }
          }  // container memory-enhanced
    
          leaf vrf-mtu-check {
            type empty;
            description
              "Enable Internet Processor II-based MTU check";
          }
    
          container icmp {
            description "ICMP protocol";
            uses apply-advanced;
    
            leaf rate-limit {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000";
                }
              }
              default "1";
              description
                "Icmp rate-limit for non ttl-expired pkts in range";
            }
    
            leaf per-iff-rate-limit {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "50 .. 500";
                }
              }
              default "50";
              description
                "Configure icmp per iff rate limit value in the range 50-500";
            }
          }  // container icmp
    
          container routing-performance {
            description
              "Alter routing performance";
            uses apply-advanced;
          }  // container routing-performance
    
          container icmp6 {
            description
              "ICMP version 6 protocol";
            uses apply-advanced;
    
            leaf rate-limit {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000";
                }
              }
              default "1";
              description
                "Icmp rate-limit for non ttl-expired pkts in range";
            }
    
            leaf per-iff-rate-limit {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "50 .. 500";
                }
              }
              default "50";
              description
                "Configure icmp6 per iff rate limit value in the range 50-500";
            }
          }  // container icmp6
    
          leaf maximum-ecmp {
            type enumeration {
              enum "16" {
                value 0;
                description
                  "Maximum 16 ECMP routes";
              }
              enum "32" {
                value 1;
                description
                  "Maximum 32 ECMP routes";
              }
              enum "64" {
                value 2;
                description
                  "Maximum 64 ECMP routes";
              }
              enum "96" {
                value 3;
                description
                  "Maximum 96 ECMP routes";
              }
              enum "128" {
                value 4;
                description
                  "Maximum 128 ECMP routes";
              }
              enum "160" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 5;
                description
                  "Maximum 160 ECMP routes";
              }
              enum "192" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 6;
                description
                  "Maximum 192 ECMP routes";
              }
              enum "224" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 7;
                description
                  "Maximum 224 ECMP routes";
              }
              enum "256" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 8;
                description
                  "Maximum 256 ECMP routes";
              }
              enum "288" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 9;
                description
                  "Maximum 288 ECMP routes";
              }
              enum "320" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 10;
                description
                  "Maximum 320 ECMP routes";
              }
              enum "352" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 11;
                description
                  "Maximum 352 ECMP routes";
              }
              enum "384" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 12;
                description
                  "Maximum 384 ECMP routes";
              }
              enum "416" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 13;
                description
                  "Maximum 416 ECMP routes";
              }
              enum "448" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 14;
                description
                  "Maximum 448 ECMP routes";
              }
              enum "480" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 15;
                description
                  "Maximum 480 ECMP routes";
              }
              enum "512" {
                junos:must "(!("system processes routing force-32-bit"))";
                junos:must-message "32-bit rpd doesn't support ecmp greater than 128";
                value 16;
                description
                  "Maximum 512 ECMP routes";
              }
            }
            description
              "Maximum ECMP limit for nexthops";
          }
    
          container ecmp-alb {
            junos:must "("chassis network-services enhanced-ip")";
            junos:must-message "ecmp-alb requires enhanced-ip mode";
            presence "enable ecmp-alb";
            description
              "Enable adaptive load balancing for ECMP nexthops";
            uses apply-advanced;
    
            leaf tolerance {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 100";
                }
              }
              units "percent";
              default "20";
              description
                "Adaptive tolerance in percentage (default 20%)";
            }
          }  // container ecmp-alb
    
          container redundancy {
            description "Redundancy settings";
            uses chassis_redundancy_type;
          }  // container redundancy
    
          container routing-engine {
            description
              "Routing Engine settings";
            uses chassis_routing_engine_type;
          }  // container routing-engine
    
          container aggregated-devices {
            description
              "Aggregated devices configuration";
            uses chassis_agg_dev_type;
          }  // container aggregated-devices
    
          list disk-partition {
            key "name";
            ordered-by user;
            description
              "Chassis disk monitor configuration";
            leaf name {
              type enumeration {
                enum "/var" {
                  value 0;
                  description
                    "Monitor /var partition";
                }
                enum "/config" {
                  value 1;
                  description
                    "Monitor /config partition";
                }
              }
              description
                "Choose disk partition to monitor";
            }
    
            uses apply-advanced;
    
            list level {
              key "name";
              ordered-by user;
              description "Threshold level";
              leaf name {
                type enumeration {
                  enum "high" {
                    value 0;
                    description
                      "Set high level of threshold";
                  }
                  enum "full" {
                    value 1;
                    description
                      "Set full level of threshold";
                  }
                }
              }
    
              uses apply-advanced;
    
              container free-space {
                description
                  "Enter threshold value & choose the metric";
                leaf thres-free {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 100";
                    }
                  }
                  description
                    "Enter free space threshold value";
                }
    
                choice thres-metric {
                  leaf percent {
                    type empty;
                    description
                      "Free space threshold in %";
                  }
                  leaf mb {
                    type empty;
                    description
                      "Free space threshold in MB";
                  }
                }  // choice thres-metric
              }  // container free-space
            }  // list level
          }  // list disk-partition
    
          container container-devices {
            description
              "Container devices configuration";
            uses chassisd_agg_container_type;
          }  // container container-devices
    
          container pseudowire-service {
            presence "enable pseudowire-service";
            description
              "Pseudowire L3 termination device configuration";
            uses chassis-pw-type;
          }  // container pseudowire-service
    
          container provider-instance-devices {
            description
              "Provider instance devices configuration";
            uses chassisd_provider_instance_type;
          }  // container provider-instance-devices
    
          container redundancy-group {
            description
              "Redundancy group configuration";
            uses chassisd-redundancy-group-type;
          }  // container redundancy-group
    
          container fabric {
            description "Switch fabric settings";
            uses chassis_fabric_type;
          }  // container fabric
    
          list fpc {
            junos:must "((!(any ". <*> vpn-localization") || !("virtual-chassis")))";
            junos:must-message "vpn-localization cannot be configured on virtual-chassis";
            key "name";
            description
              "Flexible PIC Concentrator parameters";
            uses chassis_fpc_type;
          }  // list fpc
    
          leaf disable-fm {
            type empty;
            description "Disable Fabric Manager";
          }
    
          leaf disable-power-management {
            type empty;
            description
              "Disable Power Management in this chassis";
          }
    
          leaf monitor-pem-inputs {
            type empty;
            description
              "Enable low current usage monitoring";
          }
    
          leaf dedicated-ukern-cpu {
            junos:must "(!("chassis realtime-ukern-thread"))";
            junos:must-message "dedicated-ukern-cpu and  realtime-ukern-thread are mutually exclusive";
            type empty;
            description
              "Run Microkernel on a dedicated CPU core";
          }
    
          leaf realtime-ukern-thread {
            junos:must "(!("chassis dedicated-ukern-cpu"))";
            junos:must-message "dedicated-ukern-cpu and  realtime-ukern-thread are mutually exclusive";
            type empty;
            description
              "Run Microkernel on a realtime CPU thread";
          }
    
          container fpc-feb-connectivity {
            description
              "Connectivity between Flexible PIC Concentrators and Forwarding Engine Boards";
            uses apply-advanced;
    
            list fpc {
              key "name";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "FPC slot number";
              }
    
              uses apply-advanced;
    
              container feb {
                description "FEB slot number";
                choice feb-slot-choice {
                  leaf none {
                    type empty;
                    description
                      "FPC not connected to any FEB";
                  }
                  leaf feb-slot {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32;
                    }
                    description
                      "FEB slot number";
                  }
                }  // choice feb-slot-choice
              }  // container feb
            }  // list fpc
          }  // container fpc-feb-connectivity
    
          container ioc-npc-connectivity {
            description
              "Connectivity between IOC and NPC";
            uses apply-advanced;
    
            list ioc {
              key "name";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "IOC-FPC slot number";
              }
    
              uses apply-advanced;
    
              container npc {
                description
                  "NPC-FPC slot number";
                choice npc-slot-choice {
                  leaf none {
                    type empty;
                    description
                      "IOC not connected to any NPC";
                  }
                  leaf npc-slot {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32;
                    }
                    description
                      "NPC-FPC slot number";
                  }
                }  // choice npc-slot-choice
              }  // container npc
            }  // list ioc
          }  // container ioc-npc-connectivity
    
          container pem {
            description
              "Power supply (PEM) parameters";
            uses chassis_pem_type;
          }  // container pem
    
          container sib {
            description
              "Switch Interface Board parameters";
            uses chassis_sib_type;
          }  // container sib
    
          list sfm {
            key "name";
            description
              "Switching and Forwarding Module parameters";
            uses chassis_sfm_type;
          }  // list sfm
    
          container feb {
            description
              "Forwarding Engine Board parameters";
            uses chassis_feb_type;
          }  // container feb
    
          container afeb {
            description
              "Forwarding Engine Board parameters";
            uses chassis_feb_type;
          }  // container afeb
    
          container tfeb {
            description
              "Taz Forwarding Engine Board parameters";
            uses chassis_feb_type;
          }  // container tfeb
    
          container alarm {
            description "Global alarm settings";
            uses chassis_alarm_type;
          }  // container alarm
    
          leaf slow-pfe-alarm {
            type empty;
            description
              "Enable slow (potential) PFE alarm";
          }
    
          leaf onbox-av-load-flavor {
            type enumeration {
              enum "heavy" {
                value 0;
                description
                  "Allocates additional resources for improved performance";
              }
            }
            description
              "Select onbox anti-virus traffic load flavor";
          }
    
          leaf fpc-ifl-ae-statistics {
            type empty;
            description
              "Enable fpc ifl ae child statistics";
          }
    
          leaf ppp-subscriber-services {
            type enumeration {
              enum "disable" {
                value 0;
                description
                  "Disable PPP subscriber services";
              }
              enum "enable" {
                value 1;
                description
                  "Enable PPP subscriber services";
              }
            }
            default "disable";
            description
              "Select PPP subscriber services";
          }
    
          leaf ambient-temperature {
            type enumeration {
              enum "55C" {
                value 0;
                description "55 degree celsius";
              }
              enum "40C" {
                value 1;
                description "40 degree celsius";
              }
              enum "25C" {
                value 2;
                description "25 degree celsius";
              }
              enum "32C" {
                value 3;
                description "32 degree celsius";
              }
            }
            description
              "Chassis ambient-temperature value in degree celsius";
          }
    
          container resource-watch {
            description
              "Chassis routing engine resource watch configuration";
            uses apply-advanced;
    
            leaf resource-watch-enable {
              type empty;
              description
                "Enable resource watch";
            }
    
            leaf cpu-statistics {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 604800";
                }
              }
              units "seconds";
              description
                "Set statistics collection, 0 disable";
            }
    
            leaf junos-statistics {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 604800";
                }
              }
              units "seconds";
              description
                "Set statistics collection, 0 disable";
            }
    
            leaf orange-zone-enable {
              type empty;
              description "Enable orange zone";
            }
    
            leaf orange-zone-threshold {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 99";
                }
              }
              description
                "Set orange zone value (CPU idle %), default 20";
            }
    
            leaf red-zone-enable {
              type empty;
              description "Enable red zone";
            }
    
            leaf red-zone-cpu-threshold {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 99";
                }
              }
              description
                "Set red zone value (CPU idle %), default 10";
            }
    
            leaf red-zone-jkl-threshold {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 99";
                }
              }
              description
                "Set red zone value (Junos load %), default 50";
            }
    
            leaf red-zone-snmp-enable {
              type empty;
              description "Enable red zone snmp";
            }
          }  // container resource-watch
    
          leaf network-services {
            type enumeration {
              enum "ip" {
                value 0;
                description
                  "IP network services";
              }
              enum "ethernet" {
                junos:must "((!(any "interfaces <*> unit <*> family inet accounting source-class-usage") && (!(any "interfaces <*> unit <*> family inet accounting destination-class-usage") && (!(any "interfaces <*> unit <*> family inet6 accounting source-class-usage") && (!(any "interfaces <*> unit <*> family inet6 accounting destination-class-usage") && (!(any "logical-systems <*> interfaces <*> unit <*> family inet accounting source-class-usage") && (!(any "logical-systems <*> interfaces <*> unit <*> family inet accounting destination-class-usage") && (!(any "logical-systems <*> interfaces <*> unit <*> family inet6 accounting source-class-usage") && !(any "logical-systems <*> interfaces <*> unit <*> family inet6 accounting destination-class-usage")))))))))";
                junos:must-message "Cannot configure 'accounting source-class-usage or destination-class-usage' under network-services ethernet";
                junos:must "((!("routing-options forwarding-table unicast-reverse-path") && (!(any "routing-instances <*> routing-options forwarding-table unicast-reverse-path") && (!(any "logical-systems <*> routing-options forwarding-table unicast-reverse-path") && !(any "logical-systems <*> routing-instances <*> routing-options forwarding-table unicast-reverse-path")))))";
                junos:must-message "Cannot configure 'unicast-reverse-path' under network-services ethernet";
                junos:must "((!(any "interfaces <*> unit <*> family inet rpf-check") && (!(any "interfaces <*> unit <*> family inet6 rpf-check") && (!(any "logical-systems <*> interfaces <*> unit <*> family inet rpf-check") && !(any "logical-systems <*> interfaces <*> unit <*> family inet6 rpf-check")))))";
                junos:must-message "Cannot configure 'rpf-check' under network-services ethernet";
                junos:must "((!(any "policy-options policy-statement <*> then source-class") && (!(any "policy-options policy-statement <*> term <*> then source-class") && (!(any "policy-options policy-statement <*> then destination-class") && (!(any "policy-options policy-statement <*> term <*> then destination-class") && (!(any "policy-options policy-statement <*> from route-filter <*> <*>  source-class") && (!(any "policy-options policy-statement <*> term <*> from route-filter <*> <*>  source-class") && (!(any "policy-options policy-statement <*> from route-filter <*> <*> destination-class") && (!(any "policy-options policy-statement <*> term <*> from route-filter <*> <*>  destination-class") && (!(any "logical-systems <*> policy-options policy-statement <*> then source-class") && (!(any "logical-systems <*> policy-options policy-statement <*> term <*> then source-class") && (!(any "logical-systems <*> policy-options policy-statement <*> then destination-class") && (!(any "logical-systems <*> policy-options policy-statement <*> term <*> then destination-class") && (!(any "logical-systems <*> policy-options policy-statement <*> from route-filter <*> <*>  source-class") && (!(any "logical-systems <*> policy-options policy-statement <*> term <*> from route-filter <*> <*>  source-class") && (!(any "logical-systems <*> policy-options policy-statement <*> from route-filter <*> <*> destination-class") && !(any "logical-systems <*> policy-options policy-statement <*> term <*> from route-filter <*> <*>  destination-class")))))))))))))))))";
                junos:must-message "Cannot configure 'destination-class|source-class' under network-services ethernet";
                junos:must "((!("protocols bgp family inet any") && (!("protocols bgp family inet flow") && (!("protocols bgp family inet multicast") && (!(any "protocols bgp group <*> family inet any") && (!(any "protocols bgp group <*> family inet flow") && (!(any "protocols bgp group <*> family inet multicast") && (!(any "protocols bgp group <*> neighbor <*> family inet any") && (!(any "protocols bgp group <*> neighbor <*> family inet flow") && (!(any "protocols bgp group <*> neighbor <*> family inet multicast") && (!("protocols bgp family inet-vpn any") && (!("protocols bgp family inet-vpn flow") && (!("protocols bgp family inet-vpn multicast") && (!(any "protocols bgp group <*> family inet-vpn any") && (!(any "protocols bgp group <*> family inet-vpn flow") && (!(any "protocols bgp group <*> family inet-vpn multicast") && (!(any "protocols bgp group <*> neighbor <*> family inet-vpn any") && (!(any "protocols bgp group <*> neighbor <*> family inet-vpn flow") && (!(any "protocols bgp group <*> neighbor <*> family inet-vpn multicast") && (!("protocols bgp family inet6") && (!(any "protocols bgp group <*> family inet6") && (!(any "protocols bgp group <*> neighbor <*> family inet6") && (!("protocols bgp family inet6-vpn") && (!(any "protocols bgp group <*> family inet6-vpn") && (!(any "protocols bgp group <*> neighbor <*> family inet6-vpn") && (!("protocols bgp family inet-mvpn") && (!(any "protocols bgp group <*> family inet-mvpn") && (!(any "protocols bgp group <*> neighbor <*> family inet-mvpn") && (!("protocols bgp family inet6-mvpn") && (!(any "protocols bgp group <*> family inet6-mvpn") && (!(any "protocols bgp group <*> neighbor <*> family inet6-mvpn") && (!("protocols bgp family iso") && (!(any "protocols bgp group <*> family iso") && (!(any "protocols bgp group <*> neighbor <*> family iso") && (!("protocols bgp family iso-vpn") && (!(any "protocols bgp group <*> family iso-vpn") && (!(any "protocols bgp group <*> neighbor <*> family iso-vpn") && (!("protocols bgp family atmvpn") && (!(any "protocols bgp group <*> family atmvpn") && (!(any "protocols bgp group <*> neighbor <*> family atmvpn") && (!(any "logical-systems <*> protocols bgp family inet any") && (!(any "logical-systems <*> protocols bgp family inet flow") && (!(any "logical-systems <*> protocols bgp family inet multicast") && (!(any "logical-systems <*> protocols bgp group <*> family inet any") && (!(any "logical-systems <*> protocols bgp group <*> family inet flow") && (!(any "logical-systems <*> protocols bgp group <*> family inet multicast") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet any") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet flow") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet multicast") && (!(any "logical-systems <*> protocols bgp family inet-vpn any") && (!(any "logical-systems <*> protocols bgp family inet-vpn flow") && (!(any "logical-systems <*> protocols bgp family inet-vpn multicast") && (!(any "logical-systems <*> protocols bgp group <*> family inet-vpn any") && (!(any "logical-systems <*> protocols bgp group <*> family inet-vpn flow") && (!(any "logical-systems <*> protocols bgp group <*> family inet-vpn multicast") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet-vpn any") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet-vpn flow") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet-vpn multicast") && (!(any "logical-systems <*> protocols bgp family inet6") && (!(any "logical-systems <*> protocols bgp group <*> family inet6") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet6") && (!(any "logical-systems <*> protocols bgp family inet6-vpn") && (!(any "logical-systems <*> protocols bgp group <*> family inet6-vpn") && (!(any "protocols bgp group <*> neighbor <*> family inet6-vpn") && (!(any "logical-systems <*> protocols bgp family inet-mvpn") && (!(any "logical-systems <*> protocols bgp group <*> family inet-mvpn") && (!(any "protocols bgp group <*> neighbor <*> family inet-mvpn") && (!(any "logical-systems <*> protocols bgp family inet6-mvpn") && (!(any "logical-systems <*> protocols bgp group <*> family inet6-mvpn") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family inet6-mvpn") && (!(any "logical-systems <*> protocols bgp family iso") && (!(any "logical-systems <*> protocols bgp group <*> family iso") && (!(any "protocols bgp group <*> neighbor <*> family iso") && (!(any "logical-systems <*> protocols bgp family iso-vpn") && (!(any "logical-systems <*> protocols bgp group <*> family iso-vpn") && (!(any "logical-systems <*> protocols bgp group <*> neighbor <*> family iso-vpn") && (!(any "logical-systems <*> protocols bgp family atmvpn") && (!(any "logical-systems <*> protocols bgp group <*> family atmvpn") && !(any "protocols bgp group <*> neighbor <*> family atmvpn")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))";
                junos:must-message "Only BGP groups with 'family inet unicast, inet labeled-unicast, inet-vpn unicast, l2vpn and route-target' are supported under network-services ethernet";
                value 1;
                description
                  "Ethernet network services";
              }
              enum "enhanced-ip" {
                value 2;
                description
                  "Enhanced IP network services";
              }
              enum "enhanced-ethernet" {
                value 3;
                description
                  "Enhanced ethernet network services";
              }
              enum "enhanced-mode" {
                value 4;
                description
                  "Enhanced network services";
              }
              enum "lan" {
                value 5;
                description
                  "Ethernet LAN services";
              }
            }
            description
              "Chassis network services configuration";
          }
    
          leaf limited-ifl-scaling {
            type empty;
            description
              "Configured to limit IFL scaling to 64k";
          }
    
          container alarm-port {
            description
              "Craft-interface parameters";
            uses chassis_alarm_port_op_type;
          }  // container alarm-port
    
          container usb {
            description "USB control flags";
            uses apply-advanced;
    
            container storage {
              description "USB storage flags";
              uses apply-advanced;
    
              leaf disable {
                type empty;
                description
                  "Disable USB storage";
              }
            }  // container storage
          }  // container usb
    
          container serdes {
            presence "enable serdes";
            description
              "Serdes test mode for link training";
            uses apply-advanced;
    
            leaf test-mode {
              type string;
              description "Serdes test mode";
            }
          }  // container serdes
    
          list lcc {
            key "name";
            description
              "Line-card chassis configuration";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "LCC number";
            }
    
            uses apply-advanced;
    
            list fpc {
              junos:must "((!(any ". <*> vpn-localization") || !("virtual-chassis")))";
              junos:must-message "vpn-localization cannot be configured on virtual-chassis";
              key "name";
              description
                "Flexible PIC Concentrator parameters";
              uses chassis_fpc_type;
            }  // list fpc
    
            container pem {
              description
                "Power supply (PEM) parameters";
              uses chassis_pem_type;
            }  // container pem
    
            container spmb {
              description
                "Switch Processor Mezzanine Board parameters";
              uses apply-advanced;
            }  // container spmb
    
            choice state {
              leaf online-expected {
                type empty;
                description
                  "LCC is expected to be online";
              }
              leaf offline {
                type empty;
                description
                  "LCC is expected to be offline";
              }
            }  // choice state
          }  // list lcc
    
          container lcc-mode {
            description
              "Line card chassis mode T4000/T1600/EMPTY configuration";
            uses apply-advanced;
    
            list lcc {
              key "name";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "LCC number";
              }
    
              uses apply-advanced;
    
              leaf mode {
                type enumeration {
                  enum "t1600" {
                    value 0;
                    description
                      "LCC Mode will be set to t1600";
                  }
                  enum "t4000" {
                    value 1;
                    description
                      "LCC Mode will be set to t4000";
                  }
                  enum "empty" {
                    value 2;
                    description
                      "Setting LCC mode to empty will offline the LCC";
                  }
                }
                default "t1600";
                description
                  "Changing Mode of LCC will result in the restart of LCC";
              }
            }  // list lcc
          }  // container lcc-mode
    
          list member {
            key "name";
            description
              "Member chassis configuration";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 10";
                }
              }
              description "Member number";
            }
    
            uses apply-advanced;
    
            container fabric {
              description
                "Switch fabric settings";
              uses chassis_fabric_type;
            }  // container fabric
    
            list fpc {
              junos:must "((!(any ". <*> vpn-localization") || !("virtual-chassis")))";
              junos:must-message "vpn-localization cannot be configured on virtual-chassis";
              key "name";
              description
                "Flexible PIC Concentrator parameters";
              uses chassis_fpc_type;
            }  // list fpc
          }  // list member
    
          container license {
            presence "enable license";
            description "Set license";
            uses apply-advanced;
    
            leaf bandwidth {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Configure bandwidth of FPC";
            }
    
            leaf scale {
              type enumeration {
                enum "base" {
                  value 0;
                  description "Base license";
                }
                enum "advance" {
                  value 1;
                  description "Advance license";
                }
                enum "premium" {
                  value 2;
                  description "Premium license";
                }
              }
              description "Add scale license";
            }
          }  // container license
    
          container host-outbound {
            description
              "Host-out bound options ";
            uses apply-advanced;
    
            leaf media-interface {
              type empty;
              description
                "Enable processing of media interface features for Host gernated packets";
            }
          }  // container host-outbound
    
          container synchronization {
            description
              "Clock synchronization options";
            uses apply-advanced;
    
            leaf switchover-mode {
              type enumeration {
                enum "non-revertive" {
                  value 0;
                  description
                    "System uses current source as long as it is valid";
                }
                enum "revertive" {
                  value 1;
                  description
                    "Automatically switch to higher priority valid source";
                }
              }
              default "revertive";
              description
                "Should system revert to higher priority valid source";
            }
    
            leaf switching-mode {
              type enumeration {
                enum "non-revertive" {
                  value 0;
                  description
                    "System uses current source as long as it is valid";
                }
                enum "revertive" {
                  value 1;
                  description
                    "Automatically switch to higher priority valid source";
                }
              }
              default "non-revertive";
              description
                "Should system revert to higher priority valid source";
            }
    
            leaf network-option {
              type enumeration {
                enum "option-1" {
                  value 0;
                  description
                    "Option 1 (EEC1) synchronization networking";
                }
                enum "option-2" {
                  value 1;
                  description
                    "Option 2 (EEC2) synchronization networking";
                }
              }
              description
                "EEC synchronization networking type";
            }
    
            leaf selection-mode {
              type enumeration {
                enum "configured-quality" {
                  value 0;
                  description
                    "Use source's configured ESMC quality";
                }
                enum "received-quality" {
                  junos:must "("chassis synchronization quality-mode-enable")";
                  junos:must-message "Cannot configure received-quality without quality-mode-enable";
                  value 1;
                  description
                    "Use source's received ESMC quality";
                }
              }
              default "configured-quality";
              description
                "Selection mode for incoming ESMC quality";
            }
    
            leaf clock-mode {
              type enumeration {
                enum "free-run" {
                  junos:must "(!("protocols ptp"))";
                  junos:must-message "Cannot configure free-running clock when ptp is configured";
                  value 0;
                  description
                    "Use the free-running local oscillator";
                }
                enum "auto-select" {
                  value 1;
                  description
                    "Select best clock source";
                }
              }
              description
                "Synchronous Ethernet Clock selection mode";
            }
    
            leaf quality-mode-enable {
              type empty;
              description
                "Enable Synchronous Ethernet ESMC Quality mode";
            }
    
            leaf max-transmit-quality-level {
              type enumeration {
                enum "ePRTC" {
                  junos:must "("chassis synchronization enable-extended-ql-tlv")";
                  junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                  junos:must "("chassis synchronization network-option")";
                  junos:must-message "Must configure 'chassis synchronization network-option'";
                  value 0;
                  description
                    "Time quality of enhanced primary reference time clock";
                }
                enum "PRTC" {
                  junos:must "("chassis synchronization enable-extended-ql-tlv")";
                  junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                  junos:must "("chassis synchronization network-option")";
                  junos:must-message "Must configure 'chassis synchronization network-option'";
                  value 1;
                  description
                    "Time quality of primary reference time clock";
                }
                enum "ePRC" {
                  junos:must "("chassis synchronization enable-extended-ql-tlv")";
                  junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                  junos:must "("chassis synchronization network-option")";
                  junos:must-message "Must configure 'chassis synchronization network-option'";
                  value 2;
                  description
                    "Time quality of enhanced primary reference clock";
                }
                enum "eEEC" {
                  junos:must "("chassis synchronization enable-extended-ql-tlv")";
                  junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                  junos:must "("chassis synchronization network-option")";
                  junos:must-message "Must configure 'chassis synchronization network-option'";
                  value 3;
                  description
                    "Time quality of enhanced ethernet equipment clock";
                }
                enum "prc" {
                  junos:must "("chassis synchronization network-option option-1")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                  value 4;
                  description
                    "Timing quality of a primary reference clock (option-1 only)";
                }
                enum "ssu-a" {
                  junos:must "("chassis synchronization network-option option-1")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                  value 5;
                  description
                    "Timing quality of a type I or IV slave clock (option-1 only)";
                }
                enum "ssu-b" {
                  junos:must "("chassis synchronization network-option option-1")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                  value 6;
                  description
                    "Timing quality of a type VI slave clock (option-1 only)";
                }
                enum "sec" {
                  junos:must "("chassis synchronization network-option option-1")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                  value 7;
                  description
                    "Timing quality of SDH equipment clock (option-1 only)";
                }
                enum "prs" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 8;
                  description
                    "Clock traceable to primary reference source (option-2 only)";
                }
                enum "stu" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 9;
                  description
                    "Clock traceable to unknown quality (option-2 only)";
                }
                enum "st2" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 10;
                  description
                    "Clock traceable to stratum 2 (option-2 only)";
                }
                enum "tnc" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 11;
                  description
                    "Clock traceable to transit node clock (option-2 only)";
                }
                enum "st3e" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 12;
                  description
                    "Clock traceable to stratum 3E (option-2 only)";
                }
              }
              description
                "Maximum transmit quality level";
            }
    
            leaf enable-extended-ql-tlv {
              type empty;
              description
                "Enable enhanced ESMC QL support";
            }
    
            leaf global-wait-to-restore {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 12";
                }
              }
              units "min";
              description
                "Global Port signal up state time before opening for ESMC";
            }
    
            leaf minimum-quality {
              type enumeration {
                enum "prc" {
                  junos:must "("chassis synchronization network-option option-1")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                  value 0;
                  description
                    "Timing quality of a primary reference clock (option-1 only)";
                }
                enum "ssu-a" {
                  junos:must "("chassis synchronization network-option option-1")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                  value 1;
                  description
                    "Timing quality of a type I or IV slave clock (option-1 only)";
                }
                enum "ssu-b" {
                  junos:must "("chassis synchronization network-option option-1")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                  value 2;
                  description
                    "Timing quality of a type VI slave clock (option-1 only)";
                }
                enum "sec" {
                  junos:must "("chassis synchronization network-option option-1")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                  value 3;
                  description
                    "Timing quality of SDH equipment clock (option-1 only)";
                }
                enum "prs" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 4;
                  description
                    "Clock traceable to primary reference source (option-2 only)";
                }
                enum "st2" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 5;
                  description
                    "Clock traceable to stratum 2 (option-2 only)";
                }
                enum "tnc" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 6;
                  description
                    "Clock traceable to transit node clock (option-2 only)";
                }
                enum "st3e" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 7;
                  description
                    "Clock traceable to stratum 3E (option-2 only)";
                }
                enum "st3" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 8;
                  description
                    "Clock traceable to stratum 3 (option-2 only)";
                }
                enum "st4" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 9;
                  description
                    "Clock traceable to stratum 4 free-run (option-2 only)";
                }
                enum "smc" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 10;
                  description
                    "Clock traceable to self-timed SONET (option-2 only)";
                }
                enum "stu" {
                  junos:must "("chassis synchronization network-option option-2")";
                  junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                  value 11;
                  description
                    "Clock traceable to unknown quality (option-2 only)";
                }
              }
              description
                "Minimum quality threshold";
            }
    
            leaf loop-prevention {
              type enumeration {
                enum "master-side" {
                  value 0;
                  description
                    "Master side loop prevention";
                }
              }
              description
                "Clock loop prevention";
            }
    
            list port {
              key "name";
              description
                "Clock synchronization ports";
              leaf name {
                type enumeration {
                  enum "auxiliary" {
                    value 0;
                    description "Auxiliary port";
                  }
                  enum "gnss" {
                    junos:must "(!("chassis synchronization source"))";
                    junos:must-message "must not configure SYNCE source along with port gnss";
                    junos:must "("protocols ptp")";
                    junos:must-message "must configure protocols ptp";
                    value 1;
                    description
                      "Global Navigation Satellite System - GPS or GLONASS port";
                  }
                  enum "time-of-day" {
                    value 2;
                    description
                      "Time of Day(TOD) port";
                  }
                }
              }
    
              uses apply-advanced;
    
              container client {
                presence "enable client";
                description
                  "Port client receiving external signals";
                uses apply-advanced;
    
                container time-of-day-format {
                  description
                    "Time-of-day format as received on this port";
                  uses apply-advanced;
    
                  choice format {
                    leaf ascii {
                      type string {
                        length "1 .. 80";
                      }
                      description
                        "ASCII Time-of-day message format string";
                    }
                    leaf nmea-custom-format {
                      type empty;
                      description
                        "Customized NMEA format used when interfacing with GRU GPS Receiver Unit";
                    }
                    leaf no-protocol {
                      type empty;
                      description
                        "Used when interfacing with GRU GPS Receiver Unit to process PPS with no Time Of Day";
                    }
                  }  // choice format
                }  // container time-of-day-format
    
                leaf cable-length-compensation {
                  type union {
                    type uint32;
                    type string {
                      pattern "<.*>|$.*";
                    }
                  }
                  description
                    "Antenna cable length compensation in nanoseconds";
                }
    
                leaf cable-delay-compensation {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range
                        "-100000000 .. 100000000";
                    }
                  }
                  description
                    "GPS Receiver Unit to Router delay compensation in nanoseconds";
                }
    
                leaf antenna-voltage {
                  type enumeration {
                    enum "3.3" {
                      value 0;
                      description "3.3 units";
                    }
                    enum "5" {
                      value 1;
                      description "5 units";
                    }
                  }
                  description
                    "Configure antenna voltage";
                }
    
                leaf alarm-filter {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "1 .. 60";
                    }
                  }
                  default "36";
                  description
                    "Set alarm filter window";
                }
    
                leaf constellation {
                  type enumeration {
                    enum "gps" {
                      value 0;
                      description
                        "Global Positioning Satellite(GPS) for clock recovery";
                    }
                    enum "glonass" {
                      value 1;
                      description
                        "Global Navigation Satellite System(GLONASS) constellation";
                    }
                    enum "gps-and-glonass" {
                      value 2;
                      description
                        "All constellations";
                    }
                    enum "beidou" {
                      value 3;
                      description
                        "BEIDOU for clock recovery constellations";
                    }
                    enum "gps-beidou" {
                      value 4;
                      description
                        "GPS and BEIDOU for clock recovery";
                    }
                    enum "gps-beidou-qzss" {
                      value 5;
                      description
                        "GPS ,BEIDOU and qzss for clock recovery";
                    }
                    enum "galileo" {
                      value 6;
                      description
                        "GALILEO for clock recovery";
                    }
                    enum "gps-galileo" {
                      value 7;
                      description
                        "GPS and GALILEO for clock recovery";
                    }
                    enum "gps-qzss" {
                      value 8;
                      description
                        "GPS and QZSS for clock recovery";
                    }
                    enum "gps-glonass-qzss" {
                      value 9;
                      description
                        "GPS,GLONASS and QZSS for clock recovery";
                    }
                    enum "gps-galileo-qzss" {
                      value 10;
                      description
                        "GPS , GALILEO and QZSS for clock recovery";
                    }
                  }
                  description
                    "Configure constellation of satellites to use";
                }
    
                leaf anti-jamming {
                  type empty;
                  description
                    "Enable anti-jamming feature";
                }
    
                leaf pps-loopback {
                  type empty;
                  description
                    "Enable 1PPS loopback mode";
                }
    
                leaf dump-gpsstats {
                  type empty;
                  description
                    "Enable dumping gnss data";
                }
              }  // container client
    
              container server {
                presence "enable server";
                description
                  "The role of port is server which transmits signals out";
                uses apply-advanced;
    
                container time-of-day-format {
                  description
                    "RS-232 port time-of-day format";
                  uses apply-advanced;
    
                  choice format {
                    leaf ascii {
                      type string {
                        length "1 .. 80";
                      }
                      description
                        "ASCII Time-of-day message format string";
                    }
                  }  // choice format
                }  // container time-of-day-format
              }  // container server
            }  // list port
    
            list interfaces {
              key "name";
              description
                "Interface(s) with upstream clock source";
              leaf name {
                type enumeration {
                  enum "external" {
                    value 0;
                    description
                      "External clock interface";
                  }
                  enum "external-0/0" {
                    junos:must "("chassis synchronization interfaces external-0/0 signal-type")";
                    junos:must-message "Must configure 'chassis synchronization interfaces external-0/0 signal-type'";
                    value 1;
                    description
                      "External clock interface on SCB-0";
                  }
                  enum "external-0/1" {
                    junos:must "("chassis synchronization interfaces external-0/1 signal-type")";
                    junos:must-message "Must configure 'chassis synchronization interfaces external-0/1 signal-type'";
                    value 2;
                    description
                      "External clock interface on SCB-0";
                  }
                  enum "external-1/0" {
                    junos:must "("chassis synchronization interfaces external-1/0 signal-type")";
                    junos:must-message "Must configure 'chassis synchronization interfaces external-1/0 signal-type'";
                    value 3;
                    description
                      "External clock interface on SCB-1";
                  }
                  enum "external-1/1" {
                    junos:must "("chassis synchronization interfaces external-1/1 signal-type")";
                    junos:must-message "Must configure 'chassis synchronization interfaces external-1/1 signal-type'";
                    value 4;
                    description
                      "External clock interface on SCB-1";
                  }
                  enum "external-a" {
                    value 5;
                    description
                      "External-A clock interface";
                  }
                  enum "external-b" {
                    value 6;
                    description
                      "External-B clock interface";
                  }
                  enum "external-0" {
                    value 7;
                    description
                      "External-0 clock interface";
                  }
                  enum "external-1" {
                    value 8;
                    description
                      "External-1 clock interface";
                  }
                  enum "external-2" {
                    value 9;
                    description
                      "External-2 clock interface";
                  }
                  enum "bits" {
                    value 10;
                    description
                      "External BITS interface configuration";
                  }
                  enum "bits-a" {
                    value 11;
                    description
                      "External BITS interface A configuration";
                  }
                  enum "bits-b" {
                    value 12;
                    description
                      "External BITS interface B configuration";
                  }
                  enum "gps-0" {
                    value 13;
                    description
                      "External GPS interface A configuration";
                  }
                  enum "gps-1" {
                    value 14;
                    description
                      "External GPS interface B configuration";
                  }
                }
              }
    
              uses apply-advanced;
    
              leaf signal-type {
                type enumeration {
                  enum "1mhz" {
                    value 0;
                    description
                      "1 MHz clock signal";
                  }
                  enum "5mhz" {
                    value 1;
                    description
                      "5 MHz clock signal";
                  }
                  enum "10mhz" {
                    value 2;
                    description
                      "10 MHz clock signal";
                  }
                  enum "2048khz" {
                    junos:must "("chassis synchronization network-option option-1")";
                    junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                    value 3;
                    description
                      "E1 unframed 2048Khz G.703 signal";
                  }
                  enum "e1" {
                    junos:must "("chassis synchronization network-option option-1")";
                    junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                    value 4;
                    description
                      "E1-coded 2048 KHz signal on 120 ohm balanced line";
                  }
                  enum "t1" {
                    junos:must "("chassis synchronization network-option option-2")";
                    junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                    value 5;
                    description
                      "T1-coded 1.544 MHz signal on 100 ohm balanced line";
                  }
                  enum "cc-8k" {
                    junos:must "("chassis synchronization network-option option-2")";
                    junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                    value 6;
                    description
                      "Composite Clock 64kHz+8kHz";
                  }
                  enum "cc-8k-400" {
                    junos:must "("chassis synchronization network-option option-2")";
                    junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                    value 7;
                    description
                      "Composite Clock 64kHz+8kHz+400Hz";
                  }
                  enum "6312k" {
                    junos:must "("chassis synchronization network-option option-2")";
                    junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                    value 8;
                    description
                      "Japanese Standard 6312kHz";
                  }
                }
                description
                  "Frequency for provided reference clocks";
              }
    
              leaf pulse-per-second-enable {
                junos:must "((".. signal-type $$={1mhz}" || (".. signal-type $$={5mhz}" || ".. signal-type $$={10mhz}")))";
                junos:must-message "Must configure signal-type to 1/5/10 MHz";
                type empty;
                description
                  "Enable pulse-per-second (PPS) receive on the interface";
              }
    
              container e1-options {
                junos:must "("chassis synchronization network-option option-1")";
                junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                description
                  "E1 interface-specific options";
                uses apply-advanced;
    
                leaf line-encoding {
                  type enumeration {
                    enum "ami" {
                      value 0;
                      description
                        "Automatic mark inversion";
                    }
                    enum "hdb3" {
                      value 1;
                      description
                        "High-density bipolar 3 code";
                    }
                  }
                  default "hdb3";
                  description "Line encoding";
                }
    
                leaf framing {
                  type enumeration {
                    enum "g704" {
                      value 0;
                      description
                        "G.704 framing format for E1 interfaces";
                    }
                    enum "g704-no-crc4" {
                      value 1;
                      description
                        "G.704 framing without CRC4 for E1 interfaces";
                    }
                  }
                  default "g704";
                  description "Framing mode";
                }
    
                leaf sabit {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "4 .. 8";
                    }
                  }
                  default "4";
                  description
                    "The sabit used for exchanging SSM quality";
                }
              }  // container e1-options
    
              container t1-options {
                junos:must "("chassis synchronization network-option option-2")";
                junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                description
                  "T1 interface-specific options";
                uses apply-advanced;
    
                leaf line-encoding {
                  type enumeration {
                    enum "ami" {
                      value 0;
                      description
                        "Automatic mark inversion";
                    }
                    enum "b8zs" {
                      value 1;
                      description
                        "8-bit zero suppression";
                    }
                  }
                  default "b8zs";
                  description "Line encoding";
                }
    
                leaf framing {
                  type enumeration {
                    enum "esf" {
                      value 0;
                      description
                        "Extended Super Frame";
                    }
                    enum "sf" {
                      value 1;
                      description "Super Frame";
                    }
                  }
                  default "esf";
                  description "Framing mode";
                }
              }  // container t1-options
            }  // list interfaces
    
            container output {
              description
                "External clock interface related";
              uses apply-advanced;
    
              list interfaces {
                key "name";
                description
                  "Interface(s) to output source to";
                leaf name {
                  type enumeration {
                    enum "external" {
                      junos:must "("chassis synchronization interfaces external signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external signal-type'";
                      value 0;
                      description
                        "External clock interface";
                    }
                    enum "external-0/0" {
                      junos:must "("chassis synchronization interfaces external-0/0 signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external-0/0 signal-type'";
                      value 1;
                      description
                        "External clock interface on SCB-0";
                    }
                    enum "external-0/1" {
                      junos:must "("chassis synchronization interfaces external-0/1 signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external-0/1 signal-type'";
                      value 2;
                      description
                        "External clock interface on SCB-0";
                    }
                    enum "external-1/0" {
                      junos:must "("chassis synchronization interfaces external-1/0 signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external-1/0 signal-type'";
                      value 3;
                      description
                        "External clock interface on SCB-1";
                    }
                    enum "external-1/1" {
                      junos:must "("chassis synchronization interfaces external-1/1 signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external-1/1 signal-type'";
                      value 4;
                      description
                        "External clock interface on SCB-1";
                    }
                    enum "external-a" {
                      junos:must "("chassis synchronization interfaces external-a signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external-a signal-type'";
                      value 5;
                      description
                        "External-A clock interface";
                    }
                    enum "external-b" {
                      junos:must "("chassis synchronization interfaces external-b signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external-b signal-type'";
                      value 6;
                      description
                        "External-B clock interface";
                    }
                    enum "bits" {
                      value 7;
                      description
                        "External BITS interface configuration";
                    }
                    enum "external-0" {
                      junos:must "("chassis synchronization interfaces external-0 signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external-0 signal-type'";
                      value 8;
                      description
                        "External-0 clock interface";
                    }
                    enum "external-1" {
                      junos:must "("chassis synchronization interfaces external-1 signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external-1 signal-type'";
                      value 9;
                      description
                        "External-1 clock interface";
                    }
                    enum "external-2" {
                      junos:must "("chassis synchronization interfaces external-2 signal-type")";
                      junos:must-message "Must configure 'chassis synchronization interfaces external-2 signal-type'";
                      value 10;
                      description
                        "External-2 clock interface";
                    }
                  }
                }
    
                uses apply-advanced;
    
                container ssm {
                  description
                    "SSM Message config";
                  uses apply-advanced;
    
                  leaf option-2 {
                    type enumeration {
                      enum "GEN-1" {
                        value 0;
                        description
                          "SSM Message type GEN-1";
                      }
                      enum "GEN-2" {
                        value 1;
                        description
                          "SSM Message type GEN-2";
                      }
                    }
                    description
                      "Select generation";
                  }
                }  // container ssm
    
                container squelch {
                  presence "enable squelch";
                  description
                    "Squelch a interface";
                  uses apply-advanced;
    
                  leaf method {
                    type enumeration {
                      enum "ais" {
                        value 0;
                        description "Send AIS";
                      }
                      enum "ql-dnu" {
                        value 1;
                        description
                          "Send DNU Quality level out";
                      }
                      enum "rai" {
                        value 2;
                        description "Method RAI";
                      }
                      enum "shut" {
                        value 3;
                        description "Shutdown";
                      }
                    }
                    description
                      "Type of Squelch to be done";
                  }
                }  // container squelch
    
                leaf wander-filter-disable {
                  type empty;
                  description
                    "Disables wander filtering";
                }
    
                leaf holdover-mode-disable {
                  type empty;
                  description
                    "Disables holdover";
                }
    
                leaf source-mode {
                  type enumeration {
                    enum "chassis" {
                      value 0;
                      description
                        "The chassis clock is output";
                    }
                    enum "line" {
                      value 1;
                      description
                        "The best line clock source is output";
                    }
                    enum "equipment-clock" {
                      value 2;
                      description
                        "The chassis clock is output";
                    }
                    enum "ptp-clock" {
                      value 3;
                      description
                        "The best line clock source is output";
                    }
                  }
                  default "line";
                  description
                    "Source mode for selecting source to output";
                }
    
                leaf tx-dnu-to-line-source-enable {
                  type empty;
                  description
                    "Sets Tx QL to DNU/DUS on line source interface";
                }
    
                leaf minimum-quality {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "Minimum quality threshold";
                }
              }  // list interfaces
            }  // container output
    
            container source {
              junos:must "("chassis synchronization network-option")";
              junos:must-message "Must configure 'chassis synchronization network-option'";
              junos:must "(!(("chassis synchronization primary" || "chassis synchronization secondary")))";
              junos:must-message "primary or secondary cannot be configured with source";
              description
                "ESMC source(s) related";
              uses apply-advanced;
    
              container external-a {
                presence "enable external-a";
                description
                  "External Clock source A";
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // container external-a
    
              container external-b {
                presence "enable external-b";
                description
                  "External Clock source B";
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // container external-b
    
              container gps {
                presence "enable gps";
                description
                  "Global Positioning System 10MHz input";
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf no-ssm-support {
                  type empty;
                  description
                    "No SSM support available for this interface";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // container gps
    
              container gps-0 {
                presence "enable gps-0";
                description
                  "Global Positioning System input A";
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf wait-to-restore {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 12";
                    }
                  }
                  units "min";
                  description
                    "Port signal up state time before opening for ESMC";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // container gps-0
    
              container gps-1 {
                presence "enable gps-1";
                description
                  "Global Positioning System input B";
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf wait-to-restore {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 12";
                    }
                  }
                  units "min";
                  description
                    "Port signal up state time before opening for ESMC";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // container gps-1
    
              container bits {
                presence "enable bits";
                description
                  "External Building Integrated Timing Supply input";
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf no-ssm-support {
                  type empty;
                  description
                    "No SSM support available for this interface";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // container bits
    
              container bits-a {
                presence "enable bits-a";
                description
                  "External Building Integrated Timing Supply input A";
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf wait-to-restore {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 12";
                    }
                  }
                  units "min";
                  description
                    "Port signal up state time before opening for ESMC";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // container bits-a
    
              container bits-b {
                presence "enable bits-b";
                description
                  "External Building Integrated Timing Supply input B";
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf wait-to-restore {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 12";
                    }
                  }
                  units "min";
                  description
                    "Port signal up state time before opening for ESMC";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // container bits-b
    
              container virtual-port {
                junos:must "("protocols ptp profile-type $$={g.8275.1}")";
                junos:must-message "Must configure ptp profile type g.8275.1";
                junos:must "("protocols ptp virtual-port")";
                junos:must-message "Must configure protocols ptp virtual-port";
                presence "enable virtual-port";
                description "Virtual port";
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf wait-to-restore {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 12";
                    }
                  }
                  units "min";
                  description
                    "Port signal up state time before opening for ESMC";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // container virtual-port
    
              list interfaces {
                key "name";
                description
                  "Interface(s) with upstream clock source";
                leaf name {
                  type string;
                }
    
                uses apply-advanced;
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 5";
                    }
                  }
                  description
                    "User priority for this clock";
                }
    
                leaf request {
                  type enumeration {
                    enum "lockout" {
                      value 0;
                      description
                        "Opt out of clock selection";
                    }
                    enum "force-switch" {
                      value 1;
                      description
                        "Switch to this interface as primary clock source";
                    }
                  }
                  description
                    "Clock selection request criterion";
                }
    
                leaf wait-to-restore {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 12";
                    }
                  }
                  units "min";
                  description
                    "Port signal up state time before opening for ESMC";
                }
    
                leaf no-ssm-support {
                  type empty;
                  description
                    "No SSM support available for this interface";
                }
    
                leaf hold-off-time {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "300 .. 1800";
                    }
                  }
                  units "milliseconds";
                  description
                    "Port signal down state time before closing for ESMC";
                }
    
                leaf aggregated-ether {
                  junos:must "("interfaces $$-IFL")";
                  junos:must-message "System AE interface should be configured";
                  type string;
                  description
                    "Aggregated sources group name";
                }
    
                leaf quality-level {
                  type enumeration {
                    enum "ePRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 0;
                      description
                        "Time quality of enhanced primary reference time clock";
                    }
                    enum "PRTC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 1;
                      description
                        "Time quality of primary reference time clock";
                    }
                    enum "ePRC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 2;
                      description
                        "Time quality of enhanced primary reference clock";
                    }
                    enum "eEEC" {
                      junos:must "("chassis synchronization enable-extended-ql-tlv")";
                      junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                      junos:must "("chassis synchronization network-option")";
                      junos:must-message "Must configure 'chassis synchronization network-option'";
                      value 3;
                      description
                        "Time quality of enhanced ethernet equipment clock";
                    }
                    enum "prc" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 4;
                      description
                        "Timing quality of a primary reference clock (option-1 only)";
                    }
                    enum "ssu-a" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 5;
                      description
                        "Timing quality of a type I or IV slave clock (option-1 only)";
                    }
                    enum "ssu-b" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 6;
                      description
                        "Timing quality of a type VI slave clock (option-1 only)";
                    }
                    enum "sec" {
                      junos:must "("chassis synchronization network-option option-1")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                      value 7;
                      description
                        "Timing quality of SDH equipment clock (option-1 only)";
                    }
                    enum "prs" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 8;
                      description
                        "Clock traceable to primary reference source (option-2 only)";
                    }
                    enum "st2" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 9;
                      description
                        "Clock traceable to stratum 2 (option-2 only)";
                    }
                    enum "tnc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 10;
                      description
                        "Clock traceable to transit node clock (option-2 only)";
                    }
                    enum "st3e" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 11;
                      description
                        "Clock traceable to stratum 3E (option-2 only)";
                    }
                    enum "st3" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 12;
                      description
                        "Clock traceable to stratum 3 (option-2 only)";
                    }
                    enum "st4" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 13;
                      description
                        "Clock traceable to stratum 4 free-run (option-2 only)";
                    }
                    enum "smc" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 14;
                      description
                        "Clock traceable to self-timed SONET (option-2 only)";
                    }
                    enum "stu" {
                      junos:must "("chassis synchronization network-option option-2")";
                      junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                      value 15;
                      description
                        "Clock traceable to unknown quality (option-2 only)";
                    }
                  }
                  description
                    "ESMC Clock EEC level";
                }
              }  // list interfaces
            }  // container source
    
            container esmc-transmit {
              junos:must "("chassis synchronization network-option")";
              junos:must-message "Must configure 'chassis synchronization network-option'";
              junos:must "(!(("chassis synchronization primary" || "chassis synchronization secondary")))";
              junos:must-message "primary or secondary cannot be configured with esmc-transmit";
              description
                "ESMC transmit parameters";
              uses apply-advanced;
    
              list interfaces {
                key "name";
                ordered-by user;
                description
                  "Interface(s) on which to permit ESMC transmit messages";
                leaf name {
                  type string;
                }
    
                uses apply-advanced;
    
                container squelch {
                  junos:must "(!(("protocols ptp profile-type $$={g.8275.2}" && !("protocols ptp slave hybrid"))))";
                  junos:must-message "Must not configure squelch when using PTS mode i.e. g.8275.2 profile in non-hybrid mode";
                  presence "enable squelch";
                  description
                    "Squelch a interface";
                  uses apply-advanced;
    
                  leaf method {
                    type enumeration {
                      enum "ais" {
                        value 0;
                        description "Send AIS";
                      }
                      enum "ql-dnu" {
                        value 1;
                        description
                          "Send DNU Quality level out";
                      }
                      enum "rai" {
                        value 2;
                        description "Method RAI";
                      }
                      enum "shut" {
                        value 3;
                        description "Shutdown";
                      }
                    }
                    description
                      "Type of Squelch to be done";
                  }
    
                  leaf quality-level {
                    type enumeration {
                      enum "ePRTC" {
                        junos:must "("chassis synchronization enable-extended-ql-tlv")";
                        junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                        junos:must "("chassis synchronization network-option")";
                        junos:must-message "Must configure 'chassis synchronization network-option'";
                        value 0;
                        description
                          "Time quality of enhanced primary reference time clock";
                      }
                      enum "PRTC" {
                        junos:must "("chassis synchronization enable-extended-ql-tlv")";
                        junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                        junos:must "("chassis synchronization network-option")";
                        junos:must-message "Must configure 'chassis synchronization network-option'";
                        value 1;
                        description
                          "Time quality of primary reference time clock";
                      }
                      enum "ePRC" {
                        junos:must "("chassis synchronization enable-extended-ql-tlv")";
                        junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                        junos:must "("chassis synchronization network-option")";
                        junos:must-message "Must configure 'chassis synchronization network-option'";
                        value 2;
                        description
                          "Time quality of enhanced primary reference clock";
                      }
                      enum "eEEC" {
                        junos:must "("chassis synchronization enable-extended-ql-tlv")";
                        junos:must-message "Must configure 'chassis synchronization enable-extended-ql-tlv'";
                        junos:must "("chassis synchronization network-option")";
                        junos:must-message "Must configure 'chassis synchronization network-option'";
                        value 3;
                        description
                          "Time quality of enhanced ethernet equipment clock";
                      }
                      enum "prc" {
                        junos:must "("chassis synchronization network-option option-1")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                        value 4;
                        description
                          "Timing quality of a primary reference clock (option-1 only)";
                      }
                      enum "ssu-a" {
                        junos:must "("chassis synchronization network-option option-1")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                        value 5;
                        description
                          "Timing quality of a type I or IV slave clock (option-1 only)";
                      }
                      enum "ssu-b" {
                        junos:must "("chassis synchronization network-option option-1")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                        value 6;
                        description
                          "Timing quality of a type VI slave clock (option-1 only)";
                      }
                      enum "sec" {
                        junos:must "("chassis synchronization network-option option-1")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-1'";
                        value 7;
                        description
                          "Timing quality of SDH equipment clock (option-1 only)";
                      }
                      enum "prs" {
                        junos:must "("chassis synchronization network-option option-2")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                        value 8;
                        description
                          "Clock traceable to primary reference source (option-2 only)";
                      }
                      enum "st2" {
                        junos:must "("chassis synchronization network-option option-2")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                        value 9;
                        description
                          "Clock traceable to stratum 2 (option-2 only)";
                      }
                      enum "tnc" {
                        junos:must "("chassis synchronization network-option option-2")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                        value 10;
                        description
                          "Clock traceable to transit node clock (option-2 only)";
                      }
                      enum "st3e" {
                        junos:must "("chassis synchronization network-option option-2")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                        value 11;
                        description
                          "Clock traceable to stratum 3E (option-2 only)";
                      }
                      enum "st3" {
                        junos:must "("chassis synchronization network-option option-2")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                        value 12;
                        description
                          "Clock traceable to stratum 3 (option-2 only)";
                      }
                      enum "st4" {
                        junos:must "("chassis synchronization network-option option-2")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                        value 13;
                        description
                          "Clock traceable to stratum 4 free-run (option-2 only)";
                      }
                      enum "smc" {
                        junos:must "("chassis synchronization network-option option-2")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                        value 14;
                        description
                          "Clock traceable to self-timed SONET (option-2 only)";
                      }
                      enum "stu" {
                        junos:must "("chassis synchronization network-option option-2")";
                        junos:must-message "Must configure 'chassis synchronization network-option option-2'";
                        value 15;
                        description
                          "Clock traceable to unknown quality (option-2 only)";
                      }
                    }
                    description
                      "ESMC Quality level below which output is squelched";
                  }
                }  // container squelch
              }  // list interfaces
            }  // container esmc-transmit
    
            container hold-interval {
              description "Hold interval";
              uses apply-advanced;
    
              leaf switchover {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "30 .. 60";
                  }
                }
                units "sec";
                default "30";
                description
                  "Switchover wait time after clock recovery";
              }
    
              leaf configuration-change {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "15 .. 60";
                  }
                }
                units "sec";
                default "15";
                description
                  "Clock select wait time after change in config";
              }
    
              leaf restart {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "60 .. 180";
                  }
                }
                units "sec";
                default "120";
                description
                  "Clock select wait time after reboot";
              }
            }  // container hold-interval
    
            leaf validation-interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "90 .. 86400";
                }
              }
              units "seconds";
              default "90";
              description
                "Time between frequency measurements";
            }
    
            leaf slave-free-run {
              type empty;
              description
                "Slave Clock running mode";
            }
    
            leaf y-cable-line-termination {
              type empty;
              description
                "A single signal is wired to both CBs via Y-cable";
            }
    
            leaf transmitter-enable {
              type empty;
              description
                "Control whether diagnostic timing signal is transmitted";
            }
    
            leaf signal-type {
              type enumeration {
                enum "e1" {
                  value 0;
                  description
                    "E1-coded 2048 Khz signal on 120 ohm balanced line";
                }
                enum "t1" {
                  value 1;
                  description
                    "T1-coded 1.544 Mhz signal on 100 ohm balanced line";
                }
                enum "cc-8k" {
                  value 2;
                  description
                    "Composite Clock 64kHz+8kHz";
                }
                enum "cc-8k-400" {
                  value 3;
                  description
                    "Composite Clock 64kHz+8kHz+400Hz";
                }
                enum "6312k" {
                  value 4;
                  description
                    "Japanese Standard 6312kHz";
                }
              }
              default "t1";
              description
                "Frequency for provided reference clocks";
            }
    
            leaf primary {
              junos:must "((!("chassis synchronization source") || "chassis synchronization esmc-transmit"))";
              junos:must-message "source or esmc-transmit cannot be configured with primary";
              type enumeration {
                enum "external-a" {
                  value 0;
                  description
                    "Use external-a as a primary source";
                }
                enum "external-b" {
                  value 1;
                  description
                    "Use external-b as a primary source";
                }
                enum "bits-a" {
                  value 2;
                  description
                    "Use bits-a as a primary source";
                }
                enum "bits-b" {
                  value 3;
                  description
                    "Use bits-b as a primary source";
                }
                enum "gps-0" {
                  junos:must "(!("chassis synchronization secondary gps-0"))";
                  junos:must-message "not allowed when gps-0 is already configured";
                  value 4;
                  description
                    "Use gps-0 as a primary source";
                }
                enum "gps-1" {
                  junos:must "(!("chassis synchronization secondary gps-1"))";
                  junos:must-message "not allowed when gps-1 is already configured";
                  value 5;
                  description
                    "Use gps-1 as a primary source";
                }
                enum "fpc-0" {
                  junos:must "(("chassis fpc 0 pic 0 recovered-clock" || "chassis fpc 0 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 6;
                  description
                    "Use fpc-0 as a primary source";
                }
                enum "fpc-1" {
                  junos:must "(("chassis fpc 1 pic 0 recovered-clock" || "chassis fpc 1 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 7;
                  description
                    "Use fpc-1 as a primary source";
                }
                enum "fpc-2" {
                  junos:must "(("chassis fpc 2 pic 0 recovered-clock" || "chassis fpc 2 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 8;
                  description
                    "Use fpc-2 as a primary source";
                }
                enum "fpc-3" {
                  junos:must "(("chassis fpc 3 pic 0 recovered-clock" || "chassis fpc 3 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 9;
                  description
                    "Use fpc-3 as a primary source";
                }
                enum "fpc-4" {
                  junos:must "(("chassis fpc 4 pic 0 recovered-clock" || "chassis fpc 4 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 10;
                  description
                    "Use fpc-4 as a primary source";
                }
                enum "fpc-5" {
                  junos:must "(("chassis fpc 5 pic 0 recovered-clock" || "chassis fpc 5 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 11;
                  description
                    "Use fpc-5 as a primary source";
                }
                enum "fpc-6" {
                  junos:must "(("chassis fpc 6 pic 0 recovered-clock" || "chassis fpc 6 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 12;
                  description
                    "Use fpc-6 as a primary source";
                }
                enum "fpc-7" {
                  junos:must "(("chassis fpc 7 pic 0 recovered-clock" || "chassis fpc 7 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 13;
                  description
                    "Use fpc-7 as a primary source";
                }
                enum "fpc-8" {
                  junos:must "(("chassis fpc 8 pic 0 recovered-clock" || "chassis fpc 8 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 14;
                  description
                    "Use fpc-8 as a primary source";
                }
                enum "fpc-9" {
                  junos:must "(("chassis fpc 9 pic 0 recovered-clock" || "chassis fpc 9 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 15;
                  description
                    "Use fpc-9 as a primary source";
                }
                enum "fpc-10" {
                  junos:must "(("chassis fpc 10 pic 0 recovered-clock" || "chassis fpc 10 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 16;
                  description
                    "Use fpc-10 as a primary source";
                }
                enum "fpc-11" {
                  junos:must "(("chassis fpc 11 pic 0 recovered-clock" || "chassis fpc 11 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 17;
                  description
                    "Use fpc-11 as a primary source";
                }
                enum "fpc-12" {
                  junos:must "(("chassis fpc 12 pic 0 recovered-clock" || "chassis fpc 12 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 18;
                  description
                    "Use fpc-12 as a primary source";
                }
                enum "fpc-13" {
                  junos:must "(("chassis fpc 13 pic 0 recovered-clock" || "chassis fpc 13 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 19;
                  description
                    "Use fpc-13 as a primary source";
                }
                enum "fpc-14" {
                  junos:must "(("chassis fpc 14 pic 0 recovered-clock" || "chassis fpc 14 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 20;
                  description
                    "Use fpc-14 as a primary source";
                }
                enum "fpc-15" {
                  junos:must "(("chassis fpc 15 pic 0 recovered-clock" || "chassis fpc 15 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  value 21;
                  description
                    "Use fpc-15 as a primary source";
                }
              }
              description
                "Best choice synchronization reference source list";
            }
    
            leaf secondary {
              junos:must "((!("chassis synchronization source") || "chassis synchronization esmc-transmit"))";
              junos:must-message "source or esmc-transmit cannot be configured with secondary";
              type enumeration {
                enum "external-a" {
                  junos:must "(!("chassis synchronization primary external-a"))";
                  junos:must-message "external-a can be either primary or secondary";
                  value 0;
                  description
                    "Use external-a as a secondary source";
                }
                enum "external-b" {
                  junos:must "(!("chassis synchronization primary external-b"))";
                  junos:must-message "external-b can be either primary or secondary";
                  value 1;
                  description
                    "Use external-b as a secondary source";
                }
                enum "bits-a" {
                  junos:must "(!("chassis synchronization primary bits-a"))";
                  junos:must-message "bits-a can be either primary or secondary";
                  value 2;
                  description
                    "Use bits-a as a secondary source";
                }
                enum "bits-b" {
                  junos:must "(!("chassis synchronization primary bits-b"))";
                  junos:must-message "bits-b can be either primary or secondary";
                  value 3;
                  description
                    "Use bits-b as a secondary source";
                }
                enum "gps-0" {
                  junos:must "(!("chassis synchronization primary gps-0"))";
                  junos:must-message "gps-0 can be either primary or secondary";
                  value 4;
                  description
                    "Use gps-0 as a secondary source";
                }
                enum "gps-1" {
                  junos:must "(!("chassis synchronization primary gps-1"))";
                  junos:must-message "gps-1 can be either primary or secondary";
                  value 5;
                  description
                    "Use gps-1 as a secondary source";
                }
                enum "fpc-0" {
                  junos:must "(("chassis fpc 0 pic 0 recovered-clock" || "chassis fpc 0 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-0"))";
                  junos:must-message "fpc-0 can be either primary or secondary";
                  value 6;
                  description
                    "Use fpc-0 as a secondary source";
                }
                enum "fpc-1" {
                  junos:must "(("chassis fpc 1 pic 0 recovered-clock" || "chassis fpc 1 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-1"))";
                  junos:must-message "fpc-1 can be either primary or secondary";
                  value 7;
                  description
                    "Use fpc-1 as a secondary source";
                }
                enum "fpc-2" {
                  junos:must "(("chassis fpc 2 pic 0 recovered-clock" || "chassis fpc 2 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-2"))";
                  junos:must-message "fpc-2 can be either primary or secondary";
                  value 8;
                  description
                    "Use fpc-2 as a secondary source";
                }
                enum "fpc-3" {
                  junos:must "(("chassis fpc 3 pic 0 recovered-clock" || "chassis fpc 3 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-3"))";
                  junos:must-message "fpc-3 can be either primary or secondary";
                  value 9;
                  description
                    "Use fpc-3 as a secondary source";
                }
                enum "fpc-4" {
                  junos:must "(("chassis fpc 4 pic 0 recovered-clock" || "chassis fpc 4 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-4"))";
                  junos:must-message "fpc-4 can be either primary or secondary";
                  value 10;
                  description
                    "Use fpc-4 as a secondary source";
                }
                enum "fpc-5" {
                  junos:must "(("chassis fpc 5 pic 0 recovered-clock" || "chassis fpc 5 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-5"))";
                  junos:must-message "fpc-5 can be either primary or secondary";
                  value 11;
                  description
                    "Use fpc-5 as a secondary source";
                }
                enum "fpc-6" {
                  junos:must "(("chassis fpc 6 pic 0 recovered-clock" || "chassis fpc 6 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-6"))";
                  junos:must-message "fpc-6 can be either primary or secondary";
                  value 12;
                  description
                    "Use fpc-6 as a secondary source";
                }
                enum "fpc-7" {
                  junos:must "(("chassis fpc 7 pic 0 recovered-clock" || "chassis fpc 7 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-7"))";
                  junos:must-message "fpc-7 can be either primary or secondary";
                  value 13;
                  description
                    "Use fpc-7 as a secondary source";
                }
                enum "fpc-8" {
                  junos:must "(("chassis fpc 8 pic 0 recovered-clock" || "chassis fpc 8 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-8"))";
                  junos:must-message "fpc-8 can be either primary or secondary";
                  value 14;
                  description
                    "Use fpc-8 as a secondary source";
                }
                enum "fpc-9" {
                  junos:must "(("chassis fpc 9 pic 0 recovered-clock" || "chassis fpc 9 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-9"))";
                  junos:must-message "fpc-9 can be either primary or secondary";
                  value 15;
                  description
                    "Use fpc-9 as a secondary source";
                }
                enum "fpc-10" {
                  junos:must "(("chassis fpc 10 pic 0 recovered-clock" || "chassis fpc 10 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-10"))";
                  junos:must-message "fpc-10 can be either primary or secondary";
                  value 16;
                  description
                    "Use fpc-10 as a secondary source";
                }
                enum "fpc-11" {
                  junos:must "(("chassis fpc 11 pic 0 recovered-clock" || "chassis fpc 11 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-11"))";
                  junos:must-message "fpc-11 can be either primary or secondary";
                  value 17;
                  description
                    "Use fpc-11 as a secondary source";
                }
                enum "fpc-12" {
                  junos:must "(("chassis fpc 12 pic 0 recovered-clock" || "chassis fpc 12 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-12"))";
                  junos:must-message "fpc-12 can be either primary or secondary";
                  value 18;
                  description
                    "Use fpc-12 as a secondary source";
                }
                enum "fpc-13" {
                  junos:must "(("chassis fpc 13 pic 0 recovered-clock" || "chassis fpc 13 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-13"))";
                  junos:must-message "fpc-13 can be either primary or secondary";
                  value 19;
                  description
                    "Use fpc-13 as a secondary source";
                }
                enum "fpc-14" {
                  junos:must "(("chassis fpc 14 pic 0 recovered-clock" || "chassis fpc 14 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-14"))";
                  junos:must-message "fpc-14 can be either primary or secondary";
                  value 20;
                  description
                    "Use fpc-14 as a secondary source";
                }
                enum "fpc-15" {
                  junos:must "(("chassis fpc 15 pic 0 recovered-clock" || "chassis fpc 15 pic 1 recovered-clock"))";
                  junos:must-message "Must configure recovered-clock for this fpc";
                  junos:must "(!("chassis synchronization primary fpc-15"))";
                  junos:must-message "fpc-15 can be either primary or secondary";
                  value 21;
                  description
                    "Use fpc-15 as a secondary source";
                }
              }
              description
                "Alternative choice synchronization reference source list";
            }
          }  // container synchronization
    
          container lcd {
            status deprecated;
            description "Chassis LCD";
            uses apply-advanced;
    
            list fpc {
              key "name";
              ordered-by user;
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "FPC slot number";
              }
    
              choice menu-item {
                leaf maintenance-menu {
                  type empty;
                  description
                    "LCD maintenance menu";
                }
              }  // choice menu-item
    
              choice enable-disable {
                leaf disable {
                  type empty;
                  description
                    "Disable maintenance-menu";
                }
              }  // choice enable-disable
            }  // list fpc
    
            choice menu-item {
              leaf maintenance-menu {
                type empty;
                description
                  "LCD maintenance menu";
              }
            }  // choice menu-item
    
            choice enable-disable {
              leaf disable {
                type empty;
                description
                  "Disable maintenance-menu";
              }
            }  // choice enable-disable
          }  // container lcd
    
          container forwarding-options {
            description
              "Configure options to control packet forwarding";
            uses apply-advanced;
    
            choice uft_object {
              container l2-profile-one {
                presence "enable l2-profile-one";
                description
                  "MAC: 288K L3-host: 16K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container l2-profile-one
              container l2-profile-two {
                presence "enable l2-profile-two";
                description
                  "MAC: 224K L3-host: 80K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container l2-profile-two
              container l2-profile-three {
                presence
                  "enable l2-profile-three";
                description
                  "(default) MAC: 160K L3-host: 144K LPM: 16K, needs reboot for VC;restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container l2-profile-three
              container l3-profile {
                presence "enable l3-profile";
                description
                  "MAC: 96K L3-host: 208K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container l3-profile
              container lpm-profile {
                presence "enable lpm-profile";
                description
                  "MAC: 32K L3-host: 16K LPM: 128K EM:0, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf prefix-65-127-disable {
                  junos:must "(!(".. unicast-in-lpm"))";
                  junos:must-message "Cannot set both unicast-in-lpm and prefix-65-127-disable at the same time";
                  type empty;
                  description
                    "Disable IPV6 prefixes with length > 64";
                }
    
                leaf unicast-in-lpm {
                  type empty;
                  description
                    "Install unicast host entries in LPM table";
                }
              }  // container lpm-profile
              container exact-match-profile {
                presence
                  "enable exact-match-profile";
                description
                  "MAC: 8K L3-host: 8K LPM: 16K EM: 64K, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container exact-match-profile
              container vxlan-gbp-profile {
                presence
                  "enable vxlan-gbp-profile";
                description
                  "MAC: 48K L3-host: 48K LPM: 16K EM:32K, needs reboot for VC; restarts PFE if standalone";
              }  // container vxlan-gbp-profile
              container custom-profile {
                description
                  "(Partition the shared banks, will automatically restart the PFE when configured)";
                uses apply-advanced;
    
                container l2-entries {
                  description
                    "Customize l2 entries needed";
                  uses apply-advanced;
    
                  leaf num-banks {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type int32 {
                        range "0 .. 4";
                      }
                    }
                    default "0";
                    description
                      "Number of banks needed for entries of this type";
                  }
                }  // container l2-entries
    
                container l3-entries {
                  description
                    "Customize l3 entries needed";
                  uses apply-advanced;
    
                  leaf num-banks {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type int32 {
                        range "0 .. 4";
                      }
                    }
                    default "0";
                    description
                      "Number of banks needed for entries of this type";
                  }
                }  // container l3-entries
    
                container exact-match-entries {
                  description
                    "Customize exact match entries needed";
                  uses apply-advanced;
    
                  leaf num-banks {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type int32 {
                        range "0 .. 4";
                      }
                    }
                    default "0";
                    description
                      "Number of banks needed for entries of this type";
                  }
                }  // container exact-match-entries
    
                container lpm-entries {
                  description
                    "Customize lpm banks needed";
                  uses apply-advanced;
    
                  leaf num-banks {
                    type enumeration {
                      enum "0" {
                        value 0;
                      }
                      enum "2" {
                        value 1;
                      }
                      enum "4" {
                        value 2;
                      }
                    }
                    default "0";
                    description
                      "Number of banks needed for entries of this type";
                  }
    
                  leaf prefix-65-127-disable {
                    junos:must "(!(".. unicast-in-lpm"))";
                    junos:must-message "Cannot set both unicast-in-lpm and prefix-65-127-disable at the same time";
                    type empty;
                    description
                      "Disable IPV6 prefixes with length > 64";
                  }
                }  // container lpm-entries
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container custom-profile
            }  // choice uft_object
          }  // container forwarding-options
    
          leaf loopback-firewall-optimization {
            type empty;
            description
              "Optimal TCAM use,restarts PFE(for IP rsrved multicast dest & IP ttl=0/1,config explicitly)";
          }
    
          leaf epacl-firewall-optimization {
            type empty;
            description
              "Maximizes Egress Port ACLs TCAM use and restarts PFE";
          }
    
          container lcd-menu {
            junos:must "(!("..  lcd"))";
            junos:must-message "Cannot mix 'lcd-menu' and 'lcd maintenance-menu' configurations";
            description "Chassis LCD menu";
            uses apply-advanced;
    
            list fpc {
              key "name";
              ordered-by user;
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "FPC slot number";
              }
    
              uses apply-advanced;
    
              list menu-item {
                key "name";
                ordered-by user;
                description "LCD menu item";
                leaf name {
                  type string;
                  description "LCD menu name";
                }
    
                leaf disable {
                  type empty;
                  description "Disable LCD menu";
                }
              }  // list menu-item
            }  // list fpc
    
            list menu-item {
              key "name";
              ordered-by user;
              description "LCD menu item";
              leaf name {
                type string;
                description "LCD menu name";
              }
    
              leaf disable {
                type empty;
                description "Disable LCD menu";
              }
            }  // list menu-item
          }  // container lcd-menu
    
          leaf fru-poweron-sequence {
            type string {
              junos:posix-pattern "^[0-9 ]+$";
              junos:pattern-message "FRU in fru poweron sequence must be a number";
            }
            description
              "FRUs power on sequence like 0 1 2 3 ... within double quotes";
          }
    
          leaf fru-local-storage-disable {
            type empty;
            description
              "Disable and erase local storage on FPC.(FPC reboot required)";
          }
    
          container psm {
            description "Power supply module";
            uses apply-advanced;
    
            leaf max-power {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Configure power capacity for the PSM (W)";
            }
          }  // container psm
    
          leaf auto-image-upgrade {
            type empty;
            description
              "Auto image upgrade using DHCP";
          }
    
          container route-localization {
            junos:must "((any "chassis fpc <*> route-localization fib-local" && !("chassis system-domains protected-system-domains")))";
            junos:must-message "There must be at least one fpc with route-localization fib-local and no protected-system-domains";
            description
              "Route-Localization settings";
            uses apply-advanced;
    
            leaf inet {
              type empty;
              description
                "Route-Localization inet";
            }
    
            leaf inet6 {
              type empty;
              description
                "Route-Localization inet6";
            }
          }  // container route-localization
    
          container state {
            description "Set SFB upgrade state.";
            uses apply-advanced;
    
            leaf cb-upgrade {
              type enumeration {
                enum "off" {
                  value 0;
                  description
                    "Set after CB upgrade is complete";
                }
                enum "on" {
                  value 1;
                  description
                    "Set before the start of CB upgrade.";
                }
              }
              default "off";
              description
                "Set CB upgrade state on/off.";
            }
    
            leaf sfb-upgrade {
              type enumeration {
                enum "off" {
                  value 0;
                  description
                    "Set after SFB upgrade is complete";
                }
                enum "on" {
                  value 1;
                  description
                    "Set before the start of SFB upgrade.";
                }
              }
              default "off";
              description
                "Set SFB upgrade state on/off.";
            }
          }  // container state
    
          container multicast-loadbalance {
            presence
              "enable multicast-loadbalance";
            description
              "Multicast load balancing settings";
            uses chassis_ae_lb_type;
          }  // container multicast-loadbalance
    
          leaf extended-statistics {
            type empty;
            description
              "Enable extended system statistics";
          }
    
          container error {
            presence "enable error";
            description
              "Error level configuration for all FPC";
            uses chassis_fpc_error_type;
          }  // container error
    
          container oss-map {
            description
              "Translate Operation Supported System's requirements";
            uses apply-advanced;
    
            leaf model-name {
              type enumeration {
                enum "t640" {
                  value 0;
                  description
                    "Set to T640's model";
                }
                enum "t1600" {
                  value 1;
                  description
                    "Set to T1600's model";
                }
              }
              description
                "Override chassis model name for specific show/snmp output";
            }
          }  // container oss-map
    
          container jnu-management {
            description
              "JNU Management configuration";
            uses apply-advanced;
    
            leaf mode {
              type enumeration {
                enum "feature-rich" {
                  value 0;
                  description
                    "Feature Rich Mode";
                }
                enum "bng-control-plane" {
                  value 1;
                  description
                    "BNG control-plane mode";
                }
              }
              description "JNU Mode";
            }
    
            leaf satellite-name {
              type string;
              description "Satellite name";
            }
    
            leaf device-group {
              type string;
              description
                "Satellite device group";
            }
    
            list satellite {
              key "name";
              ordered-by user;
              description "List of satellites";
              leaf name {
                type string;
                description "Satellite name";
              }
    
              uses apply-advanced;
    
              leaf device-group {
                type string;
                description
                  "Satellite Device Group";
              }
    
              leaf model {
                type string;
                description "Satellite model";
              }
    
              leaf version {
                type string {
                  junos:posix-pattern "^[[:digit:]][[:alnum:]_.-]+$";
                  junos:pattern-message "Version should begin with a number";
                }
                description "Satellite version";
              }
            }  // list satellite
    
            leaf user {
              type string;
              description "Satellite User Name";
            }
    
            leaf controller {
              type string;
              description "Controller Name";
            }
    
            leaf authentication {
              type jt:unreadable;
              description
                "Authentication string";
            }
          }  // container jnu-management
    
          list satellite {
            key "name";
            ordered-by user;
            description
              "List of available satellite configurations";
            leaf name {
              type string;
              description "Satellite name";
            }
    
            uses apply-advanced;
          }  // list satellite
    
          leaf preserve-fpc-poweron-sequence {
            type empty;
            description
              "Preserve MPC poweron sequence for consistency across reboot";
          }
    
          leaf auto-satellite-conversion {
            type empty;
            description
              "Enable remote conversion to satellite device-mode";
          }
    
          container satellite-management {
            junos:must "(!("chassis aggregated-devices disable-lag-enhanced"))";
            junos:must-message "To configure chassis satellite-management, chassis aggregated-devices disable-lag-enhanced must not be set";
            presence
              "enable satellite-management";
            description
              "Satellite management configuration";
            uses apply-advanced;
    
            container designated-event-forwarding {
              presence
                "enable designated-event-forwarding";
              description
                "Designated event forwarding";
            }  // container designated-event-forwarding
    
            container traceoptions {
              description
                "Global satelite discovery and provisioning trace options";
              uses apply-advanced;
    
              leaf no-remote-trace {
                junos:must "("system tracing")";
                junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured";
                type empty;
                description
                  "Disable remote tracing";
              }
    
              container file {
                description
                  "Trace file information";
                leaf filename {
                  type string {
                    junos:posix-pattern "![/ %]";
                    junos:pattern-message "Must not contain '/', % or a space";
                    length "1 .. 1024";
                  }
                  description
                    "Name of file in which to write trace information";
                }
    
                leaf size {
                  type string;
                  description
                    "Maximum trace file size";
                }
    
                leaf files {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "2 .. 1000";
                    }
                  }
                  default "3";
                  description
                    "Maximum number of trace files";
                }
    
                choice world-readable-choice {
                  leaf world-readable {
                    type empty;
                    description
                      "Allow any user to read the log file";
                  }
                  leaf no-world-readable {
                    type empty;
                    description
                      "Don't allow any user to read the log file";
                  }
                }  // choice world-readable-choice
    
                leaf match {
                  type jt:regular-expression;
                  description
                    "Regular expression for lines to be logged";
                }
              }  // container file
    
              list flag {
                key "name";
                ordered-by user;
                description "Tracing parameters";
                leaf name {
                  type enumeration {
                    enum "parse" {
                      value 0;
                      description
                        "Trace configuration parsing";
                    }
                    enum "config-internal" {
                      value 1;
                      description
                        "Trace configuration internals";
                    }
                    enum "normal" {
                      value 2;
                      description
                        "Trace normal events";
                    }
                    enum "general" {
                      value 3;
                      description
                        "Trace general events";
                    }
                    enum "state" {
                      value 4;
                      description
                        "Trace state transitions";
                    }
                    enum "task" {
                      value 5;
                      description
                        "Trace SDPD task processing";
                    }
                    enum "timer" {
                      value 6;
                      description
                        "Trace SDPD task timer processing";
                    }
                    enum "krt" {
                      value 7;
                      description
                        "Trace communication over routing socket";
                    }
                    enum "lldp" {
                      value 8;
                      description
                        "Trace LLDP events";
                    }
                    enum "provision" {
                      value 9;
                      description
                        "Trace provisioning events";
                    }
                    enum "extended-port" {
                      value 10;
                      description
                        "Trace extended-port events";
                    }
                    enum "multi-chassis" {
                      value 11;
                      description
                        "Trace multi-chassis events";
                    }
                    enum "upgrade-group" {
                      value 12;
                      description
                        "Trace sw-update events";
                    }
                    enum "device" {
                      value 13;
                      description
                        "Trace device FSM events";
                    }
                    enum "tcp" {
                      value 14;
                      description
                        "Trace TCP events";
                    }
                    enum "interface" {
                      value 15;
                      description
                        "Trace interface events";
                    }
                    enum "cluster" {
                      value 16;
                      description
                        "Trace cluster events";
                    }
                    enum "all" {
                      value 17;
                      description
                        "Trace everything";
                    }
                  }
                }
    
                leaf disable {
                  type empty;
                  description
                    "Disable this trace flag";
                }
              }  // list flag
            }  // container traceoptions
    
            leaf cluster-policy {
              junos:must "("policy-options satellite-policies candidate-uplink-port-policy $$")";
              junos:must-message "Satellite cluster-policy not defined";
              type string;
              description "Cluster policy";
            }
    
            list cluster {
              key "name";
              description
                "Configure a satellite device cluster";
              leaf name {
                type string {
                  length "1 .. 16";
                }
                description
                  "Satellite cluster name";
              }
    
              uses apply-advanced;
    
              leaf cluster-id {
                junos:must "(unique "chassis satellite-management cluster <*> cluster-id $$")";
                junos:must-message "Cluster-id has to be unique among all provisioned clusters";
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 32";
                  }
                }
                description
                  "Satellite cluster identifier";
              }
    
              leaf-list cascade-ports {
                type union {
                  type jt:interface-device;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description "Cascade ports";
              }
    
              leaf cluster-policy {
                junos:must "("policy-options satellite-policies candidate-uplink-port-policy $$")";
                junos:must-message "Satellite cluster-policy not defined";
                type string;
                description
                  "Candidate uplink policy";
              }
    
              list fpc {
                key "name";
                leaf name {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "65 .. 254";
                    }
                  }
                  description
                    "Satellite slot identifier";
                }
    
                uses apply-advanced;
    
                leaf alias {
                  junos:must "(unique "chassis satellite-management cluster <*> fpc <*> alias $$")";
                  junos:must-message "alias has to be unique among all provisioned satellite-devices";
                  junos:must "(unique "chassis satellite-management fpc <*> alias $$")";
                  junos:must-message "alias has to be unique among all provisioned satellite-devices";
                  type string {
                    length "1 .. 16";
                  }
                  description "Satellite alias";
                }
    
                leaf description {
                  type string {
                    length "1 .. 64";
                  }
                  description
                    "Satellite description";
                }
    
                leaf member-id {
                  junos:must "(unique ".. .. fpc <*> member-id $$")";
                  junos:must-message "Member-id has to be unique among all members in a cluster";
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 62";
                    }
                  }
                  description
                    "Satellite member id";
                }
    
                leaf system-id {
                  junos:must "(unique "chassis satellite-management cluster <*> fpc <*> system-id $$")";
                  junos:must-message "System-id has to be unique among all provisioned satellite-devices";
                  junos:must "(unique "chassis satellite-management fpc <*> system-id $$")";
                  junos:must-message "System-id has to be unique among all provisioned satellite-devices";
                  type jt:mac-addr;
                  description
                    "Satellite system id";
                }
    
                leaf cluster-policy {
                  junos:must "("policy-options satellite-policies candidate-uplink-port-policy $$")";
                  junos:must-message "Satellite Cluster policy not defined";
                  type string;
                  description
                    "Candidate uplink policy";
                }
              }  // list fpc
            }  // list cluster
    
            list fpc {
              key "name";
              description
                "FPC identifier for a satellite device";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "65 .. 254";
                  }
                }
                description
                  "Satellite slot identifier";
              }
    
              uses apply-advanced;
    
              leaf serial-number {
                junos:must "(unique "chassis satellite-management fpc <*> serial-number $$")";
                junos:must-message "serial-number has to be unique among all provisioned satellite-devices";
                type string {
                  length "1 .. 16";
                }
                description
                  "Satellite serial number";
              }
    
              leaf system-id {
                junos:must "(unique "chassis satellite-management fpc <*> system-id $$")";
                junos:must-message "System-id has to be unique among all provisioned satellite-devices";
                type jt:mac-addr;
                description
                  "Satellite system id";
              }
    
              leaf target-mode {
                type empty;
                description
                  "Enable target mode forwarding for extended-ports";
              }
    
              leaf alias {
                junos:must "(unique "chassis satellite-management fpc <*> alias $$")";
                junos:must-message "alias has to be unique among all provisioned satellite-devices";
                type string {
                  length "1 .. 16";
                }
                description "Satellite alias";
              }
    
              leaf description {
                type string {
                  length "1 .. 64";
                }
                description
                  "Satellite description";
              }
    
              container management-address {
                presence
                  "enable management-address";
                description
                  "Satellite Management Interface IP";
                uses apply-advanced;
    
                leaf address {
                  junos:must "(unique "chassis satellite-management fpc <*> management-address address $$")";
                  junos:must-message "management interface IP address has to be unique among all provisioned satellite-devices";
                  type jt:ipv4prefix;
                  description
                    "Satellite Management Interface IP address";
                }
    
                leaf gateway {
                  type jt:ipv4addr;
                  description
                    "Satellite Management Interface Gateway IP address";
                }
              }  // container management-address
    
              leaf-list cascade-ports {
                type union {
                  type jt:interface-device;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description "Cascade ports";
              }
    
              leaf extended-ports-template {
                junos:must "("policy-options satellite-policies extended-ports-template $$")";
                junos:must-message "Extended ports template not defined";
                type string;
                description
                  "Extended ports template";
              }
    
              choice ufd_type {
                container uplink-failure-detection {
                  presence
                    "enable uplink-failure-detection";
                  description
                    "Enable uplink-failure-detection";
                  uses apply-advanced;
    
                  leaf candidate-uplink-policy {
                    junos:must "("policy-options satellite-policies candidate-uplink-port-policy $$")";
                    junos:must-message "Candidate-uplink-port-policy not defined";
                    type string;
                    description
                      "Candidate uplink policy";
                  }
                }  // container uplink-failure-detection
              }  // choice ufd_type
    
              leaf environment-monitoring-policy {
                junos:must "("policy-options satellite-policies environment-monitoring-policy $$")";
                junos:must-message "Environment monitoring policy not defined";
                type string;
                description
                  "Environment monitoring policy";
              }
    
              choice forwarding-policy-type {
                container forwarding-policy {
                  presence
                    "enable forwarding-policy";
                  description
                    "Enable a forwarding policy";
                  uses apply-advanced;
    
                  leaf forwarding-policy-alias {
                    junos:must "("policy-options satellite-policies forwarding-policy $$")";
                    junos:must-message "forwarding-policy not defined";
                    type string;
                    description
                      "Define forwarding policy alias";
                  }
                }  // container forwarding-policy
              }  // choice forwarding-policy-type
            }  // list fpc
    
            leaf extended-ports-policy {
              junos:must "("policy-options satellite-policies extended-ports-policy $$")";
              junos:must-message "Extended ports policy not defined";
              type string;
              description
                "Extended ports policy";
            }
    
            choice ufd_type {
              container uplink-failure-detection {
                presence
                  "enable uplink-failure-detection";
                description
                  "Enable uplink-failure-detection";
                uses apply-advanced;
    
                leaf candidate-uplink-policy {
                  junos:must "("policy-options satellite-policies candidate-uplink-port-policy $$")";
                  junos:must-message "Candidate-uplink-port-policy not defined";
                  type string;
                  description
                    "Candidate uplink policy";
                }
              }  // container uplink-failure-detection
            }  // choice ufd_type
    
            container psu {
              description
                "Power Supply Unit redundancy configuration";
              uses apply-advanced;
    
              container redundancy {
                description
                  "PSU Redundancy settings";
                uses apply-advanced;
    
                leaf n-plus-n {
                  type empty;
                  description
                    "PSU redundancy: N+N configuration";
                }
              }  // container redundancy
            }  // container psu
    
            container environment-monitoring-policy {
              presence
                "enable environment-monitoring-policy";
              description
                "Environment monitoring policy";
              uses apply-advanced;
    
              leaf policy-name {
                junos:must "("policy-options satellite-policies environment-monitoring-policy $$")";
                junos:must-message "Environment monitoring policy not defined";
                type string;
                description
                  "Default environment monitoring policy";
              }
            }  // container environment-monitoring-policy
    
            choice forwarding-policy-type {
              container forwarding-policy {
                presence
                  "enable forwarding-policy";
                description
                  "Enable a forwarding policy";
                uses apply-advanced;
    
                leaf forwarding-policy-alias {
                  junos:must "("policy-options satellite-policies forwarding-policy $$")";
                  junos:must-message "forwarding-policy not defined";
                  type string;
                  description
                    "Define forwarding policy alias";
                }
              }  // container forwarding-policy
            }  // choice forwarding-policy-type
    
            container redundancy-groups {
              description
                "Redundancy groups configuration";
              uses apply-advanced;
    
              leaf chassis-id {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 4";
                  }
                }
                description "Chassis identifier";
              }
    
              list rg-group {
                key "name";
                ordered-by user;
                description "Redundancy groups";
                uses redundancy-group-type;
              }  // list rg-group
            }  // container redundancy-groups
    
            container upgrade-groups {
              description
                "Upgrade group configuration";
              uses apply-advanced;
    
              list upgrade-group {
                key "name";
                description "Upgrade group";
                uses upgrade-group-type;
              }  // list upgrade-group
            }  // container upgrade-groups
    
            container auto-satellite-conversion {
              description
                "Enable automatic satellite conversion";
              uses apply-advanced;
    
              leaf-list satellite {
                type string {
                  length "1 .. 100";
                }
                ordered-by user;
                description
                  "Satellite slot-id or range or all";
              }
            }  // container auto-satellite-conversion
    
            container single-home {
              description
                "Devices are connected to local aggregation device only";
              uses apply-advanced;
    
              leaf-list satellite {
                type string {
                  length "1 .. 100";
                }
                ordered-by user;
                description
                  "Satellite slot-id or range or all";
              }
            }  // container single-home
    
            leaf aging-timer {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "2 .. 60000";
                }
              }
              units "minutes";
              description "Aging-timer";
            }
    
            leaf block-console-access {
              type empty;
              description "Block console access";
            }
    
            container firewall {
              description
                "Define a firewall configuration";
              uses apply-advanced;
    
              container family {
                description "Protocol family";
                container bridge {
                  description
                    "Protocol family BRIDGE for firewall filter";
                  uses apply-advanced;
    
                  list filter {
                    key "name";
                    ordered-by user;
                    uses satellite-bridge-filter;
                  }  // list filter
                }  // container bridge
    
                container ethernet-switching {
                  description
                    "Protocol family Ethernet Switching for firewall filter";
                  uses apply-advanced;
    
                  list filter {
                    key "name";
                    ordered-by user;
                    description
                      "Define an Ethernet Switching firewall filter";
                    uses satellite-bridge-filter;
                  }  // list filter
                }  // container ethernet-switching
              }  // container family
            }  // container firewall
          }  // container satellite-management
    
          container periodic {
            description
              "Chassisd periodic options";
            uses apply-advanced;
    
            leaf yield-cpu {
              type empty;
              description
                "Yield cpu in FRU periodic";
            }
    
            leaf one-sib-per-check {
              type empty;
              description
                "Check one SIB per periodic";
            }
    
            leaf no-sib-asic-stats {
              type empty;
              description
                "Disable asic statis for all SIBs in periodic";
            }
    
            leaf slow-fpc-check {
              type empty;
              description
                "Slow FPC check in periodic";
            }
    
            leaf ch-power-check-interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 60";
                }
              }
              units "seconds";
              default "0";
              description
                "Chassis power check interval, 0=default";
            }
    
            leaf re-check-interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 60";
                }
              }
              units "seconds";
              default "0";
              description
                "Chassis RE check interval, 0=default";
            }
          }  // container periodic
    
          leaf turbotx-disable {
            type empty;
            description
              "Disable turbotx processing";
          }
    
          container thermal-health-check {
            presence
              "enable thermal-health-check";
            description
              "Enable Thermal Health check of the chassis";
            uses apply-advanced;
    
            container fet-failure-check {
              presence
                "enable fet-failure-check";
              uses apply-advanced;
    
              leaf action-onfail {
                type enumeration {
                  enum "none" {
                    value 0;
                    description
                      "No action when Oring FET detected";
                  }
                  enum "auto-shutdown" {
                    value 1;
                    description
                      "Shutdown when Oring FET detected";
                  }
                }
                default "none";
                description
                  "Set the action when Oring FET detected";
              }
            }  // container fet-failure-check
          }  // container thermal-health-check
    
          container fpc-down-on-repeated-conn-drops {
            description
              "Bring FPC down if connection drops repeatedly";
            uses apply-advanced;
    
            leaf max-drop-count {
              junos:must "("chassis fpc-down-on-repeated-conn-drops time-interval")";
              junos:must-message "must configure drop-time-interval as well";
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              default "0";
              description
                "Number of connection drops to shutdown FPC";
            }
    
            leaf time-interval {
              junos:must "("chassis fpc-down-on-repeated-conn-drops max-drop-count")";
              junos:must-message "must configure max-drop-count as well";
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              units "minutes";
              default "0";
              description
                "Interval in minutes over which connection drops are counted";
            }
          }  // container fpc-down-on-repeated-conn-drops
    
          container mode {
            presence "enable mode";
            description
              "Bringup FRU in Standalone mode";
            uses apply-advanced;
    
            container standalone {
              presence "enable standalone";
              description
                "Bringup FRU in standalone mode1";
              uses apply-advanced;
    
              list fpc {
                key "name";
                leaf name {
                  type string {
                    length "1 .. 4";
                  }
                  description "FPC slot number";
                }
    
                uses apply-advanced;
    
                container loopback {
                  description
                    "Loopback Configuration for Mode & Type";
                  uses apply-advanced;
    
                  leaf wan {
                    type enumeration {
                      enum "serdes" {
                        value 0;
                        description
                          "Serdes type loopback";
                      }
                      enum "retimer" {
                        value 1;
                        description
                          "Retimer type loopback";
                      }
                    }
                    default "serdes";
                  }
    
                  leaf fabric {
                    type enumeration {
                      enum "serdes" {
                        value 0;
                        description
                          "Serdes type loopback";
                      }
                      enum "retimer" {
                        value 1;
                        description
                          "Retimer type loopback";
                      }
                    }
                    default "serdes";
                  }
                }  // container loopback
              }  // list fpc
    
              list fabric-card {
                key "name";
                ordered-by user;
                description
                  "Fabric Card Loopback setting";
                uses chassis_fabric_card_type;
              }  // list fabric-card
            }  // container standalone
          }  // container mode
    
          container system-domains {
            presence "enable system-domains";
            description
              "Root and protected system domain configuration";
            uses apply-advanced;
    
            leaf root-domain-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 3";
                }
              }
              description
                "Root domain identifier";
            }
    
            list protected-system-domains {
              key "name";
              description
                "Protected system domain configuration";
              uses juniper-protected-system-domain;
            }  // list protected-system-domains
    
            container traceoptions {
              description
                "Protected system domain traceoptions";
              uses juniper-protected-system-domain-traceoptions;
            }  // container traceoptions
          }  // container system-domains
    
          container network-slices {
            junos:must "("system commit synchronize")";
            junos:must-message "[system commit synchronize] has to be configured";
            presence "enable network-slices";
            description
              "Network slices configuration";
            uses apply-advanced;
    
            container guest-network-functions {
              presence
                "enable guest-network-functions";
              description
                "Guest network function configuration";
              uses apply-advanced;
    
              list gnf {
                key "name";
                description
                  "Guest network function";
                uses juniper-gnf;
              }  // list gnf
            }  // container guest-network-functions
    
            leaf vlan-isolation {
              type empty;
              description
                "Enable VLAN isolation for Control Plane";
            }
          }  // container network-slices
    
          container cluster {
            description
              "Chassis cluster configuration";
            uses apply-advanced;
    
            container traceoptions {
              description
                "Set chassis cluster traceoptions";
              uses apply-advanced;
    
              leaf no-remote-trace {
                junos:must "("system tracing")";
                junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured";
                type empty;
                description
                  "Disable remote tracing";
              }
    
              container file {
                description
                  "Trace file information";
                leaf filename {
                  type string {
                    junos:posix-pattern "![/ %]";
                    junos:pattern-message "Must not contain '/', % or a space";
                    length "1 .. 1024";
                  }
                  description
                    "Name of file in which to write trace information";
                }
    
                leaf size {
                  type string;
                  description
                    "Maximum trace file size";
                }
    
                leaf files {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "2 .. 1000";
                    }
                  }
                  default "3";
                  description
                    "Maximum number of trace files";
                }
    
                choice world-readable-choice {
                  leaf world-readable {
                    type empty;
                    description
                      "Allow any user to read the log file";
                  }
                  leaf no-world-readable {
                    type empty;
                    description
                      "Don't allow any user to read the log file";
                  }
                }  // choice world-readable-choice
    
                leaf match {
                  type jt:regular-expression;
                  description
                    "Regular expression for lines to be logged";
                }
              }  // container file
    
              list flag {
                key "name";
                ordered-by user;
                description "Tracing parameters";
                leaf name {
                  type enumeration {
                    enum "cli" {
                      value 0;
                      description
                        "Trace CLI events";
                    }
                    enum "configuration" {
                      value 1;
                      description
                        "Trace configuration events";
                    }
                    enum "eventlib" {
                      value 2;
                      description
                        "Trace event library events";
                    }
                    enum "fsm" {
                      value 3;
                      description
                        "Trace finite state machine events";
                    }
                    enum "heartbeat" {
                      value 4;
                      description
                        "Trace JSRPD heartbeats";
                    }
                    enum "interface" {
                      value 5;
                      description
                        "Trace interface related events";
                    }
                    enum "routing-socket" {
                      value 6;
                      description
                        "Trace routing socket events";
                    }
                    enum "uspipc" {
                      value 7;
                      description
                        "Trace USP IPC events";
                    }
                    enum "init" {
                      value 8;
                      description
                        "Trace initialization events";
                    }
                    enum "socket" {
                      value 9;
                      description
                        "Trace socket events";
                    }
                    enum "snmp" {
                      value 10;
                      description
                        "Trace snmp events";
                    }
                    enum "ip-monitoring" {
                      value 11;
                      description
                        "Trace IP monitoring events";
                    }
                    enum "hw-monitoring" {
                      value 12;
                      description
                        "Trace HW  monitoring events";
                    }
                    enum "fabric-monitoring" {
                      value 13;
                      description
                        "Trace fabric monitoring events";
                    }
                    enum "health-monitoring" {
                      value 14;
                      description
                        "Trace health monitoring events";
                    }
                    enum "schedule-monitoring" {
                      value 15;
                      description
                        "Trace schedule monitoring events";
                    }
                    enum "heartbeat-tlv" {
                      value 16;
                      description
                        "Trace TLV based heart-beat";
                    }
                    enum "ha-peer" {
                      value 17;
                      description
                        "Trace HA peer related info";
                    }
                    enum "srg" {
                      value 18;
                      description
                        "Trace HA srg related info";
                    }
                    enum "all" {
                      value 19;
                      description
                        "Trace all events";
                    }
                  }
                }
              }  // list flag
    
              leaf level {
                type enumeration {
                  enum "emergency" {
                    value 0;
                    description
                      "Match emergency conditions";
                  }
                  enum "alert" {
                    value 1;
                    description
                      "Match alert conditions";
                  }
                  enum "critical" {
                    value 2;
                    description
                      "Match critical conditions";
                  }
                  enum "error" {
                    value 3;
                    description
                      "Match error conditions";
                  }
                  enum "warning" {
                    value 4;
                    description
                      "Match warning messages";
                  }
                  enum "notice" {
                    value 5;
                    description
                      "Match notice level messages";
                  }
                  enum "info" {
                    value 6;
                    description
                      "Match informational messages";
                  }
                  enum "debug" {
                    value 7;
                    description
                      "Match debug messages";
                  }
                  enum "all" {
                    value 8;
                    description
                      "Match all levels";
                  }
                }
                default "info";
                description
                  "Set level of tracing";
              }
            }  // container traceoptions
    
            leaf control-link-recovery {
              type empty;
              description
                "Enable automatic control link recovery";
            }
    
            leaf health-monitoring {
              type empty;
              description
                "Enable ha health monitoring";
            }
    
            leaf reth-count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16;
              }
              description
                "Number of redundant ethernet interfaces";
            }
    
            container control-interface {
              description
                "Disable/enable HA control-link interface";
              uses apply-advanced;
    
              list node {
                key "name";
                ordered-by user;
                description
                  "Set node specific parameters";
                leaf name {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 1";
                    }
                  }
                  description "Node identifier";
                }
    
                leaf disable {
                  type empty;
                  description
                    "Disable HA control interface";
                }
              }  // list node
            }  // container control-interface
    
            list redundant-interface {
              key "name";
              max-elements 10;
              ordered-by user;
              description
                "Redundant peer configuration";
              leaf name {
                type union {
                  type jt:interface-device;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Redundant backend L3 interface";
              }
    
              uses apply-advanced;
    
              leaf mapping-interface {
                type union {
                  type jt:interface-device;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Mapping interface to L3 redundant interface";
              }
            }  // list redundant-interface
    
            list fabric-member {
              key "name";
              ordered-by user;
              description
                "Fabric member interface configuration";
              leaf name {
                junos:must "(any "interfaces <*> fabric-options member-interfaces $$")";
                junos:must-message "Interface must be defined under 'interfaces <fab*> fabric-option member-interfaces'";
                type union {
                  type jt:interface-device;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Fabric member interface";
              }
    
              uses apply-advanced;
    
              leaf vlan-id {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 4094";
                  }
                }
                description
                  "VLAN ID for fabric member interface";
              }
    
              container virtual-interface {
                presence
                  "enable virtual-interface";
                description
                  "Name of the virtual mapped hsxe interface";
                uses apply-advanced;
    
                leaf virtual-interface-name {
                  type string {
                    junos:posix-pattern "^hsxe[0-3]$";
                    junos:pattern-message "Only valid hsxe0-3 interfaces are allowed";
                    length "1 .. 5";
                  }
                  description
                    "Name of the hsxe interface";
                }
              }  // container virtual-interface
            }  // list fabric-member
    
            list control-ports {
              key "fpc port";
              ordered-by user;
              description
                "Enable specific chassis cluster control ports";
              leaf fpc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "FPC slot number";
              }
    
              leaf port {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 2";
                  }
                }
                description "Port number";
              }
            }  // list control-ports
    
            leaf heartbeat-interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              units "milliseconds";
              default "1000";
              description
                "Interval between successive heartbeats";
            }
    
            leaf heartbeat-threshold {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              default "3";
              description
                "Number of consecutive missed heartbeats to indicate device failure";
            }
    
            container network-management {
              description
                "Define parameters for network management";
              uses apply-advanced;
    
              leaf cluster-master {
                type empty;
                description
                  "Enable in-band management on cluster-master";
              }
            }  // container network-management
    
            list node {
              key "name";
              ordered-by user;
              status deprecated;
              description
                "Set the list of nodes in the cluster";
              leaf name {
                type enumeration {
                  enum "0" {
                    value 0;
                    description
                      "Node identifier 0";
                  }
                  enum "1" {
                    value 1;
                    description
                      "Node identifier 1";
                  }
                }
                description "Node identifier";
              }
    
              uses apply-advanced;
            }  // list node
    
            list redundancy-group {
              key "name";
              ordered-by user;
              description
                "Set redundancy-group parameters";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint8;
                }
                description
                  "Redundancy-group number";
              }
    
              uses apply-advanced;
    
              list node {
                key "name";
                ordered-by user;
                description
                  "Set node specific parameters";
                leaf name {
                  type enumeration {
                    enum "0" {
                      value 0;
                      description
                        "Node identifier 0";
                    }
                    enum "1" {
                      value 1;
                      description
                        "Node identifier 1";
                    }
                  }
                  description "Node identifier";
                }
    
                leaf priority {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint8 {
                      range "1 .. 254";
                    }
                  }
                  description
                    "Priority of the node in the redundancy-group";
                }
              }  // list node
    
              container preempt {
                presence "enable preempt";
                description
                  "Allow preemption of primaryship based on priority";
                uses apply-advanced;
    
                leaf delay {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint16 {
                      range "1 .. 21600";
                    }
                  }
                  units "seconds";
                  description
                    "Time to wait before taking over mastership";
                }
    
                leaf limit {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint16 {
                      range "1 .. 50";
                    }
                  }
                  description
                    "Max number of preemptive failovers allowed";
                }
    
                leaf period {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint16 {
                      range "1 .. 1400";
                    }
                  }
                  units "seconds";
                  description
                    "Time period during which the limit is applied";
                }
              }  // container preempt
    
              leaf gratuitous-arp-count {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint8 {
                    range "1 .. 16";
                  }
                }
                description
                  "Number of gratuitous ARPs to send on an active interface after failover";
              }
    
              leaf hold-down-interval {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "0 .. 1800";
                  }
                }
                units "seconds";
                description
                  "RG failover interval. RG0(300-1800) RG1+(0-1800)";
              }
    
              list interface-monitor {
                key "name";
                ordered-by user;
                description
                  "Define interfaces to monitor";
                leaf name {
                  junos:must "("interfaces $$")";
                  junos:must-message "Interface must be defined before configuring monitoring";
                  type union {
                    type jt:interface-device;
                    type string {
                      pattern "<.*>|$.*";
                    }
                  }
                  description
                    "Name of the interface to monitor";
                }
    
                leaf weight {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint16 {
                      range "0 .. 255";
                    }
                  }
                  description
                    "Weight assigned to this interface that influences failover";
                }
              }  // list interface-monitor
    
              container ip-monitoring {
                description
                  "Define parameters for IP monitoring feature";
                uses apply-advanced;
    
                leaf global-weight {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint16 {
                      range "0 .. 255";
                    }
                  }
                  default "255";
                  description
                    "Define global weight for IP monitoring";
                }
    
                leaf global-threshold {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint16 {
                      range "0 .. 255";
                    }
                  }
                  default "0";
                  description
                    "Define global threshold for IP monitoring";
                }
    
                leaf retry-interval {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint16 {
                      range "1 .. 30";
                    }
                  }
                  default "1";
                  description
                    "Define the time interval in seconds between retries.";
                }
    
                leaf retry-count {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint16 {
                      range "5 .. 15";
                    }
                  }
                  default "5";
                  description
                    "Number of retries needed to declare reachablity failure";
                }
    
                container family {
                  description
                    "Define protocol family";
                  uses apply-advanced;
    
                  container inet {
                    description
                      "Define IPv4 related parameters";
                    uses apply-advanced;
    
                    list address {
                      key "name";
                      description
                        "Define IP address related parameters";
                      uses ip-monitoring-address-type;
                    }  // list address
                  }  // container inet
                }  // container family
              }  // container ip-monitoring
            }  // list redundancy-group
    
            container configuration-synchronize {
              description
                "Cluster configuration action";
              uses apply-advanced;
    
              leaf no-secondary-bootup-auto {
                type empty;
                description
                  "Disable auto configuration synchronize on secondary bootup";
              }
            }  // container configuration-synchronize
    
            leaf use-actual-mac-on-physical-interfaces {
              type empty;
              description
                "Use Hypervisor provided MAC for physical interfaces on virtual platforms";
            }
    
            leaf use-active-child-mac-on-reth {
              type empty;
              description
                "Copy Child's physical MAC on RETH parent's current MAC";
            }
          }  // container cluster
    
          container high-availability {
            presence "enable high-availability";
            description
              "Enable High Availability mode";
            uses apply-advanced;
    
            container local-id {
              description "Local Identifier";
              leaf id {
                junos:must "(!("chassis high-availability peer-id $$"))";
                junos:must-message "high-availability local-id must be different with peer-id";
                junos:must "("chassis high-availability peer-id")";
                junos:must-message "high-availability peer-id must be defined";
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint8 {
                    range "1 .. 10";
                  }
                }
                description
                  "Local identifier number";
              }
    
              leaf local-ip {
                type jt:ipaddr;
                description
                  "Local IPv4/IPv6 address";
              }
            }  // container local-id
    
            list peer-id {
              key "name";
              ordered-by user;
              description
                "Peer related information";
              leaf name {
                junos:must "(!("chassis high-availability local-id $$"))";
                junos:must-message "high-availability local-id must be different with peer-id";
                junos:must "("chassis high-availability local-id")";
                junos:must-message "high-availability local-id must be defined";
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint8 {
                    range "1 .. 10";
                  }
                }
                description "Peer Identifier";
              }
    
              uses apply-advanced;
    
              leaf desc {
                type string {
                  length "1 .. 255";
                }
                description "Peer Description";
              }
    
              leaf peer-ip {
                type jt:ipaddr;
                description
                  "Peer IPv4/IPv6 address";
              }
    
              leaf interface {
                junos:must "(!(("protocols l2-learning global-mode switching" && "interfaces $$ family ethernet-switching")))";
                junos:must-message "Referenced interface must not be ethernet-switching interface of switching mode";
                type union {
                  type jt:interface-name;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Name of the interface";
              }
    
              leaf routing-instance {
                junos:must "("routing-instances $$ instance-type virtual-router")";
                junos:must-message "'instance-type' for the referenced routing-instance must be configured as virtual-router";
                junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
                junos:must-message "referenced routing-instance must be defined";
                type string {
                  junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                  junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                }
                description
                  "Routing instance to locate the peer route";
              }
    
              leaf vpn-profile {
                junos:must "("security ipsec vpn $$ ha-link-encryption")";
                junos:must-message "Referenced vpn object must have ha-link-encryption flag defined";
                junos:must "("security ipsec vpn $$")";
                junos:must-message "Referenced vpn object must be defined under [edit security ipsec vpn]";
                type string {
                  length "1 .. 255";
                }
                description
                  "VPN Profile name for HA link Encryption";
              }
    
              container liveness-detection {
                presence
                  "enable liveness-detection";
                description
                  "Bidirectional Forwarding Detection options for the peer";
                uses apply-advanced;
    
                leaf version {
                  type enumeration {
                    enum "0" {
                      value 0;
                      description
                        "BFD version 0 (deprecated)";
                    }
                    enum "1" {
                      value 1;
                      description
                        "BFD version 1";
                    }
                    enum "automatic" {
                      value 2;
                      description
                        "Choose BFD version automatically";
                    }
                  }
                  default "automatic";
                  description
                    "BFD protocol version number";
                }
    
                leaf minimum-interval {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 255000";
                    }
                  }
                  units "milliseconds";
                  description
                    "Minimum transmit and receive interval";
                }
    
                leaf minimum-transmit-interval {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 255000";
                    }
                  }
                  units "milliseconds";
                  status deprecated;
                  description
                    "Minimum transmit interval";
                }
    
                leaf minimum-receive-interval {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 255000";
                    }
                  }
                  units "milliseconds";
                  description
                    "Minimum receive interval";
                }
    
                leaf multiplier {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 255";
                    }
                  }
                  default "3";
                  description
                    "Detection time multiplier";
                }
    
                choice adaptation-choice {
                  leaf no-adaptation {
                    type empty;
                    description
                      "Disable adaptation";
                  }
                }  // choice adaptation-choice
    
                container transmit-interval {
                  description
                    "Transmit-interval options";
                  uses apply-advanced;
    
                  leaf minimum-interval {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 255000";
                      }
                    }
                    units "milliseconds";
                    description
                      "Minimum transmit interval";
                  }
    
                  leaf threshold {
                    type union {
                      type uint32;
                      type string {
                        pattern "<.*>|$.*";
                      }
                    }
                    units "milliseconds";
                    description
                      "High transmit interval triggering a trap";
                  }
                }  // container transmit-interval
    
                container detection-time {
                  description
                    "Detection-time options";
                  uses apply-advanced;
    
                  leaf threshold {
                    type union {
                      type uint32;
                      type string {
                        pattern "<.*>|$.*";
                      }
                    }
                    units "milliseconds";
                    description
                      "High detection-time triggering a trap";
                  }
                }  // container detection-time
              }  // container liveness-detection
            }  // list peer-id
    
            container traceoptions {
              description
                "Set chassis l3-ha traceoptions";
              uses apply-advanced;
    
              leaf no-remote-trace {
                junos:must "("system tracing")";
                junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured";
                type empty;
                description
                  "Disable remote tracing";
              }
    
              container file {
                description
                  "Trace file information";
                leaf filename {
                  type string {
                    junos:posix-pattern "![/ %]";
                    junos:pattern-message "Must not contain '/', % or a space";
                    length "1 .. 1024";
                  }
                  description
                    "Name of file in which to write trace information";
                }
    
                leaf size {
                  type string;
                  description
                    "Maximum trace file size";
                }
    
                leaf files {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "2 .. 1000";
                    }
                  }
                  default "3";
                  description
                    "Maximum number of trace files";
                }
    
                choice world-readable-choice {
                  leaf world-readable {
                    type empty;
                    description
                      "Allow any user to read the log file";
                  }
                  leaf no-world-readable {
                    type empty;
                    description
                      "Don't allow any user to read the log file";
                  }
                }  // choice world-readable-choice
    
                leaf match {
                  type jt:regular-expression;
                  description
                    "Regular expression for lines to be logged";
                }
              }  // container file
    
              list flag {
                key "name";
                ordered-by user;
                description "Tracing parameters";
                leaf name {
                  type enumeration {
                    enum "cli" {
                      value 0;
                      description
                        "Trace CLI events";
                    }
                    enum "configuration" {
                      value 1;
                      description
                        "Trace configuration events";
                    }
                    enum "eventlib" {
                      value 2;
                      description
                        "Trace event library events";
                    }
                    enum "fsm" {
                      value 3;
                      description
                        "Trace finite state machine events";
                    }
                    enum "heartbeat" {
                      value 4;
                      description
                        "Trace JSRPD heartbeats";
                    }
                    enum "interface" {
                      value 5;
                      description
                        "Trace interface related events";
                    }
                    enum "routing-socket" {
                      value 6;
                      description
                        "Trace routing socket events";
                    }
                    enum "uspipc" {
                      value 7;
                      description
                        "Trace USP IPC events";
                    }
                    enum "init" {
                      value 8;
                      description
                        "Trace initialization events";
                    }
                    enum "socket" {
                      value 9;
                      description
                        "Trace socket events";
                    }
                    enum "snmp" {
                      value 10;
                      description
                        "Trace snmp events";
                    }
                    enum "ip-monitoring" {
                      value 11;
                      description
                        "Trace IP monitoring events";
                    }
                    enum "hw-monitoring" {
                      value 12;
                      description
                        "Trace HW  monitoring events";
                    }
                    enum "fabric-monitoring" {
                      value 13;
                      description
                        "Trace fabric monitoring events";
                    }
                    enum "health-monitoring" {
                      value 14;
                      description
                        "Trace health monitoring events";
                    }
                    enum "schedule-monitoring" {
                      value 15;
                      description
                        "Trace schedule monitoring events";
                    }
                    enum "heartbeat-tlv" {
                      value 16;
                      description
                        "Trace TLV based heart-beat";
                    }
                    enum "ha-peer" {
                      value 17;
                      description
                        "Trace HA peer related info";
                    }
                    enum "srg" {
                      value 18;
                      description
                        "Trace HA srg related info";
                    }
                    enum "all" {
                      value 19;
                      description
                        "Trace all events";
                    }
                  }
                }
              }  // list flag
    
              leaf level {
                type enumeration {
                  enum "emergency" {
                    value 0;
                    description
                      "Match emergency conditions";
                  }
                  enum "alert" {
                    value 1;
                    description
                      "Match alert conditions";
                  }
                  enum "critical" {
                    value 2;
                    description
                      "Match critical conditions";
                  }
                  enum "error" {
                    value 3;
                    description
                      "Match error conditions";
                  }
                  enum "warning" {
                    value 4;
                    description
                      "Match warning messages";
                  }
                  enum "notice" {
                    value 5;
                    description
                      "Match notice level messages";
                  }
                  enum "info" {
                    value 6;
                    description
                      "Match informational messages";
                  }
                  enum "debug" {
                    value 7;
                    description
                      "Match debug messages";
                  }
                  enum "all" {
                    value 8;
                    description
                      "Match all levels";
                  }
                }
                default "info";
                description
                  "Set level of tracing";
              }
            }  // container traceoptions
    
            list services-redundancy-group {
              key "name";
              ordered-by user;
              description
                "Define the services level failover domain";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint16 {
                    range "0 .. 256";
                  }
                }
                description
                  "Services redundancy group identifier";
              }
    
              uses apply-advanced;
    
              list shutdown-on-failure {
                key "name";
                ordered-by user;
                description
                  "Interfaces to be shut down in case of internal failures";
                leaf name {
                  type union {
                    type jt:interface-device;
                    type string {
                      pattern "<.*>|$.*";
                    }
                  }
                  description
                    "Name of the interface";
                }
    
                uses apply-advanced;
              }  // list shutdown-on-failure
    
              container peer-id {
                presence "enable peer-id";
                description
                  "Peer related information";
                uses apply-advanced;
    
                leaf id {
                  junos:must "("chassis high-availability peer-id $$")";
                  junos:must-message "above peer-id should be configured at chassis high-availability stanza";
                  junos:must "("chassis high-availability peer-id")";
                  junos:must-message "high-availability peer-id must be defined";
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint8 {
                      range "1 .. 10";
                    }
                  }
                  description "Peer Identifier";
                }
              }  // container peer-id
    
              container floating-ip {
                description
                  "Designated floating IP for activeness probe";
                uses apply-advanced;
    
                leaf ip-address {
                  type jt:ipv4addr;
                  description "IPv4 address";
                }
              }  // container floating-ip
    
              container activeness-probe {
                description
                  "The probe destination IP for activeness determination";
                uses apply-advanced;
    
                container dest-ip {
                  description
                    "Destination IPV4 address";
                  uses apply-advanced;
    
                  leaf ip-address {
                    type jt:ipv4addr;
                    description
                      "Destination IPV4 address";
                  }
    
                  leaf routing-instance {
                    junos:must "("routing-instances $$ instance-type virtual-router")";
                    junos:must-message "'instance-type' for the referenced routing-instance must be configured as virtual-router";
                    junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
                    junos:must-message "referenced routing-instance must be defined";
                    type string {
                      junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                      junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                    }
                    description
                      "Routing instance";
                  }
                }  // container dest-ip
              }  // container activeness-probe
    
              container monitor {
                description
                  "Configure the BFD and IP monitoring";
                uses apply-advanced;
    
                list ip {
                  key "name";
                  ordered-by user;
                  description
                    "Destination IPV4 address for monitoring";
                  leaf name {
                    type jt:ipv4addr;
                    description
                      "Destination IPV4 address";
                  }
    
                  uses apply-advanced;
    
                  leaf routing-instance {
                    junos:must "("routing-instances $$ instance-type virtual-router")";
                    junos:must-message "'instance-type' for the referenced routing-instance must be configured as virtual-router";
                    junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
                    junos:must-message "referenced routing-instance must be defined";
                    type string {
                      junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                      junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                    }
                    description
                      "Routing instance to locate the destination route";
                  }
                }  // list ip
    
                list bfd-liveliness {
                  key "name";
                  ordered-by user;
                  description
                    "Configure BFD monitoring";
                  leaf name {
                    type jt:ipv4addr;
                    description
                      "Destination IPV4 address for BFD monitoring";
                  }
    
                  uses apply-advanced;
    
                  leaf src-ip {
                    type jt:ipv4addr;
                    description
                      "Source IPV4 address for BFD monitoring";
                  }
    
                  leaf routing-instance {
                    junos:must "("routing-instances $$ instance-type virtual-router")";
                    junos:must-message "'instance-type' for the referenced routing-instance must be configured as virtual-router";
                    junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
                    junos:must-message "referenced routing-instance must be defined";
                    type string {
                      junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                      junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                    }
                    description
                      "Routing instance to locate the route";
                  }
    
                  leaf session-type {
                    type enumeration {
                      enum "singlehop" {
                        junos:must "(".. interface")";
                        junos:must-message "Interface should be mentioned for singlehop bfd monitoring sessions";
                        value 0;
                        description "Single hop";
                      }
                      enum "multihop" {
                        value 1;
                        description "Multihop";
                      }
                    }
                    description
                      "BFD Mon Session Type";
                  }
    
                  leaf interface {
                    junos:must "("interfaces $$-IFL family inet")";
                    junos:must-message "Family inet must be defined on this logical interface";
                    junos:must "(!(".. session-type multihop"))";
                    junos:must-message "Interface name not allowed for multihop bfd monitoring sessions";
                    junos:must "(!(("protocols l2-learning global-mode switching" && "interfaces $$ family ethernet-switching")))";
                    junos:must-message "Referenced interface must not be ethernet-switching interface of switching mode";
                    type union {
                      type jt:interface-name;
                      type string {
                        pattern "<.*>|$.*";
                      }
                    }
                    description
                      "Name of the interface for single-hop sessions";
                  }
                }  // list bfd-liveliness
              }  // container monitor
    
              container active-signal-route {
                description
                  "Configure the active signal route";
                uses apply-advanced;
    
                leaf ip-address {
                  type jt:ipv4addr;
                  description
                    "Active IPv4 address";
                }
    
                leaf routing-instance {
                  junos:must "("routing-instances $$ instance-type virtual-router")";
                  junos:must-message "'instance-type' for the referenced routing-instance must be configured as virtual-router";
                  junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
                  junos:must-message "referenced routing-instance must be defined";
                  type string {
                    junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                    junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                  }
                  description
                    "Routing instance to install the active signal route";
                }
              }  // container active-signal-route
    
              container backup-signal-route {
                description
                  "Configure the backup signal route";
                uses apply-advanced;
    
                leaf ip-address {
                  type jt:ipv4addr;
                  description
                    "Backup IPv4 address";
                }
    
                leaf routing-instance {
                  junos:must "("routing-instances $$ instance-type virtual-router")";
                  junos:must-message "'instance-type' for the referenced routing-instance must be configured as virtual-router";
                  junos:must "(("routing-instances $$" || any "tenants <*> routing-instances $$"))";
                  junos:must-message "referenced routing-instance must be defined";
                  type string {
                    junos:posix-pattern "!^((__.*__)|(all)|(.*[ ].*)|("")|(.{129,}))$";
                    junos:pattern-message "Must be a non-reserved string of 128 characters or less with no spaces.";
                  }
                  description
                    "Routing instance to install the backup signal route";
                }
              }  // container backup-signal-route
    
              leaf process-packet-on-backup {
                type empty;
                description
                  "Enable PFE to process packets on backup node";
              }
    
              leaf activeness-priority {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint8 {
                    range "1 .. 254";
                  }
                }
                description
                  "Activeness Priority of the node for this SRG";
              }
            }  // list services-redundancy-group
          }  // container high-availability
    
          list node {
            key "name";
            description
              "Set node specific parameters";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 1";
                }
              }
              description "Node identifier";
            }
    
            uses apply-advanced;
    
            list fpc {
              junos:must "((!(any ". <*> vpn-localization") || !("virtual-chassis")))";
              junos:must-message "vpn-localization cannot be configured on virtual-chassis";
              key "name";
              description
                "Flexible PIC Concentrator parameters";
              uses chassis_fpc_type;
            }  // list fpc
          }  // list node
        }  // grouping chassis_type
    
        grouping apply-advanced {
          description
            "Apply advanced configuration logic";
          leaf-list apply-groups {
            type string;
            ordered-by user;
            description
              "Groups from which to inherit configuration data";
          }
    
          leaf-list apply-groups-except {
            type string;
            ordered-by user;
            description
              "Don't inherit configuration data from these groups";
          }
    
          list apply-macro {
            key "name";
            ordered-by user;
            description
              "Macro and parameters for commit script expansion";
            uses apply-macro-type;
          }  // list apply-macro
        }  // grouping apply-advanced
    
        grouping apply-macro-type {
          description
            "Macro data for commit-script expansion";
          leaf name {
            type string;
            description
              "Name of the macro to be expanded";
          }
    
          list data {
            key "name";
            uses macro-data-type;
          }  // list data
        }  // grouping apply-macro-type
    
        grouping chassis-pw-type {
          uses apply-advanced;
    
          leaf device-count {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 18000";
              }
            }
            description
              "Number of pseudo-wire ps devices";
          }
        }  // grouping chassis-pw-type
    
        grouping chassis_ae_lb_type {
          uses apply-advanced;
    
          leaf disable {
            type empty;
            description
              "Disable Multicast load balancing";
          }
    
          leaf hash-mode {
            type enumeration {
              enum "crc-sgip" {
                value 0;
                description
                  "CRC of Source IP and Group IP";
              }
              enum "crc-gip" {
                value 1;
                description
                  "CRC of Group IP only";
              }
              enum "crc-sip" {
                value 2;
                description
                  "CRC of Source IP only";
              }
              enum "simple-sgip" {
                value 3;
                description
                  "Simple hash of Source IP and Group IP";
              }
              enum "simple-gip" {
                value 4;
                description
                  "Simple hash of Group IP";
              }
              enum "simple-sip" {
                value 5;
                description
                  "Simple hash of Source IP";
              }
              enum "balanced" {
                value 6;
                description
                  "Round-Robin balancing";
              }
            }
            description "PFE hash mode";
          }
        }  // grouping chassis_ae_lb_type
    
        grouping chassis_agg_dev_type {
          uses apply-advanced;
    
          leaf ae-20 {
            type empty;
            status deprecated;
            description
              "Run AE over Container nexthops Infrastructure";
          }
    
          container ethernet {
            description
              "Aggregated device options for Ethernet";
            uses chassisd_agg_enet_type;
          }  // container ethernet
    
          container sonet {
            description
              "Aggregated device options for SONET";
            uses chassisd_agg_pos_type;
          }  // container sonet
    
          leaf maximum-links {
            type union {
              type int32;
              type string {
                pattern "<.*>|$.*";
              }
            }
            description
              "Maximum links limit for aggregated devices (16, 32, or 64)";
          }
        }  // grouping chassis_agg_dev_type
    
        grouping chassis_alarm_port_op_type {
          uses apply-advanced;
    
          container input {
            description "Input alarm port";
            uses apply-advanced;
    
            list port {
              key "name";
              ordered-by user;
              description "Input Port";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 3";
                  }
                }
                description "Alarm port ID";
              }
    
              uses apply-advanced;
    
              leaf active {
                type enumeration {
                  enum "low" {
                    value 0;
                    description
                      "Active signal of alarm IO port to low(default)";
                  }
                  enum "high" {
                    value 1;
                    description
                      "Active signal of alarm IO port to high";
                  }
                }
                description
                  "Active signal of alarm IO input port";
              }
    
              leaf admin-state {
                type enumeration {
                  enum "disabled" {
                    value 0;
                    description
                      "Administrative state of alarm IO port to disable(default)";
                  }
                  enum "enabled" {
                    value 1;
                    description
                      "Administrative state of alarm IO port to enabled";
                  }
                }
                description
                  "Administrative state of alarm IO input port";
              }
    
              container description {
                description
                  "Alarm description of alarm IO input port";
                uses apply-advanced;
    
                leaf descr {
                  type string;
                  description
                    "Description to be used for alarm IO output port";
                }
              }  // container description
    
              leaf severity {
                type enumeration {
                  enum "critical" {
                    value 0;
                    description
                      "Alarm severity of alarm IO input port to ciritical(default)";
                  }
                  enum "major" {
                    value 1;
                    description
                      "Alarm severity of alarm IO input port to major";
                  }
                  enum "minor" {
                    value 2;
                    description
                      "Alarm severity of alarm IO input port to minor";
                  }
                  enum "warning" {
                    value 3;
                    description
                      "Alarm severity of alarm IO input port to warning";
                  }
                }
                description
                  "Set alarm severity of alarm IO input port";
              }
            }  // list port
          }  // container input
    
          container output {
            description "Output alarm port";
            uses apply-advanced;
    
            list port {
              key "name";
              ordered-by user;
              description "Output port";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1";
                  }
                }
                description
                  "Alarm IO output port ID";
              }
    
              uses apply-advanced;
    
              leaf admin-state {
                type enumeration {
                  enum "disabled" {
                    value 0;
                    description
                      "Administrative state of alarm IO port to disable(default)";
                  }
                  enum "enabled" {
                    value 1;
                    description
                      "Administrative state of alarm IO port to enabled";
                  }
                }
                description
                  "Administrative state of alarm IO output port";
              }
    
              container description {
                description
                  "Alarm description of alarm IO output port";
                uses apply-advanced;
    
                leaf descr {
                  type string;
                  description
                    "Description to be used for alarm IO output port";
                }
              }  // container description
            }  // list port
          }  // container output
        }  // grouping chassis_alarm_port_op_type
    
        grouping chassis_alarm_type {
          uses apply-advanced;
    
          container management-ethernet {
            description
              "Management Ethernet alarms";
            uses chassis_alarm_ethernet_type;
          }  // container management-ethernet
    
          container otn-odu {
            description "OTN ODU alarms";
            uses chassis_alarm_otn_odu_type;
          }  // container otn-odu
    
          container otn-otu {
            description "OTN OTU alarms";
            uses chassis_alarm_otn_otu_type;
          }  // container otn-otu
    
          container sonet {
            description "SONET alarms";
            uses chassis_alarm_sonet_type;
          }  // container sonet
    
          container t3 {
            description "DS3 alarms";
            uses chassis_alarm_ds3_type;
          }  // container t3
    
          container ds1 {
            description "DS1 alarms";
            uses chassis_alarm_ds1_type;
          }  // container ds1
    
          container ethernet {
            description "Ethernet alarms";
            uses chassis_alarm_ethernet_type;
          }  // container ethernet
    
          container l2-chan-err-ethernet {
            description
              "L2 channel error ethernet alarms";
            uses chassis_alarm_l2_chan_err_type;
          }  // container l2-chan-err-ethernet
    
          container integrated-services {
            description
              "Integrated services alarms";
            uses chassis_alarm_integrated_services_type;
          }  // container integrated-services
    
          container services {
            description "Services PIC alarms";
            uses chassis_alarm_services_type;
          }  // container services
    
          container serial {
            description "Serial alarms";
            uses chassis_alarm_serial_type;
          }  // container serial
    
          container fibre-channel {
            description "Fibre Channel alarms";
            uses chassis_alarm_fibre-channel_type;
          }  // container fibre-channel
    
          leaf pem-absence {
            type enumeration {
              enum "ignore" {
                value 0;
                description
                  "Ignore the power supply module absence alarm";
              }
            }
            description
              "Power supply module absence";
          }
    
          container relay {
            description "Alarm relays";
            uses chassis_alarm_relay_type;
          }  // container relay
        }  // grouping chassis_alarm_type
    
        grouping chassis_alarm_ds1_type {
          uses apply-advanced;
    
          leaf ais {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Alarm indicator signal";
          }
    
          leaf ylw {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Yellow alarm";
          }
        }  // grouping chassis_alarm_ds1_type
    
        grouping chassis_alarm_ds3_type {
          uses apply-advanced;
    
          leaf ais {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Alarm indicator signal";
          }
    
          leaf exz {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Excessive zeros";
          }
    
          leaf ferf {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Far-end failure";
          }
    
          leaf idle {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Idle alarm";
          }
    
          leaf lcv {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Line code violation";
          }
    
          leaf lof {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Loss of frame";
          }
    
          leaf los {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Loss of signal";
          }
    
          leaf pll {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Phase-locked loop out of lock";
          }
    
          leaf ylw {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Yellow alarm";
          }
        }  // grouping chassis_alarm_ds3_type
    
        grouping chassis_alarm_ethernet_type {
          uses apply-advanced;
    
          leaf link-down {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Link has gone down";
          }
        }  // grouping chassis_alarm_ethernet_type
    
        grouping chassis_alarm_fibre-channel_type {
          uses apply-advanced;
    
          leaf link-down {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Link has gone down";
          }
        }  // grouping chassis_alarm_fibre-channel_type
    
        grouping chassis_alarm_integrated_services_type {
          uses apply-advanced;
    
          leaf failure {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Integrated Services failure";
          }
        }  // grouping chassis_alarm_integrated_services_type
    
        grouping chassis_alarm_l2_chan_err_type {
          uses apply-advanced;
    
          leaf l2-channel-errors {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Received L2 channel error";
          }
    
          leaf l2-channel-error-threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 4294967295";
              }
            }
            description
              "L2 channel error threshold - 50,000 as default";
          }
        }  // grouping chassis_alarm_l2_chan_err_type
    
        grouping chassis_alarm_otn_odu_type {
          uses apply-advanced;
    
          leaf odu-bdi {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "ODU backward-defect-indicator, ODU-BDI failure";
          }
    
          leaf odu-ttim {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "ODU trail-trace-identifier-mismatch, ODU-TTIM failure";
          }
    
          leaf odu-ptim {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "ODU payload-type-mismatch, ODU-PTIM failure";
          }
        }  // grouping chassis_alarm_otn_odu_type
    
        grouping chassis_alarm_otn_otu_type {
          uses apply-advanced;
    
          leaf oc-los {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Loss of signal, LOS failure";
          }
    
          leaf oc-lof {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Loss of framing, LOF failure";
          }
    
          leaf oc-lom {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Loss of multiframe, LOM failure";
          }
    
          leaf wavelength-lock {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Wavelength lock alarm";
          }
    
          leaf otu-bdi {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "OTU backward-defect-indicator, OTU-BDI failure";
          }
    
          leaf otu-iae {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "OTU incoming-alignment-error, OTU-IAE failure";
          }
    
          leaf otu-ttim {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "OTU trail-trace-identifier-mismatch, OTU-TTIM failure";
          }
    
          leaf otu-fec-excessive-errs {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "OTU fec-excessive-errors, OTU-FEC_EXE failure";
          }
        }  // grouping chassis_alarm_otn_otu_type
    
        grouping chassis_alarm_relay_type {
          uses apply-advanced;
    
          container input {
            description "Input relays";
            uses apply-advanced;
    
            list port {
              key "name";
              ordered-by user;
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 3";
                  }
                }
                description "Relay port number";
              }
    
              uses apply-advanced;
    
              leaf mode {
                type enumeration {
                  enum "open" {
                    value 0;
                    description "Normally open";
                  }
                  enum "close" {
                    value 1;
                    description
                      "Normally closed";
                  }
                }
                description
                  "Relay mode in de-active state";
              }
    
              leaf trigger {
                type enumeration {
                  enum "red" {
                    value 0;
                    description
                      "Assert red system alarm";
                  }
                  enum "yellow" {
                    value 1;
                    description
                      "Assert yellow system alarm";
                  }
                  enum "ignore" {
                    value 2;
                    description
                      "Do not assert any alarm signals";
                  }
                }
                description "Relay triggered";
              }
            }  // list port
          }  // container input
    
          container output {
            description "Output relays";
            uses apply-advanced;
    
            list port {
              key "name";
              ordered-by user;
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 3";
                  }
                }
                description "Relay port number";
              }
    
              uses apply-advanced;
    
              leaf mode {
                type enumeration {
                  enum "open" {
                    value 0;
                    description "Normally open";
                  }
                  enum "close" {
                    value 1;
                    description
                      "Normally closed";
                  }
                }
                description
                  "Relay mode in de-active state";
              }
    
              leaf temperature {
                type empty;
                description
                  "Trigger on temperature alarm red";
              }
    
              leaf input-relay {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 3";
                  }
                }
                description
                  "Trigger on input relay trigger";
              }
            }  // list port
          }  // container output
        }  // grouping chassis_alarm_relay_type
    
        grouping chassis_alarm_serial_type {
          uses apply-advanced;
    
          leaf loss-of-rx-clock {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "RX clock absent";
          }
    
          leaf loss-of-tx-clock {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "TX clock absent";
          }
    
          leaf dcd-absent {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "DCD signal absent";
          }
    
          leaf cts-absent {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "CTS signal absent";
          }
    
          leaf dsr-absent {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "DSR signal absent";
          }
    
          leaf tm-absent {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "TM signal absent";
          }
        }  // grouping chassis_alarm_serial_type
    
        grouping chassis_alarm_services_type {
          uses apply-advanced;
    
          leaf pic-reset {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Services PIC reset";
          }
    
          leaf pic-hold-reset {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Services PIC held in reset";
          }
    
          leaf linkdown {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Services PIC linkdown";
          }
    
          leaf rx-errors {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Services PIC excessive rx errors";
          }
    
          leaf tx-errors {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Services PIC excessive tx errors";
          }
    
          leaf sw-down {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Services PIC software problem";
          }
    
          leaf hw-down {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Services PIC hardware problem";
          }
        }  // grouping chassis_alarm_services_type
    
        grouping chassis_alarm_sonet_type {
          uses apply-advanced;
    
          leaf lol {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description "Loss of light";
          }
    
          leaf pll {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Phase locked loop out of lock";
          }
    
          leaf lof {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Loss of framing, LOF failure";
          }
    
          leaf los {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Loss of signal, LOS failure";
          }
    
          leaf ais-l {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Line alarm indication signal, AIS-L failure";
          }
    
          leaf ais-p {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Path alarm indication signal, AIS-P failure";
          }
    
          leaf lop-p {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Loss of pointer, LOP-P failure";
          }
    
          leaf ber-sd {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Signal Degrade (SD), bit error rate > 1E-6";
          }
    
          leaf ber-sf {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Signal Fail (SF), bit error rate > 1E-3";
          }
    
          leaf rfi-l {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Line remote failure indication, RFI-L, line FERF";
          }
    
          leaf rfi-p {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Path remote failure indication, RFI-P, STS path yellow";
          }
    
          leaf uneq-p {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "STS Path (C2) unequipped, UNEQ-P failure";
          }
    
          leaf locd {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "Loss of cell delineation (ATM only)";
          }
    
          leaf plm-p {
            type enumeration {
              enum "red" {
                value 0;
                description
                  "Assert red system alarm";
              }
              enum "yellow" {
                value 1;
                description
                  "Assert yellow system alarm";
              }
              enum "ignore" {
                value 2;
                description
                  "Do not assert any alarm signals";
              }
            }
            description
              "STS payload label (C2) mismatch, PLM-P failure";
          }
        }  // grouping chassis_alarm_sonet_type
    
        grouping chassis_fabric_card_type {
          leaf name {
            type string {
              length "1 .. 5";
            }
            description
              "Fabric Card slot number";
          }
    
          uses apply-advanced;
    
          container loopback {
            description
              "Loopback Configuration for Mode & Type";
            uses apply-advanced;
    
            leaf serdes {
              type empty;
              description
                "Fabric Card serdes setting";
            }
    
            leaf retimer {
              type empty;
              description
                "Fabric card retimer setting";
            }
          }  // container loopback
        }  // grouping chassis_fabric_card_type
    
        grouping chassis_fabric_type {
          uses apply-advanced;
    
          leaf upgrade-mode {
            type enumeration {
              enum "default" {
                value 0;
                description "Fabric upgrade";
              }
              enum "t4000" {
                junos:must "(!(any "class-of-service schedulers <*> drop-profile-map loss-priority <*> protocol non-tcp drop-profile <*>"))";
                junos:must-message "protocol based classification not allowed, only 'any' protocol config allowed";
                junos:must "(!(any "class-of-service schedulers <*> drop-profile-map loss-priority <*> protocol tcp drop-profile <*>"))";
                junos:must-message "protocol based classification not allowed, only 'any' protocol config allowed";
                value 1;
                description
                  "T4000 Fabric upgrade";
              }
              enum "3d-fabric" {
                junos:must "(!(any "class-of-service schedulers <*> drop-profile-map loss-priority <*> protocol non-tcp drop-profile <*>"))";
                junos:must-message "protocol based classification not allowed, only 'any' protocol config allowed";
                junos:must "(!(any "class-of-service schedulers <*> drop-profile-map loss-priority <*> protocol tcp drop-profile <*>"))";
                junos:must-message "protocol based classification not allowed, only 'any' protocol config allowed";
                value 2;
                description
                  "TXP-3D Fabric upgrade";
              }
            }
            description
              "Enable online switch fabric upgrade";
          }
    
          container event {
            description "Fabric events";
            uses apply-advanced;
    
            container link-failure {
              presence "enable link-failure";
              description "Fabric link failure";
              uses apply-advanced;
    
              container action {
                presence "enable action";
                description
                  "Fabric action to be taken";
                uses apply-advanced;
              }  // container action
            }  // container link-failure
          }  // container event
    
          container oam {
            description
              "Fabric OAM configuration";
            uses apply-advanced;
    
            leaf detection-disable {
              type empty;
              description "Disable fabric OAM";
            }
          }  // container oam
    
          container degraded {
            presence "enable degraded";
            description
              "Degraded fabric configuration";
            uses apply-advanced;
    
            leaf action-fpc-restart-disable {
              type empty;
              description
                "Limit degraded fabric actions to Plane restart only";
            }
    
            leaf degraded-fpc-bad-plane-threshold {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "4 .. 18";
                }
              }
              default "4";
              description
                "No of bad planes to declare a FPC degraded";
            }
    
            leaf degraded-fabric-detection-enable {
              type empty;
              description
                "Enable degraded FPC detection";
            }
    
            leaf fpc-restart {
              type empty;
              description
                "Restart fpc on zero planes";
            }
    
            leaf auto-recovery-disable {
              type empty;
              description
                "Disable fabric degraded auto recovery";
            }
    
            leaf fpc-offline-on-blackholing {
              type empty;
              description
                "Offline FPC on fabric blackholing";
            }
          }  // container degraded
    
          container redundancy-mode {
            description "Fabric redundancy mode";
            uses apply-advanced;
    
            choice mode {
              leaf redundant {
                type empty;
                description
                  "Fabric is configured in redundant mode";
              }
              leaf increased-bandwidth {
                type empty;
                description
                  "Fabric is configured in increased bandwidth mode";
              }
            }  // choice mode
          }  // container redundancy-mode
    
          leaf disable-grant-bypass {
            type empty;
            description
              "Disable fabric grant-bypass mode";
          }
        }  // grouping chassis_fabric_type
    
        grouping chassis_feb_type {
          uses apply-advanced;
    
          container sanity-poll {
            description
              "FPC register sanity poll";
            uses apply-advanced;
    
            leaf retry-count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 30";
                }
              }
              default "10";
              description
                "Number of retries before reporting error";
            }
    
            container on-error {
              description
                "Actions to be taken if inconsistencies are detected";
              uses apply-advanced;
    
              leaf raise-alarm {
                type empty;
                description
                  "Raise emergency alarm";
              }
    
              leaf power {
                type enumeration {
                  enum "cycle" {
                    value 0;
                    description
                      "Write coredump and reboot FPC";
                  }
                  enum "off" {
                    value 1;
                    description
                      "Power down FPC indefinitely";
                  }
                }
                description
                  "Power cycle or power off FPC";
              }
    
              leaf write-coredump {
                type empty;
                description
                  "Write coredump and continue";
              }
            }  // container on-error
          }  // container sanity-poll
    
          list slot {
            key "name";
            ordered-by user;
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "FEB slot number";
            }
    
            uses apply-advanced;
    
            container sanity-poll {
              description
                "FPC register sanity poll";
              uses apply-advanced;
    
              leaf retry-count {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 30";
                  }
                }
                default "10";
                description
                  "Number of retries before reporting error";
              }
    
              container on-error {
                description
                  "Actions to be taken if inconsistencies are detected";
                uses apply-advanced;
    
                leaf raise-alarm {
                  type empty;
                  description
                    "Raise emergency alarm";
                }
    
                leaf power {
                  type enumeration {
                    enum "cycle" {
                      value 0;
                      description
                        "Write coredump and reboot FPC";
                    }
                    enum "off" {
                      value 1;
                      description
                        "Power down FPC indefinitely";
                    }
                  }
                  description
                    "Power cycle or power off FPC";
                }
    
                leaf write-coredump {
                  type empty;
                  description
                    "Write coredump and continue";
                }
              }  // container on-error
            }  // container sanity-poll
    
            leaf power {
              type enumeration {
                enum "off" {
                  value 0;
                  description
                    "Do not provide power to FEBs";
                }
                enum "on" {
                  value 1;
                  description
                    "Provide power to FEBs";
                }
              }
              description "Power FEBs on or off";
            }
    
            choice mode {
            }  // choice mode
    
            leaf port-mirror-instance {
              junos:must "(!("forwarding-options port-mirroring instance $$ input-parameters-instance"))";
              junos:must-message "Derived instance cannot be binded";
              junos:must "(((!("chassis network-services lan") && ("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$")) || "chassis network-services lan"))";
              junos:must-message "Referenced port-mirroring instance does not exist";
              junos:must "(("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$"))";
              junos:must-message "Referenced port-mirroring/analyzer instance does not exist";
              type string {
                length "1 .. 64";
              }
              description
                "Associate a port mirroring instance with the FEB";
            }
    
            leaf sampling-instance {
              junos:must "("forwarding-options sampling instance $$")";
              junos:must-message "Referenced sampling instance does not exist";
              type string {
                length "1 .. 64";
              }
              description
                "Associate a sampling instance with the FEB";
            }
    
            leaf ucode-imem-remap {
              type empty;
              description
                "Remap the PIC microcode to IMEM on FEB";
            }
    
            container inline-services {
              uses apply-advanced;
    
              leaf report-zero-oif-gw-on-discard {
                type empty;
                description
                  "Jflow reports value zero in OIF and GW when traffic is not forwarded";
              }
    
              leaf flex-flow-sizing {
                junos:must "(!((".. flow-table-size ipv4-flow-table-size" || (".. flow-table-size ipv6-flow-table-size" || (".. flow-table-size vpls-flow-table-size" || (".. flow-table-size bridge-flow-table-size" || ".. flow-table-size mpls-flow-table-size"))))))";
                junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                type empty;
                description
                  "No fixed size allocation of flow tables for proto families";
              }
    
              leaf use-extended-flow-memory {
                type empty;
                description
                  "Use extended memory for flow records";
              }
    
              container flow-table-size {
                uses apply-advanced;
    
                leaf ipv4-flow-table-size {
                  junos:must "(!(".. .. flex-flow-sizing"))";
                  junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 245";
                    }
                  }
                  description
                    "IPv4 flow table size in units of 256k";
                }
    
                leaf ipv6-flow-table-size {
                  junos:must "(!(".. .. flex-flow-sizing"))";
                  junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 245";
                    }
                  }
                  description
                    "IPv6 flow table size in units of 256k";
                }
    
                leaf vpls-flow-table-size {
                  junos:must "(!(".. .. flex-flow-sizing"))";
                  junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 245";
                    }
                  }
                  description
                    "VPLS flow table size in units of 256k";
                }
    
                leaf bridge-flow-table-size {
                  junos:must "(!(".. .. flex-flow-sizing"))";
                  junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 245";
                    }
                  }
                  description
                    "BRIDGE flow table size in units of 256k";
                }
    
                leaf ipv6-extended-attrib {
                  type empty;
                  description
                    "Enable extended flow attribute";
                }
    
                leaf mpls-flow-table-size {
                  junos:must "(!(".. .. flex-flow-sizing"))";
                  junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 245";
                    }
                  }
                  description
                    "MPLS flow table size in units of 256k";
                }
              }  // container flow-table-size
            }  // container inline-services
    
            container inline-video-monitoring {
              uses apply-advanced;
    
              leaf maximum-flows-count {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "16 .. 8192";
                  }
                }
                description
                  "Maximum number of inline video monitoring flows per PFE instance";
              }
            }  // container inline-video-monitoring
    
            container openflow {
              description
                "Openflow configuration";
              uses apply-advanced;
    
              leaf access-list-partition {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 100";
                  }
                }
                units "percents";
                description
                  "Space reserved for openflow access-list rules";
              }
            }  // container openflow
          }  // list slot
        }  // grouping chassis_feb_type
    
        grouping chassis_fpc_error_type {
          description "Chassis Fpc Error level";
          uses apply-advanced;
    
          container fatal {
            description
              "FPC Fatal errors (default threshold = 1)";
            uses chassis_fpc_error_level_major_fatal;
          }  // container fatal
    
          container major {
            description
              "FPC Major Level errors (default threshold = 1)";
            uses chassis_fpc_error_level_major_fatal;
          }  // container major
    
          container minor {
            description
              "FPC Minor Level errors (default threshold = 10)";
            uses chassis_fpc_error_level_minor;
          }  // container minor
    
          list override-cmerror {
            key "name";
            max-elements 100;
            ordered-by user;
            description
              "Error configuration override";
            uses chassis_fru_cmerror_override_type;
          }  // list override-cmerror
    
          container scope {
            description "Error scope";
            uses chassis_fpc_scope_type;
          }  // container scope
        }  // grouping chassis_fpc_error_type
    
        grouping chassis_fpc_error_level_major_fatal {
          uses apply-advanced;
    
          leaf threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 1024";
              }
            }
            description
              "Error count at which to take the action";
          }
    
          list action {
            key "name";
            ordered-by user;
            description
              "Configure the action for this level";
            leaf name {
              type enumeration {
                enum "reset" {
                  junos:must "(!(".. .. action offline"))";
                  junos:must-message "'reset' and 'offline' cannot be both configured";
                  value 0;
                  description "Reset FPC";
                }
                enum "offline" {
                  junos:must "(!(".. .. action reset"))";
                  junos:must-message "'offline' and 'reset' cannot be both configured";
                  value 1;
                  description "Offline FPC";
                }
                enum "alarm" {
                  value 2;
                  description "Raise FPC alarm";
                }
                enum "get-state" {
                  value 3;
                  description
                    "Retreive FPC state for debugging";
                }
                enum "log" {
                  value 4;
                  description
                    "Log occurence to system log file";
                }
                enum "disable-pfe" {
                  value 5;
                  description
                    "Disable PFE interfaces on FPC";
                }
                enum "reset-pfe" {
                  junos:must "(!(".. .. action offline-pfe"))";
                  junos:must-message "'reset-pfe' and 'offline-pfe' cannot be both configured";
                  junos:must "(!(".. .. action disable-pfe"))";
                  junos:must-message "'reset-pfe' and 'disable-pfe' cannot be both configured";
                  value 6;
                  description "Reset PFE on FPC";
                }
                enum "offline-pic" {
                  value 7;
                  description
                    "Offline PICs associated with PFE on FPC";
                }
                enum "trap" {
                  value 8;
                  description "Raise FPC trap";
                }
              }
            }
    
            uses apply-advanced;
          }  // list action
        }  // grouping chassis_fpc_error_level_major_fatal
    
        grouping chassis_fpc_error_level_minor {
          uses apply-advanced;
    
          leaf threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1024";
              }
            }
            description
              "Error count at which to take the action";
          }
    
          list action {
            key "name";
            ordered-by user;
            description
              "Configure the action for this level";
            leaf name {
              type enumeration {
                enum "reset" {
                  junos:must "(!(".. .. action offline"))";
                  junos:must-message "'reset' and 'offline' cannot be both configured";
                  value 0;
                  description "Reset FPC";
                }
                enum "offline" {
                  junos:must "(!(".. .. action reset"))";
                  junos:must-message "'offline' and 'reset' cannot be both configured";
                  value 1;
                  description "Offline FPC";
                }
                enum "alarm" {
                  value 2;
                  description "Raise FPC alarm";
                }
                enum "get-state" {
                  value 3;
                  description
                    "Retreive FPC state for debugging";
                }
                enum "log" {
                  value 4;
                  description
                    "Log occurence to system log file";
                }
                enum "disable-pfe" {
                  value 5;
                  description
                    "Disable PFE interfaces on FPC";
                }
                enum "reset-pfe" {
                  junos:must "(!(".. .. action offline-pfe"))";
                  junos:must-message "'reset-pfe' and 'offline-pfe' cannot be both configured";
                  junos:must "(!(".. .. action disable-pfe"))";
                  junos:must-message "'reset-pfe' and 'disable-pfe' cannot be both configured";
                  value 6;
                  description "Reset PFE on FPC";
                }
                enum "offline-pic" {
                  value 7;
                  description
                    "Offline PICs associated with PFE on FPC";
                }
                enum "trap" {
                  value 8;
                  description "Raise FPC trap";
                }
              }
            }
    
            uses apply-advanced;
          }  // list action
        }  // grouping chassis_fpc_error_level_minor
    
        grouping chassis_fpc_scope_type {
          description "Chassis Fpc Error Scope";
          uses apply-advanced;
    
          container board {
            description "Board level scope";
            uses chassis_fpc_scope_category;
          }  // container board
    
          container pfe {
            description
              "Forwarding engine scope ";
            uses chassis_fpc_scope_category;
          }  // container pfe
        }  // grouping chassis_fpc_scope_type
    
        grouping chassis_fpc_scope_category {
          description
            "Chassis Fpc Error Category";
          uses apply-advanced;
    
          container category {
            description "FPC error category";
            uses chassis_fpc_scope_category_type;
          }  // container category
        }  // grouping chassis_fpc_scope_category
    
        grouping chassis_fpc_scope_category_type {
          description
            "Chassis Fpc Category level";
          uses apply-advanced;
    
          container functional {
            description
              "FPC functional category";
            uses chassis_fpc_scope_category_error_type;
          }  // container functional
    
          container memory {
            description "FPC memory category";
            uses chassis_fpc_scope_category_error_type;
          }  // container memory
    
          container io {
            description
              "FPC input-output category";
            uses chassis_fpc_scope_category_error_type;
          }  // container io
    
          container storage {
            description "FPC storage category";
            uses chassis_fpc_scope_category_error_type;
          }  // container storage
    
          container switch {
            description "FPC switch category";
            uses chassis_fpc_scope_category_error_type;
          }  // container switch
    
          container processing {
            description
              "FPC processing category";
            uses chassis_fpc_scope_category_error_type;
          }  // container processing
        }  // grouping chassis_fpc_scope_category_type
    
        grouping chassis_fpc_scope_category_error_type {
          description "Chassis Fpc Error level";
          uses apply-advanced;
    
          container fatal {
            description
              "FPC Fatal errors (default threshold = 1)";
            uses chassis_fpc_error_level_type;
          }  // container fatal
    
          container major {
            description
              "FPC Major Level errors (default threshold = 1)";
            uses chassis_fpc_error_level_type;
          }  // container major
    
          container minor {
            description
              "FPC Minor Level errors (default threshold = 10)";
            uses chassis_fpc_error_level_type;
          }  // container minor
        }  // grouping chassis_fpc_scope_category_error_type
    
        grouping chassis_fpc_error_level_type {
          uses apply-advanced;
    
          leaf threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 4294967295";
              }
            }
            description
              "Error count at which to take the action (0 - valid for minor only)";
          }
    
          list action {
            key "name";
            ordered-by user;
            description
              "Configure the action for this level";
            leaf name {
              type enumeration {
                enum "reset" {
                  junos:must "(!(".. .. action disable-pfe"))";
                  junos:must-message "'reset' and 'disable-pfe' cannot be both configured";
                  junos:must "(!(".. .. action offline"))";
                  junos:must-message "'reset' and 'offline' cannot be both configured";
                  value 0;
                  description "Reset FPC";
                }
                enum "offline" {
                  value 1;
                  description "Offline FPC";
                }
                enum "alarm" {
                  value 2;
                  description "Raise FPC alarm";
                }
                enum "get-state" {
                  value 3;
                  description
                    "Retreive FPC state for debugging";
                }
                enum "log" {
                  value 4;
                  description
                    "Log occurence to system log file";
                }
                enum "disable-pfe" {
                  value 5;
                  description
                    "Disable PFE interfaces on FPC";
                }
                enum "reset-pfe" {
                  value 6;
                  description "Reset PFE on FPC";
                }
                enum "offline-pic" {
                  value 7;
                  description
                    "Offline PICs associated with PFE on FPC";
                }
                enum "trap" {
                  value 8;
                  description "Raise trap";
                }
              }
            }
    
            uses apply-advanced;
          }  // list action
        }  // grouping chassis_fpc_error_level_type
    
        grouping chassis_fpc_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description "FPC slot number";
          }
    
          uses apply-advanced;
    
          container auto-speed-detection {
            description
              "Disables auto-speed detection";
            uses apply-advanced;
    
            choice auto-speed-detections {
              leaf disable {
                type empty;
                description
                  "Disables automatic speed detection";
              }
            }  // choice auto-speed-detections
          }  // container auto-speed-detection
    
          container ukern-trace {
            description "Set ukern trace";
            uses apply-advanced;
    
            container log {
              description "Set ukern-trace log";
              uses apply-advanced;
    
              leaf app-type {
                type enumeration {
                  enum "dfw" {
                    value 0;
                    description
                      "All dfw ukern-trace logs";
                  }
                }
                description
                  "Name of application with ukern-trace logs";
              }
    
              leaf logging {
                type enumeration {
                  enum "off" {
                    value 0;
                    description
                      "Disable logging";
                  }
                  enum "on" {
                    value 1;
                    description "Enable logging";
                  }
                }
                description
                  "Enable or Disable ukern-trace logging of an app-type";
              }
            }  // container log
          }  // container ukern-trace
    
          container sanity-poll {
            description
              "FPC register sanity poll";
            uses apply-advanced;
    
            leaf retry-count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 30";
                }
              }
              default "10";
              description
                "Number of retries before reporting error";
            }
    
            container on-error {
              description
                "Actions to be taken if inconsistencies are detected";
              uses apply-advanced;
    
              leaf raise-alarm {
                type empty;
                description
                  "Raise emergency alarm";
              }
    
              leaf power {
                type enumeration {
                  enum "cycle" {
                    value 0;
                    description
                      "Write coredump and reboot FPC";
                  }
                  enum "off" {
                    value 1;
                    description
                      "Power down FPC indefinitely";
                  }
                }
                description
                  "Power cycle or power off FPC";
              }
    
              leaf write-coredump {
                type empty;
                description
                  "Write coredump and continue";
              }
            }  // container on-error
          }  // container sanity-poll
    
          container forwarding-options {
            description
              "Configure options to control packet forwarding";
            uses apply-advanced;
    
            choice uft_object {
              container l2-profile-one {
                presence "enable l2-profile-one";
                description
                  "MAC: 288K L3-host: 16K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container l2-profile-one
              container l2-profile-two {
                presence "enable l2-profile-two";
                description
                  "MAC: 224K L3-host: 80K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container l2-profile-two
              container l2-profile-three {
                presence
                  "enable l2-profile-three";
                description
                  "(default) MAC: 160K L3-host: 144K LPM: 16K, needs reboot for VC;restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container l2-profile-three
              container l3-profile {
                presence "enable l3-profile";
                description
                  "MAC: 96K L3-host: 208K LPM: 16K EM:0, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container l3-profile
              container lpm-profile {
                presence "enable lpm-profile";
                description
                  "MAC: 32K L3-host: 16K LPM: 128K EM:0, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf prefix-65-127-disable {
                  junos:must "(!(".. unicast-in-lpm"))";
                  junos:must-message "Cannot set both unicast-in-lpm and prefix-65-127-disable at the same time";
                  type empty;
                  description
                    "Disable IPV6 prefixes with length > 64";
                }
    
                leaf unicast-in-lpm {
                  type empty;
                  description
                    "Install unicast host entries in LPM table";
                }
              }  // container lpm-profile
              container exact-match-profile {
                presence
                  "enable exact-match-profile";
                description
                  "MAC: 8K L3-host: 8K LPM: 16K EM: 64K, needs reboot for VC; restarts PFE if standalone";
                uses apply-advanced;
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container exact-match-profile
              container vxlan-gbp-profile {
                presence
                  "enable vxlan-gbp-profile";
                description
                  "MAC: 48K L3-host: 48K LPM: 16K EM:32K, needs reboot for VC; restarts PFE if standalone";
              }  // container vxlan-gbp-profile
              container custom-profile {
                description
                  "(Partition the shared banks, will automatically restart the PFE when configured)";
                uses apply-advanced;
    
                container l2-entries {
                  description
                    "Customize l2 entries needed";
                  uses apply-advanced;
    
                  leaf num-banks {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type int32 {
                        range "0 .. 4";
                      }
                    }
                    default "0";
                    description
                      "Number of banks needed for entries of this type";
                  }
                }  // container l2-entries
    
                container l3-entries {
                  description
                    "Customize l3 entries needed";
                  uses apply-advanced;
    
                  leaf num-banks {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type int32 {
                        range "0 .. 4";
                      }
                    }
                    default "0";
                    description
                      "Number of banks needed for entries of this type";
                  }
                }  // container l3-entries
    
                container exact-match-entries {
                  description
                    "Customize exact match entries needed";
                  uses apply-advanced;
    
                  leaf num-banks {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type int32 {
                        range "0 .. 4";
                      }
                    }
                    default "0";
                    description
                      "Number of banks needed for entries of this type";
                  }
                }  // container exact-match-entries
    
                container lpm-entries {
                  description
                    "Customize lpm banks needed";
                  uses apply-advanced;
    
                  leaf num-banks {
                    type enumeration {
                      enum "0" {
                        value 0;
                      }
                      enum "2" {
                        value 1;
                      }
                      enum "4" {
                        value 2;
                      }
                    }
                    default "0";
                    description
                      "Number of banks needed for entries of this type";
                  }
    
                  leaf prefix-65-127-disable {
                    junos:must "(!(".. unicast-in-lpm"))";
                    junos:must-message "Cannot set both unicast-in-lpm and prefix-65-127-disable at the same time";
                    type empty;
                    description
                      "Disable IPV6 prefixes with length > 64";
                  }
                }  // container lpm-entries
    
                leaf num-65-127-prefix {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type int32 {
                      range "0 .. 4";
                    }
                  }
                  default "1";
                  description
                    "IPV6 prefixes > 64, in multiples of 1K e.g 3 = 3x1K entries(default 1)";
                }
              }  // container custom-profile
            }  // choice uft_object
          }  // container forwarding-options
    
          list pic {
            key "name";
            description
              "Physical Interface Card number";
            uses chassis_pic_type;
          }  // list pic
    
          container optical-options {
            description
              "Integrated Photonic Line Card settings";
            uses apply-advanced;
    
            choice disable-edfa-choice {
              leaf disable-edfa {
                type empty;
                description "Disable both EDFA";
              }
              leaf no-disable-edfa {
                type empty;
                description
                  "Don't disable both EDFA";
              }
            }  // choice disable-edfa-choice
    
            choice disable-osc-choice {
              leaf disable-osc {
                type empty;
                description "Disable OSC";
              }
              leaf no-disable-osc {
                type empty;
                description "Don't disable OSC";
              }
            }  // choice disable-osc-choice
    
            list wavelength {
              key "name";
              description
                "Wavelength Selective Switch";
              leaf name {
                type enumeration {
                  enum "1568.77" {
                    value 0;
                    description
                      "1568.77 nm/191.1003 THz 50/100Ghz spacing";
                  }
                  enum "1568.36" {
                    value 1;
                    description
                      "1568.36 nm/191.15000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1568.31" {
                    value 2;
                    description
                      "1568.31 nm/191.15625 THz 6.25GHz spacing";
                  }
                  enum "1568.26" {
                    value 3;
                    description
                      "1568.26 nm/191.16250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1568.21" {
                    value 4;
                    description
                      "1568.21 nm/191.16875 THz 6.25GHz spacing";
                  }
                  enum "1568.16" {
                    value 5;
                    description
                      "1568.16 nm/191.17500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1568.11" {
                    value 6;
                    description
                      "1568.11 nm/191.18125 THz 6.25GHz spacing";
                  }
                  enum "1568.05" {
                    value 7;
                    description
                      "1568.05 nm/191.18750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1568.00" {
                    value 8;
                    description
                      "1568.00 nm/191.19375 THz 6.25GHz spacing";
                  }
                  enum "1567.95" {
                    value 9;
                    description
                      "1567.95 nm/191.20000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1567.90" {
                    value 10;
                    description
                      "1567.90 nm/191.20625 THz 6.25GHz spacing";
                  }
                  enum "1567.85" {
                    value 11;
                    description
                      "1567.85 nm/191.21250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1567.80" {
                    value 12;
                    description
                      "1567.80 nm/191.21875 THz 6.25GHz spacing";
                  }
                  enum "1567.75" {
                    value 13;
                    description
                      "1567.75 nm/191.22500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1567.70" {
                    value 14;
                    description
                      "1567.70 nm/191.23125 THz 6.25GHz spacing";
                  }
                  enum "1567.64" {
                    value 15;
                    description
                      "1567.64 nm/191.23750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1567.59" {
                    value 16;
                    description
                      "1567.59 nm/191.24375 THz 6.25GHz spacing";
                  }
                  enum "1567.54" {
                    value 17;
                    description
                      "1567.54 nm/191.25000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1567.49" {
                    value 18;
                    description
                      "1567.49 nm/191.25625 THz 6.25GHz spacing";
                  }
                  enum "1567.44" {
                    value 19;
                    description
                      "1567.44 nm/191.26250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1567.39" {
                    value 20;
                    description
                      "1567.39 nm/191.26875 THz 6.25GHz spacing";
                  }
                  enum "1567.34" {
                    value 21;
                    description
                      "1567.34 nm/191.27500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1567.29" {
                    value 22;
                    description
                      "1567.29 nm/191.28125 THz 6.25GHz spacing";
                  }
                  enum "1567.23" {
                    value 23;
                    description
                      "1567.23 nm/191.28750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1567.18" {
                    value 24;
                    description
                      "1567.18 nm/191.29375 THz 6.25GHz spacing";
                  }
                  enum "1567.13" {
                    value 25;
                    description
                      "1567.13 nm/191.30000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1567.08" {
                    value 26;
                    description
                      "1567.08 nm/191.30625 THz 6.25GHz spacing";
                  }
                  enum "1567.03" {
                    value 27;
                    description
                      "1567.03 nm/191.31250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1566.98" {
                    value 28;
                    description
                      "1566.98 nm/191.31875 THz 6.25GHz spacing";
                  }
                  enum "1566.93" {
                    value 29;
                    description
                      "1566.93 nm/191.32500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1566.88" {
                    value 30;
                    description
                      "1566.88 nm/191.33125 THz 6.25GHz spacing";
                  }
                  enum "1566.83" {
                    value 31;
                    description
                      "1566.83 nm/191.33750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1566.77" {
                    value 32;
                    description
                      "1566.77 nm/191.34375 THz 6.25GHz spacing";
                  }
                  enum "1566.72" {
                    value 33;
                    description
                      "1566.72 nm/191.35000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1566.67" {
                    value 34;
                    description
                      "1566.67 nm/191.35625 THz 6.25GHz spacing";
                  }
                  enum "1566.62" {
                    value 35;
                    description
                      "1566.62 nm/191.36250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1566.57" {
                    value 36;
                    description
                      "1566.57 nm/191.36875 THz 6.25GHz spacing";
                  }
                  enum "1566.52" {
                    value 37;
                    description
                      "1566.52 nm/191.37500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1566.47" {
                    value 38;
                    description
                      "1566.47 nm/191.38125 THz 6.25GHz spacing";
                  }
                  enum "1566.42" {
                    value 39;
                    description
                      "1566.42 nm/191.38750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1566.36" {
                    value 40;
                    description
                      "1566.36 nm/191.39375 THz 6.25GHz spacing";
                  }
                  enum "1566.31" {
                    value 41;
                    description
                      "1566.31 nm/191.40000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1566.26" {
                    value 42;
                    description
                      "1566.26 nm/191.40625 THz 6.25GHz spacing";
                  }
                  enum "1566.21" {
                    value 43;
                    description
                      "1566.21 nm/191.41250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1566.16" {
                    value 44;
                    description
                      "1566.16 nm/191.41875 THz 6.25GHz spacing";
                  }
                  enum "1566.11" {
                    value 45;
                    description
                      "1566.11 nm/191.42500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1566.06" {
                    value 46;
                    description
                      "1566.06 nm/191.43125 THz 6.25GHz spacing";
                  }
                  enum "1566.01" {
                    value 47;
                    description
                      "1566.01 nm/191.43750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1565.96" {
                    value 48;
                    description
                      "1565.96 nm/191.44375 THz 6.25GHz spacing";
                  }
                  enum "1565.90" {
                    value 49;
                    description
                      "1565.90 nm/191.45000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1565.85" {
                    value 50;
                    description
                      "1565.85 nm/191.45625 THz 6.25GHz spacing";
                  }
                  enum "1565.80" {
                    value 51;
                    description
                      "1565.80 nm/191.46250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1565.75" {
                    value 52;
                    description
                      "1565.75 nm/191.46875 THz 6.25GHz spacing";
                  }
                  enum "1565.70" {
                    value 53;
                    description
                      "1565.70 nm/191.47500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1565.65" {
                    value 54;
                    description
                      "1565.65 nm/191.48125 THz 6.25GHz spacing";
                  }
                  enum "1565.60" {
                    value 55;
                    description
                      "1565.60 nm/191.48750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1565.55" {
                    value 56;
                    description
                      "1565.55 nm/191.49375 THz 6.25GHz spacing";
                  }
                  enum "1565.50" {
                    value 57;
                    description
                      "1565.50 nm/191.50000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1565.44" {
                    value 58;
                    description
                      "1565.44 nm/191.50625 THz 6.25GHz spacing";
                  }
                  enum "1565.39" {
                    value 59;
                    description
                      "1565.39 nm/191.51250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1565.34" {
                    value 60;
                    description
                      "1565.34 nm/191.51875 THz 6.25GHz spacing";
                  }
                  enum "1565.29" {
                    value 61;
                    description
                      "1565.29 nm/191.52500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1565.24" {
                    value 62;
                    description
                      "1565.24 nm/191.53125 THz 6.25GHz spacing";
                  }
                  enum "1565.19" {
                    value 63;
                    description
                      "1565.19 nm/191.53750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1565.14" {
                    value 64;
                    description
                      "1565.14 nm/191.54375 THz 6.25GHz spacing";
                  }
                  enum "1565.09" {
                    value 65;
                    description
                      "1565.09 nm/191.55000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1565.04" {
                    value 66;
                    description
                      "1565.04 nm/191.55625 THz 6.25GHz spacing";
                  }
                  enum "1564.99" {
                    value 67;
                    description
                      "1564.99 nm/191.56250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1564.93" {
                    value 68;
                    description
                      "1564.93 nm/191.56875 THz 6.25GHz spacing";
                  }
                  enum "1564.88" {
                    value 69;
                    description
                      "1564.88 nm/191.57500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1564.83" {
                    value 70;
                    description
                      "1564.83 nm/191.58125 THz 6.25GHz spacing";
                  }
                  enum "1564.78" {
                    value 71;
                    description
                      "1564.78 nm/191.58750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1564.73" {
                    value 72;
                    description
                      "1564.73 nm/191.59375 THz 6.25GHz spacing";
                  }
                  enum "1564.68" {
                    value 73;
                    description
                      "1564.68 nm/191.60000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1564.63" {
                    value 74;
                    description
                      "1564.63 nm/191.60625 THz 6.25GHz spacing";
                  }
                  enum "1564.58" {
                    value 75;
                    description
                      "1564.58 nm/191.61250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1564.53" {
                    value 76;
                    description
                      "1564.53 nm/191.61875 THz 6.25GHz spacing";
                  }
                  enum "1564.47" {
                    value 77;
                    description
                      "1564.47 nm/191.62500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1564.42" {
                    value 78;
                    description
                      "1564.42 nm/191.63125 THz 6.25GHz spacing";
                  }
                  enum "1564.37" {
                    value 79;
                    description
                      "1564.37 nm/191.63750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1564.32" {
                    value 80;
                    description
                      "1564.32 nm/191.64375 THz 6.25GHz spacing";
                  }
                  enum "1564.27" {
                    value 81;
                    description
                      "1564.27 nm/191.65000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1564.22" {
                    value 82;
                    description
                      "1564.22 nm/191.65625 THz 6.25GHz spacing";
                  }
                  enum "1564.17" {
                    value 83;
                    description
                      "1564.17 nm/191.66250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1564.12" {
                    value 84;
                    description
                      "1564.12 nm/191.66875 THz 6.25GHz spacing";
                  }
                  enum "1564.07" {
                    value 85;
                    description
                      "1564.07 nm/191.67500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1564.02" {
                    value 86;
                    description
                      "1564.02 nm/191.68125 THz 6.25GHz spacing";
                  }
                  enum "1563.96" {
                    value 87;
                    description
                      "1563.96 nm/191.68750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1563.91" {
                    value 88;
                    description
                      "1563.91 nm/191.69375 THz 6.25GHz spacing";
                  }
                  enum "1563.86" {
                    value 89;
                    description
                      "1563.86 nm/191.70000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1563.81" {
                    value 90;
                    description
                      "1563.81 nm/191.70625 THz 6.25GHz spacing";
                  }
                  enum "1563.76" {
                    value 91;
                    description
                      "1563.76 nm/191.71250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1563.71" {
                    value 92;
                    description
                      "1563.71 nm/191.71875 THz 6.25GHz spacing";
                  }
                  enum "1563.66" {
                    value 93;
                    description
                      "1563.66 nm/191.72500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1563.61" {
                    value 94;
                    description
                      "1563.61 nm/191.73125 THz 6.25GHz spacing";
                  }
                  enum "1563.56" {
                    value 95;
                    description
                      "1563.56 nm/191.73750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1563.51" {
                    value 96;
                    description
                      "1563.51 nm/191.74375 THz 6.25GHz spacing";
                  }
                  enum "1563.45" {
                    value 97;
                    description
                      "1563.45 nm/191.75000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1563.40" {
                    value 98;
                    description
                      "1563.40 nm/191.75625 THz 6.25GHz spacing";
                  }
                  enum "1563.35" {
                    value 99;
                    description
                      "1563.35 nm/191.76250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1563.30" {
                    value 100;
                    description
                      "1563.30 nm/191.76875 THz 6.25GHz spacing";
                  }
                  enum "1563.25" {
                    value 101;
                    description
                      "1563.25 nm/191.77500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1563.20" {
                    value 102;
                    description
                      "1563.20 nm/191.78125 THz 6.25GHz spacing";
                  }
                  enum "1563.15" {
                    value 103;
                    description
                      "1563.15 nm/191.78750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1563.10" {
                    value 104;
                    description
                      "1563.10 nm/191.79375 THz 6.25GHz spacing";
                  }
                  enum "1563.05" {
                    value 105;
                    description
                      "1563.05 nm/191.80000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1563.00" {
                    value 106;
                    description
                      "1563.00 nm/191.80625 THz 6.25GHz spacing";
                  }
                  enum "1562.95" {
                    value 107;
                    description
                      "1562.95 nm/191.81250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1562.89" {
                    value 108;
                    description
                      "1562.89 nm/191.81875 THz 6.25GHz spacing";
                  }
                  enum "1562.84" {
                    value 109;
                    description
                      "1562.84 nm/191.82500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1562.79" {
                    value 110;
                    description
                      "1562.79 nm/191.83125 THz 6.25GHz spacing";
                  }
                  enum "1562.74" {
                    value 111;
                    description
                      "1562.74 nm/191.83750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1562.69" {
                    value 112;
                    description
                      "1562.69 nm/191.84375 THz 6.25GHz spacing";
                  }
                  enum "1562.64" {
                    value 113;
                    description
                      "1562.64 nm/191.85000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1562.59" {
                    value 114;
                    description
                      "1562.59 nm/191.85625 THz 6.25GHz spacing";
                  }
                  enum "1562.54" {
                    value 115;
                    description
                      "1562.54 nm/191.86250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1562.49" {
                    value 116;
                    description
                      "1562.49 nm/191.86875 THz 6.25GHz spacing";
                  }
                  enum "1562.44" {
                    value 117;
                    description
                      "1562.44 nm/191.87500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1562.39" {
                    value 118;
                    description
                      "1562.39 nm/191.88125 THz 6.25GHz spacing";
                  }
                  enum "1562.33" {
                    value 119;
                    description
                      "1562.33 nm/191.88750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1562.28" {
                    value 120;
                    description
                      "1562.28 nm/191.89375 THz 6.25GHz spacing";
                  }
                  enum "1562.23" {
                    value 121;
                    description
                      "1562.23 nm/191.90000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1562.18" {
                    value 122;
                    description
                      "1562.18 nm/191.90625 THz 6.25GHz spacing";
                  }
                  enum "1562.13" {
                    value 123;
                    description
                      "1562.13 nm/191.91250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1562.08" {
                    value 124;
                    description
                      "1562.08 nm/191.91875 THz 6.25GHz spacing";
                  }
                  enum "1562.03" {
                    value 125;
                    description
                      "1562.03 nm/191.92500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1561.98" {
                    value 126;
                    description
                      "1561.98 nm/191.93125 THz 6.25GHz spacing";
                  }
                  enum "1561.93" {
                    value 127;
                    description
                      "1561.93 nm/191.93750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1561.88" {
                    value 128;
                    description
                      "1561.88 nm/191.94375 THz 6.25GHz spacing";
                  }
                  enum "1561.83" {
                    value 129;
                    description
                      "1561.83 nm/191.95000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1561.77" {
                    value 130;
                    description
                      "1561.77 nm/191.95625 THz 6.25GHz spacing";
                  }
                  enum "1561.72" {
                    value 131;
                    description
                      "1561.72 nm/191.96250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1561.67" {
                    value 132;
                    description
                      "1561.67 nm/191.96875 THz 6.25GHz spacing";
                  }
                  enum "1561.62" {
                    value 133;
                    description
                      "1561.62 nm/191.97500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1561.57" {
                    value 134;
                    description
                      "1561.57 nm/191.98125 THz 6.25GHz spacing";
                  }
                  enum "1561.52" {
                    value 135;
                    description
                      "1561.52 nm/191.98750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1561.47" {
                    value 136;
                    description
                      "1561.47 nm/191.99375 THz 6.25GHz spacing";
                  }
                  enum "1561.42" {
                    value 137;
                    description
                      "1561.42 nm/192.00000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1561.37" {
                    value 138;
                    description
                      "1561.37 nm/192.00625 THz 6.25GHz spacing";
                  }
                  enum "1561.32" {
                    value 139;
                    description
                      "1561.32 nm/192.01250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1561.27" {
                    value 140;
                    description
                      "1561.27 nm/192.01875 THz 6.25GHz spacing";
                  }
                  enum "1561.22" {
                    value 141;
                    description
                      "1561.22 nm/192.02500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1561.16" {
                    value 142;
                    description
                      "1561.16 nm/192.03125 THz 6.25GHz spacing";
                  }
                  enum "1561.11" {
                    value 143;
                    description
                      "1561.11 nm/192.03750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1561.06" {
                    value 144;
                    description
                      "1561.06 nm/192.04375 THz 6.25GHz spacing";
                  }
                  enum "1561.01" {
                    value 145;
                    description
                      "1561.01 nm/192.05000 THz 6.25/12.5/50G/75Hz spacing";
                  }
                  enum "1560.96" {
                    value 146;
                    description
                      "1560.96 nm/192.05625 THz 6.25GHz spacing";
                  }
                  enum "1560.91" {
                    value 147;
                    description
                      "1560.91 nm/192.06250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1560.86" {
                    value 148;
                    description
                      "1560.86 nm/192.06875 THz 6.25GHz spacing";
                  }
                  enum "1560.81" {
                    value 149;
                    description
                      "1560.81 nm/192.07500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1560.76" {
                    value 150;
                    description
                      "1560.76 nm/192.08125 THz 6.25GHz spacing";
                  }
                  enum "1560.71" {
                    value 151;
                    description
                      "1560.71 nm/192.08750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1560.66" {
                    value 152;
                    description
                      "1560.66 nm/192.09375 THz 6.25GHz spacing";
                  }
                  enum "1560.61" {
                    value 153;
                    description
                      "1560.61 nm/192.10000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1560.56" {
                    value 154;
                    description
                      "1560.56 nm/192.10625 THz 6.25GHz spacing";
                  }
                  enum "1560.50" {
                    value 155;
                    description
                      "1560.50 nm/192.11250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1560.45" {
                    value 156;
                    description
                      "1560.45 nm/192.11875 THz 6.25GHz spacing";
                  }
                  enum "1560.40" {
                    value 157;
                    description
                      "1560.40 nm/192.12500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1560.35" {
                    value 158;
                    description
                      "1560.35 nm/192.13125 THz 6.25GHz spacing";
                  }
                  enum "1560.30" {
                    value 159;
                    description
                      "1560.30 nm/192.13750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1560.25" {
                    value 160;
                    description
                      "1560.25 nm/192.14375 THz 6.25GHz spacing";
                  }
                  enum "1560.20" {
                    value 161;
                    description
                      "1560.20 nm/192.15000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1560.15" {
                    value 162;
                    description
                      "1560.15 nm/192.15625 THz 6.25GHz spacing";
                  }
                  enum "1560.10" {
                    value 163;
                    description
                      "1560.10 nm/192.16250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1560.05" {
                    value 164;
                    description
                      "1560.05 nm/192.16875 THz 6.25GHz spacing";
                  }
                  enum "1560.00" {
                    value 165;
                    description
                      "1560.00 nm/192.17500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1559.95" {
                    value 166;
                    description
                      "1559.95 nm/192.18125 THz 6.25GHz spacing";
                  }
                  enum "1559.90" {
                    value 167;
                    description
                      "1559.90 nm/192.18750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1559.84" {
                    value 168;
                    description
                      "1559.84 nm/192.19375 THz 6.25GHz spacing";
                  }
                  enum "1559.79" {
                    value 169;
                    description
                      "1559.79 nm/192.20000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1559.74" {
                    value 170;
                    description
                      "1559.74 nm/192.20625 THz 6.25GHz spacing";
                  }
                  enum "1559.69" {
                    value 171;
                    description
                      "1559.69 nm/192.21250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1559.64" {
                    value 172;
                    description
                      "1559.64 nm/192.21875 THz 6.25GHz spacing";
                  }
                  enum "1559.59" {
                    value 173;
                    description
                      "1559.59 nm/192.22500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1559.54" {
                    value 174;
                    description
                      "1559.54 nm/192.23125 THz 6.25GHz spacing";
                  }
                  enum "1559.49" {
                    value 175;
                    description
                      "1559.49 nm/192.23750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1559.44" {
                    value 176;
                    description
                      "1559.44 nm/192.24375 THz 6.25GHz spacing";
                  }
                  enum "1559.39" {
                    value 177;
                    description
                      "1559.39 nm/192.25000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1559.34" {
                    value 178;
                    description
                      "1559.34 nm/192.25625 THz 6.25GHz spacing";
                  }
                  enum "1559.29" {
                    value 179;
                    description
                      "1559.29 nm/192.26250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1559.24" {
                    value 180;
                    description
                      "1559.24 nm/192.26875 THz 6.25GHz spacing";
                  }
                  enum "1559.19" {
                    value 181;
                    description
                      "1559.19 nm/192.27500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1559.14" {
                    value 182;
                    description
                      "1559.14 nm/192.28125 THz 6.25GHz spacing";
                  }
                  enum "1559.08" {
                    value 183;
                    description
                      "1559.08 nm/192.28750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1559.03" {
                    value 184;
                    description
                      "1559.03 nm/192.29375 THz 6.25GHz spacing";
                  }
                  enum "1558.98" {
                    value 185;
                    description
                      "1558.98 nm/192.30000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1558.93" {
                    value 186;
                    description
                      "1558.93 nm/192.30625 THz 6.25GHz spacing";
                  }
                  enum "1558.88" {
                    value 187;
                    description
                      "1558.88 nm/192.31250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1558.83" {
                    value 188;
                    description
                      "1558.83 nm/192.31875 THz 6.25GHz spacing";
                  }
                  enum "1558.78" {
                    value 189;
                    description
                      "1558.78 nm/192.32500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1558.73" {
                    value 190;
                    description
                      "1558.73 nm/192.33125 THz 6.25GHz spacing";
                  }
                  enum "1558.68" {
                    value 191;
                    description
                      "1558.68 nm/192.33750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1558.63" {
                    value 192;
                    description
                      "1558.63 nm/192.34375 THz 6.25GHz spacing";
                  }
                  enum "1558.58" {
                    value 193;
                    description
                      "1558.58 nm/192.35000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1558.53" {
                    value 194;
                    description
                      "1558.53 nm/192.35625 THz 6.25GHz spacing";
                  }
                  enum "1558.48" {
                    value 195;
                    description
                      "1558.48 nm/192.36250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1558.43" {
                    value 196;
                    description
                      "1558.43 nm/192.36875 THz 6.25GHz spacing";
                  }
                  enum "1558.38" {
                    value 197;
                    description
                      "1558.38 nm/192.37500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1558.32" {
                    value 198;
                    description
                      "1558.32 nm/192.38125 THz 6.25GHz spacing";
                  }
                  enum "1558.27" {
                    value 199;
                    description
                      "1558.27 nm/192.38750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1558.22" {
                    value 200;
                    description
                      "1558.22 nm/192.39375 THz 6.25GHz spacing";
                  }
                  enum "1558.17" {
                    value 201;
                    description
                      "1558.17 nm/192.40000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1558.12" {
                    value 202;
                    description
                      "1558.12 nm/192.40625 THz 6.25GHz spacing";
                  }
                  enum "1558.07" {
                    value 203;
                    description
                      "1558.07 nm/192.41250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1558.02" {
                    value 204;
                    description
                      "1558.02 nm/192.41875 THz 6.25GHz spacing";
                  }
                  enum "1557.97" {
                    value 205;
                    description
                      "1557.97 nm/192.42500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1557.92" {
                    value 206;
                    description
                      "1557.92 nm/192.43125 THz 6.25GHz spacing";
                  }
                  enum "1557.87" {
                    value 207;
                    description
                      "1557.87 nm/192.43750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1557.82" {
                    value 208;
                    description
                      "1557.82 nm/192.44375 THz 6.25GHz spacing";
                  }
                  enum "1557.77" {
                    value 209;
                    description
                      "1557.77 nm/192.45000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1557.72" {
                    value 210;
                    description
                      "1557.72 nm/192.45625 THz 6.25GHz spacing";
                  }
                  enum "1557.67" {
                    value 211;
                    description
                      "1557.67 nm/192.46250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1557.62" {
                    value 212;
                    description
                      "1557.62 nm/192.46875 THz 6.25GHz spacing";
                  }
                  enum "1557.57" {
                    value 213;
                    description
                      "1557.57 nm/192.47500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1557.52" {
                    value 214;
                    description
                      "1557.52 nm/192.48125 THz 6.25GHz spacing";
                  }
                  enum "1557.46" {
                    value 215;
                    description
                      "1557.46 nm/192.48750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1557.41" {
                    value 216;
                    description
                      "1557.41 nm/192.49375 THz 6.25GHz spacing";
                  }
                  enum "1557.36" {
                    value 217;
                    description
                      "1557.36 nm/192.50000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1557.31" {
                    value 218;
                    description
                      "1557.31 nm/192.50625 THz 6.25GHz spacing";
                  }
                  enum "1557.26" {
                    value 219;
                    description
                      "1557.26 nm/192.51250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1557.21" {
                    value 220;
                    description
                      "1557.21 nm/192.51875 THz 6.25GHz spacing";
                  }
                  enum "1557.16" {
                    value 221;
                    description
                      "1557.16 nm/192.52500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1557.11" {
                    value 222;
                    description
                      "1557.11 nm/192.53125 THz 6.25GHz spacing";
                  }
                  enum "1557.06" {
                    value 223;
                    description
                      "1557.06 nm/192.53750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1557.01" {
                    value 224;
                    description
                      "1557.01 nm/192.54375 THz 6.25GHz spacing";
                  }
                  enum "1556.96" {
                    value 225;
                    description
                      "1556.96 nm/192.55000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1556.91" {
                    value 226;
                    description
                      "1556.91 nm/192.55625 THz 6.25GHz spacing";
                  }
                  enum "1556.86" {
                    value 227;
                    description
                      "1556.86 nm/192.56250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1556.81" {
                    value 228;
                    description
                      "1556.81 nm/192.56875 THz 6.25GHz spacing";
                  }
                  enum "1556.76" {
                    value 229;
                    description
                      "1556.76 nm/192.57500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1556.71" {
                    value 230;
                    description
                      "1556.71 nm/192.58125 THz 6.25GHz spacing";
                  }
                  enum "1556.66" {
                    value 231;
                    description
                      "1556.66 nm/192.58750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1556.61" {
                    value 232;
                    description
                      "1556.61 nm/192.59375 THz 6.25GHz spacing";
                  }
                  enum "1556.55" {
                    value 233;
                    description
                      "1556.55 nm/192.60000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1556.50" {
                    value 234;
                    description
                      "1556.50 nm/192.60625 THz 6.25GHz spacing";
                  }
                  enum "1556.45" {
                    value 235;
                    description
                      "1556.45 nm/192.61250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1556.40" {
                    value 236;
                    description
                      "1556.40 nm/192.61875 THz 6.25GHz spacing";
                  }
                  enum "1556.35" {
                    value 237;
                    description
                      "1556.35 nm/192.62500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1556.30" {
                    value 238;
                    description
                      "1556.30 nm/192.63125 THz 6.25GHz spacing";
                  }
                  enum "1556.25" {
                    value 239;
                    description
                      "1556.25 nm/192.63750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1556.20" {
                    value 240;
                    description
                      "1556.20 nm/192.64375 THz 6.25GHz spacing";
                  }
                  enum "1556.15" {
                    value 241;
                    description
                      "1556.15 nm/192.65000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1556.10" {
                    value 242;
                    description
                      "1556.10 nm/192.65625 THz 6.25GHz spacing";
                  }
                  enum "1556.05" {
                    value 243;
                    description
                      "1556.05 nm/192.66250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1556.00" {
                    value 244;
                    description
                      "1556.00 nm/192.66875 THz 6.25GHz spacing";
                  }
                  enum "1555.95" {
                    value 245;
                    description
                      "1555.95 nm/192.67500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1555.90" {
                    value 246;
                    description
                      "1555.90 nm/192.68125 THz 6.25GHz spacing";
                  }
                  enum "1555.85" {
                    value 247;
                    description
                      "1555.85 nm/192.68750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1555.80" {
                    value 248;
                    description
                      "1555.80 nm/192.69375 THz 6.25GHz spacing";
                  }
                  enum "1555.75" {
                    value 249;
                    description
                      "1555.75 nm/192.70000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1555.70" {
                    value 250;
                    description
                      "1555.70 nm/192.70625 THz 6.25GHz spacing";
                  }
                  enum "1555.65" {
                    value 251;
                    description
                      "1555.65 nm/192.71250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1555.60" {
                    value 252;
                    description
                      "1555.60 nm/192.71875 THz 6.25GHz spacing";
                  }
                  enum "1555.55" {
                    value 253;
                    description
                      "1555.55 nm/192.72500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1555.49" {
                    value 254;
                    description
                      "1555.49 nm/192.73125 THz 6.25GHz spacing";
                  }
                  enum "1555.44" {
                    value 255;
                    description
                      "1555.44 nm/192.73750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1555.39" {
                    value 256;
                    description
                      "1555.39 nm/192.74375 THz 6.25GHz spacing";
                  }
                  enum "1555.34" {
                    value 257;
                    description
                      "1555.34 nm/192.75000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1555.29" {
                    value 258;
                    description
                      "1555.29 nm/192.75625 THz 6.25GHz spacing";
                  }
                  enum "1555.24" {
                    value 259;
                    description
                      "1555.24 nm/192.76250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1555.19" {
                    value 260;
                    description
                      "1555.19 nm/192.76875 THz 6.25GHz spacing";
                  }
                  enum "1555.14" {
                    value 261;
                    description
                      "1555.14 nm/192.77500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1555.09" {
                    value 262;
                    description
                      "1555.09 nm/192.78125 THz 6.25GHz spacing";
                  }
                  enum "1555.04" {
                    value 263;
                    description
                      "1555.04 nm/192.78750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1554.99" {
                    value 264;
                    description
                      "1554.99 nm/192.79375 THz 6.25GHz spacing";
                  }
                  enum "1554.94" {
                    value 265;
                    description
                      "1554.94 nm/192.80000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1554.89" {
                    value 266;
                    description
                      "1554.89 nm/192.80625 THz 6.25GHz spacing";
                  }
                  enum "1554.84" {
                    value 267;
                    description
                      "1554.84 nm/192.81250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1554.79" {
                    value 268;
                    description
                      "1554.79 nm/192.81875 THz 6.25GHz spacing";
                  }
                  enum "1554.74" {
                    value 269;
                    description
                      "1554.74 nm/192.82500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1554.69" {
                    value 270;
                    description
                      "1554.69 nm/192.83125 THz 6.25GHz spacing";
                  }
                  enum "1554.64" {
                    value 271;
                    description
                      "1554.64 nm/192.83750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1554.59" {
                    value 272;
                    description
                      "1554.59 nm/192.84375 THz 6.25GHz spacing";
                  }
                  enum "1554.54" {
                    value 273;
                    description
                      "1554.54 nm/192.85000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1554.49" {
                    value 274;
                    description
                      "1554.49 nm/192.85625 THz 6.25GHz spacing";
                  }
                  enum "1554.44" {
                    value 275;
                    description
                      "1554.44 nm/192.86250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1554.39" {
                    value 276;
                    description
                      "1554.39 nm/192.86875 THz 6.25GHz spacing";
                  }
                  enum "1554.34" {
                    value 277;
                    description
                      "1554.34 nm/192.87500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1554.29" {
                    value 278;
                    description
                      "1554.29 nm/192.88125 THz 6.25GHz spacing";
                  }
                  enum "1554.23" {
                    value 279;
                    description
                      "1554.23 nm/192.88750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1554.18" {
                    value 280;
                    description
                      "1554.18 nm/192.89375 THz 6.25GHz spacing";
                  }
                  enum "1554.13" {
                    value 281;
                    description
                      "1554.13 nm/192.90000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1554.08" {
                    value 282;
                    description
                      "1554.08 nm/192.90625 THz 6.25GHz spacing";
                  }
                  enum "1554.03" {
                    value 283;
                    description
                      "1554.03 nm/192.91250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1553.98" {
                    value 284;
                    description
                      "1553.98 nm/192.91875 THz 6.25GHz spacing";
                  }
                  enum "1553.93" {
                    value 285;
                    description
                      "1553.93 nm/192.92500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1553.88" {
                    value 286;
                    description
                      "1553.88 nm/192.93125 THz 6.25GHz spacing";
                  }
                  enum "1553.83" {
                    value 287;
                    description
                      "1553.83 nm/192.93750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1553.78" {
                    value 288;
                    description
                      "1553.78 nm/192.94375 THz 6.25GHz spacing";
                  }
                  enum "1553.73" {
                    value 289;
                    description
                      "1553.73 nm/192.95000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1553.68" {
                    value 290;
                    description
                      "1553.68 nm/192.95625 THz 6.25GHz spacing";
                  }
                  enum "1553.63" {
                    value 291;
                    description
                      "1553.63 nm/192.96250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1553.58" {
                    value 292;
                    description
                      "1553.58 nm/192.96875 THz 6.25GHz spacing";
                  }
                  enum "1553.53" {
                    value 293;
                    description
                      "1553.53 nm/192.97500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1553.48" {
                    value 294;
                    description
                      "1553.48 nm/192.98125 THz 6.25GHz spacing";
                  }
                  enum "1553.43" {
                    value 295;
                    description
                      "1553.43 nm/192.98750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1553.38" {
                    value 296;
                    description
                      "1553.38 nm/192.99375 THz 6.25GHz spacing";
                  }
                  enum "1553.33" {
                    value 297;
                    description
                      "1553.33 nm/193.00000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1553.28" {
                    value 298;
                    description
                      "1553.28 nm/193.00625 THz 6.25GHz spacing";
                  }
                  enum "1553.23" {
                    value 299;
                    description
                      "1553.23 nm/193.01250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1553.18" {
                    value 300;
                    description
                      "1553.18 nm/193.01875 THz 6.25GHz spacing";
                  }
                  enum "1553.13" {
                    value 301;
                    description
                      "1553.13 nm/193.02500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1553.08" {
                    value 302;
                    description
                      "1553.08 nm/193.03125 THz 6.25GHz spacing";
                  }
                  enum "1553.03" {
                    value 303;
                    description
                      "1553.03 nm/193.03750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1552.98" {
                    value 304;
                    description
                      "1552.98 nm/193.04375 THz 6.25GHz spacing";
                  }
                  enum "1552.93" {
                    value 305;
                    description
                      "1552.93 nm/193.05000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1552.88" {
                    value 306;
                    description
                      "1552.88 nm/193.05625 THz 6.25GHz spacing";
                  }
                  enum "1552.83" {
                    value 307;
                    description
                      "1552.83 nm/193.06250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1552.78" {
                    value 308;
                    description
                      "1552.78 nm/193.06875 THz 6.25GHz spacing";
                  }
                  enum "1552.73" {
                    value 309;
                    description
                      "1552.73 nm/193.07500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1552.68" {
                    value 310;
                    description
                      "1552.68 nm/193.08125 THz 6.25GHz spacing";
                  }
                  enum "1552.62" {
                    value 311;
                    description
                      "1552.62 nm/193.08750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1552.57" {
                    value 312;
                    description
                      "1552.57 nm/193.09375 THz 6.25GHz spacing";
                  }
                  enum "1552.52" {
                    value 313;
                    description
                      "1552.52 nm/193.10000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1552.47" {
                    value 314;
                    description
                      "1552.47 nm/193.10625 THz 6.25GHz spacing";
                  }
                  enum "1552.42" {
                    value 315;
                    description
                      "1552.42 nm/193.11250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1552.37" {
                    value 316;
                    description
                      "1552.37 nm/193.11875 THz 6.25GHz spacing";
                  }
                  enum "1552.32" {
                    value 317;
                    description
                      "1552.32 nm/193.12500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1552.27" {
                    value 318;
                    description
                      "1552.27 nm/193.13125 THz 6.25GHz spacing";
                  }
                  enum "1552.22" {
                    value 319;
                    description
                      "1552.22 nm/193.13750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1552.17" {
                    value 320;
                    description
                      "1552.17 nm/193.14375 THz 6.25GHz spacing";
                  }
                  enum "1552.12" {
                    value 321;
                    description
                      "1552.12 nm/193.15000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1552.07" {
                    value 322;
                    description
                      "1552.07 nm/193.15625 THz 6.25GHz spacing";
                  }
                  enum "1552.02" {
                    value 323;
                    description
                      "1552.02 nm/193.16250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1551.97" {
                    value 324;
                    description
                      "1551.97 nm/193.16875 THz 6.25GHz spacing";
                  }
                  enum "1551.92" {
                    value 325;
                    description
                      "1551.92 nm/193.17500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1551.87" {
                    value 326;
                    description
                      "1551.87 nm/193.18125 THz 6.25GHz spacing";
                  }
                  enum "1551.82" {
                    value 327;
                    description
                      "1551.82 nm/193.18750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1551.77" {
                    value 328;
                    description
                      "1551.77 nm/193.19375 THz 6.25GHz spacing";
                  }
                  enum "1551.72" {
                    value 329;
                    description
                      "1551.72 nm/193.20000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1551.67" {
                    value 330;
                    description
                      "1551.67 nm/193.20625 THz 6.25GHz spacing";
                  }
                  enum "1551.62" {
                    value 331;
                    description
                      "1551.62 nm/193.21250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1551.57" {
                    value 332;
                    description
                      "1551.57 nm/193.21875 THz 6.25GHz spacing";
                  }
                  enum "1551.52" {
                    value 333;
                    description
                      "1551.52 nm/193.22500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1551.47" {
                    value 334;
                    description
                      "1551.47 nm/193.23125 THz 6.25GHz spacing";
                  }
                  enum "1551.42" {
                    value 335;
                    description
                      "1551.42 nm/193.23750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1551.37" {
                    value 336;
                    description
                      "1551.37 nm/193.24375 THz 6.25GHz spacing";
                  }
                  enum "1551.32" {
                    value 337;
                    description
                      "1551.32 nm/193.25000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1551.27" {
                    value 338;
                    description
                      "1551.27 nm/193.25625 THz 6.25GHz spacing";
                  }
                  enum "1551.22" {
                    value 339;
                    description
                      "1551.22 nm/193.26250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1551.17" {
                    value 340;
                    description
                      "1551.17 nm/193.26875 THz 6.25GHz spacing";
                  }
                  enum "1551.12" {
                    value 341;
                    description
                      "1551.12 nm/193.27500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1551.07" {
                    value 342;
                    description
                      "1551.07 nm/193.28125 THz 6.25GHz spacing";
                  }
                  enum "1551.02" {
                    value 343;
                    description
                      "1551.02 nm/193.28750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1550.97" {
                    value 344;
                    description
                      "1550.97 nm/193.29375 THz 6.25GHz spacing";
                  }
                  enum "1550.92" {
                    value 345;
                    description
                      "1550.92 nm/193.30000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1550.87" {
                    value 346;
                    description
                      "1550.87 nm/193.30625 THz 6.25GHz spacing";
                  }
                  enum "1550.82" {
                    value 347;
                    description
                      "1550.82 nm/193.31250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1550.77" {
                    value 348;
                    description
                      "1550.77 nm/193.31875 THz 6.25GHz spacing";
                  }
                  enum "1550.72" {
                    value 349;
                    description
                      "1550.72 nm/193.32500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1550.67" {
                    value 350;
                    description
                      "1550.67 nm/193.33125 THz 6.25GHz spacing";
                  }
                  enum "1550.62" {
                    value 351;
                    description
                      "1550.62 nm/193.33750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1550.57" {
                    value 352;
                    description
                      "1550.57 nm/193.34375 THz 6.25GHz spacing";
                  }
                  enum "1550.52" {
                    value 353;
                    description
                      "1550.52 nm/193.35000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1550.47" {
                    value 354;
                    description
                      "1550.47 nm/193.35625 THz 6.25GHz spacing";
                  }
                  enum "1550.42" {
                    value 355;
                    description
                      "1550.42 nm/193.36250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1550.37" {
                    value 356;
                    description
                      "1550.37 nm/193.36875 THz 6.25GHz spacing";
                  }
                  enum "1550.32" {
                    value 357;
                    description
                      "1550.32 nm/193.37500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1550.27" {
                    value 358;
                    description
                      "1550.27 nm/193.38125 THz 6.25GHz spacing";
                  }
                  enum "1550.22" {
                    value 359;
                    description
                      "1550.22 nm/193.38750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1550.17" {
                    value 360;
                    description
                      "1550.17 nm/193.39375 THz 6.25GHz spacing";
                  }
                  enum "1550.12" {
                    value 361;
                    description
                      "1550.12 nm/193.40000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1550.07" {
                    value 362;
                    description
                      "1550.07 nm/193.40625 THz 6.25GHz spacing";
                  }
                  enum "1550.02" {
                    value 363;
                    description
                      "1550.02 nm/193.41250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1549.97" {
                    value 364;
                    description
                      "1549.97 nm/193.41875 THz 6.25GHz spacing";
                  }
                  enum "1549.92" {
                    value 365;
                    description
                      "1549.92 nm/193.42500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1549.87" {
                    value 366;
                    description
                      "1549.87 nm/193.43125 THz 6.25GHz spacing";
                  }
                  enum "1549.82" {
                    value 367;
                    description
                      "1549.82 nm/193.43750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1549.77" {
                    value 368;
                    description
                      "1549.77 nm/193.44375 THz 6.25GHz spacing";
                  }
                  enum "1549.72" {
                    value 369;
                    description
                      "1549.72 nm/193.45000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1549.67" {
                    value 370;
                    description
                      "1549.67 nm/193.45625 THz 6.25GHz spacing";
                  }
                  enum "1549.62" {
                    value 371;
                    description
                      "1549.62 nm/193.46250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1549.57" {
                    value 372;
                    description
                      "1549.57 nm/193.46875 THz 6.25GHz spacing";
                  }
                  enum "1549.52" {
                    value 373;
                    description
                      "1549.52 nm/193.47500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1549.47" {
                    value 374;
                    description
                      "1549.47 nm/193.48125 THz 6.25GHz spacing";
                  }
                  enum "1549.42" {
                    value 375;
                    description
                      "1549.42 nm/193.48750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1549.37" {
                    value 376;
                    description
                      "1549.37 nm/193.49375 THz 6.25GHz spacing";
                  }
                  enum "1549.32" {
                    value 377;
                    description
                      "1549.32 nm/193.50000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1549.26" {
                    value 378;
                    description
                      "1549.26 nm/193.50625 THz 6.25GHz spacing";
                  }
                  enum "1549.21" {
                    value 379;
                    description
                      "1549.21 nm/193.51250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1549.16" {
                    value 380;
                    description
                      "1549.16 nm/193.51875 THz 6.25GHz spacing";
                  }
                  enum "1549.11" {
                    value 381;
                    description
                      "1549.11 nm/193.52500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1549.06" {
                    value 382;
                    description
                      "1549.06 nm/193.53125 THz 6.25GHz spacing";
                  }
                  enum "1549.01" {
                    value 383;
                    description
                      "1549.01 nm/193.53750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1548.96" {
                    value 384;
                    description
                      "1548.96 nm/193.54375 THz 6.25GHz spacing";
                  }
                  enum "1548.91" {
                    value 385;
                    description
                      "1548.91 nm/193.55000 THz 6.25/12.5/50G/75Hz spacing";
                  }
                  enum "1548.86" {
                    value 386;
                    description
                      "1548.86 nm/193.55625 THz 6.25GHz spacing";
                  }
                  enum "1548.81" {
                    value 387;
                    description
                      "1548.81 nm/193.56250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1548.76" {
                    value 388;
                    description
                      "1548.76 nm/193.56875 THz 6.25GHz spacing";
                  }
                  enum "1548.71" {
                    value 389;
                    description
                      "1548.71 nm/193.57500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1548.66" {
                    value 390;
                    description
                      "1548.66 nm/193.58125 THz 6.25GHz spacing";
                  }
                  enum "1548.61" {
                    value 391;
                    description
                      "1548.61 nm/193.58750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1548.56" {
                    value 392;
                    description
                      "1548.56 nm/193.59375 THz 6.25GHz spacing";
                  }
                  enum "1548.51" {
                    value 393;
                    description
                      "1548.51 nm/193.60000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1548.46" {
                    value 394;
                    description
                      "1548.46 nm/193.60625 THz 6.25GHz spacing";
                  }
                  enum "1548.41" {
                    value 395;
                    description
                      "1548.41 nm/193.61250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1548.36" {
                    value 396;
                    description
                      "1548.36 nm/193.61875 THz 6.25GHz spacing";
                  }
                  enum "1548.31" {
                    value 397;
                    description
                      "1548.31 nm/193.62500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1548.26" {
                    value 398;
                    description
                      "1548.26 nm/193.63125 THz 6.25GHz spacing";
                  }
                  enum "1548.21" {
                    value 399;
                    description
                      "1548.21 nm/193.63750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1548.16" {
                    value 400;
                    description
                      "1548.16 nm/193.64375 THz 6.25GHz spacing";
                  }
                  enum "1548.11" {
                    value 401;
                    description
                      "1548.11 nm/193.65000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1548.06" {
                    value 402;
                    description
                      "1548.06 nm/193.65625 THz 6.25GHz spacing";
                  }
                  enum "1548.02" {
                    value 403;
                    description
                      "1548.02 nm/193.66250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1547.97" {
                    value 404;
                    description
                      "1547.97 nm/193.66875 THz 6.25GHz spacing";
                  }
                  enum "1547.92" {
                    value 405;
                    description
                      "1547.92 nm/193.67500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1547.87" {
                    value 406;
                    description
                      "1547.87 nm/193.68125 THz 6.25GHz spacing";
                  }
                  enum "1547.82" {
                    value 407;
                    description
                      "1547.82 nm/193.68750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1547.77" {
                    value 408;
                    description
                      "1547.77 nm/193.69375 THz 6.25GHz spacing";
                  }
                  enum "1547.72" {
                    value 409;
                    description
                      "1547.72 nm/193.70000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1547.67" {
                    value 410;
                    description
                      "1547.67 nm/193.70625 THz 6.25GHz spacing";
                  }
                  enum "1547.62" {
                    value 411;
                    description
                      "1547.62 nm/193.71250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1547.57" {
                    value 412;
                    description
                      "1547.57 nm/193.71875 THz 6.25GHz spacing";
                  }
                  enum "1547.52" {
                    value 413;
                    description
                      "1547.52 nm/193.72500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1547.47" {
                    value 414;
                    description
                      "1547.47 nm/193.73125 THz 6.25GHz spacing";
                  }
                  enum "1547.42" {
                    value 415;
                    description
                      "1547.42 nm/193.73750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1547.37" {
                    value 416;
                    description
                      "1547.37 nm/193.74375 THz 6.25GHz spacing";
                  }
                  enum "1547.32" {
                    value 417;
                    description
                      "1547.32 nm/193.75000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1547.27" {
                    value 418;
                    description
                      "1547.27 nm/193.75625 THz 6.25GHz spacing";
                  }
                  enum "1547.22" {
                    value 419;
                    description
                      "1547.22 nm/193.76250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1547.17" {
                    value 420;
                    description
                      "1547.17 nm/193.76875 THz 6.25GHz spacing";
                  }
                  enum "1547.12" {
                    value 421;
                    description
                      "1547.12 nm/193.77500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1547.07" {
                    value 422;
                    description
                      "1547.07 nm/193.78125 THz 6.25GHz spacing";
                  }
                  enum "1547.02" {
                    value 423;
                    description
                      "1547.02 nm/193.78750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1546.97" {
                    value 424;
                    description
                      "1546.97 nm/193.79375 THz 6.25GHz spacing";
                  }
                  enum "1546.92" {
                    value 425;
                    description
                      "1546.92 nm/193.80000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1546.87" {
                    value 426;
                    description
                      "1546.87 nm/193.80625 THz 6.25GHz spacing";
                  }
                  enum "1546.82" {
                    value 427;
                    description
                      "1546.82 nm/193.81250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1546.77" {
                    value 428;
                    description
                      "1546.77 nm/193.81875 THz 6.25GHz spacing";
                  }
                  enum "1546.72" {
                    value 429;
                    description
                      "1546.72 nm/193.82500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1546.67" {
                    value 430;
                    description
                      "1546.67 nm/193.83125 THz 6.25GHz spacing";
                  }
                  enum "1546.62" {
                    value 431;
                    description
                      "1546.62 nm/193.83750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1546.57" {
                    value 432;
                    description
                      "1546.57 nm/193.84375 THz 6.25GHz spacing";
                  }
                  enum "1546.52" {
                    value 433;
                    description
                      "1546.52 nm/193.85000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1546.47" {
                    value 434;
                    description
                      "1546.47 nm/193.85625 THz 6.25GHz spacing";
                  }
                  enum "1546.42" {
                    value 435;
                    description
                      "1546.42 nm/193.86250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1546.37" {
                    value 436;
                    description
                      "1546.37 nm/193.86875 THz 6.25GHz spacing";
                  }
                  enum "1546.32" {
                    value 437;
                    description
                      "1546.32 nm/193.87500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1546.27" {
                    value 438;
                    description
                      "1546.27 nm/193.88125 THz 6.25GHz spacing";
                  }
                  enum "1546.22" {
                    value 439;
                    description
                      "1546.22 nm/193.88750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1546.17" {
                    value 440;
                    description
                      "1546.17 nm/193.89375 THz 6.25GHz spacing";
                  }
                  enum "1546.12" {
                    value 441;
                    description
                      "1546.12 nm/193.90000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1546.07" {
                    value 442;
                    description
                      "1546.07 nm/193.90625 THz 6.25GHz spacing";
                  }
                  enum "1546.02" {
                    value 443;
                    description
                      "1546.02 nm/193.91250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1545.97" {
                    value 444;
                    description
                      "1545.97 nm/193.91875 THz 6.25GHz spacing";
                  }
                  enum "1545.92" {
                    value 445;
                    description
                      "1545.92 nm/193.92500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1545.87" {
                    value 446;
                    description
                      "1545.87 nm/193.93125 THz 6.25GHz spacing";
                  }
                  enum "1545.82" {
                    value 447;
                    description
                      "1545.82 nm/193.93750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1545.77" {
                    value 448;
                    description
                      "1545.77 nm/193.94375 THz 6.25GHz spacing";
                  }
                  enum "1545.72" {
                    value 449;
                    description
                      "1545.72 nm/193.95000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1545.67" {
                    value 450;
                    description
                      "1545.67 nm/193.95625 THz 6.25GHz spacing";
                  }
                  enum "1545.62" {
                    value 451;
                    description
                      "1545.62 nm/193.96250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1545.57" {
                    value 452;
                    description
                      "1545.57 nm/193.96875 THz 6.25GHz spacing";
                  }
                  enum "1545.52" {
                    value 453;
                    description
                      "1545.52 nm/193.97500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1545.47" {
                    value 454;
                    description
                      "1545.47 nm/193.98125 THz 6.25GHz spacing";
                  }
                  enum "1545.42" {
                    value 455;
                    description
                      "1545.42 nm/193.98750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1545.37" {
                    value 456;
                    description
                      "1545.37 nm/193.99375 THz 6.25GHz spacing";
                  }
                  enum "1545.32" {
                    value 457;
                    description
                      "1545.32 nm/194.00000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1545.27" {
                    value 458;
                    description
                      "1545.27 nm/194.00625 THz 6.25GHz spacing";
                  }
                  enum "1545.22" {
                    value 459;
                    description
                      "1545.22 nm/194.01250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1545.17" {
                    value 460;
                    description
                      "1545.17 nm/194.01875 THz 6.25GHz spacing";
                  }
                  enum "1545.12" {
                    value 461;
                    description
                      "1545.12 nm/194.02500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1545.07" {
                    value 462;
                    description
                      "1545.07 nm/194.03125 THz 6.25GHz spacing";
                  }
                  enum "1545.02" {
                    value 463;
                    description
                      "1545.02 nm/194.03750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1544.97" {
                    value 464;
                    description
                      "1544.97 nm/194.04375 THz 6.25GHz spacing";
                  }
                  enum "1544.92" {
                    value 465;
                    description
                      "1544.92 nm/194.05000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1544.87" {
                    value 466;
                    description
                      "1544.87 nm/194.05625 THz 6.25GHz spacing";
                  }
                  enum "1544.82" {
                    value 467;
                    description
                      "1544.82 nm/194.06250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1544.77" {
                    value 468;
                    description
                      "1544.77 nm/194.06875 THz 6.25GHz spacing";
                  }
                  enum "1544.72" {
                    value 469;
                    description
                      "1544.72 nm/194.07500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1544.68" {
                    value 470;
                    description
                      "1544.68 nm/194.08125 THz 6.25GHz spacing";
                  }
                  enum "1544.63" {
                    value 471;
                    description
                      "1544.63 nm/194.08750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1544.58" {
                    value 472;
                    description
                      "1544.58 nm/194.09375 THz 6.25GHz spacing";
                  }
                  enum "1544.53" {
                    value 473;
                    description
                      "1544.53 nm/194.10000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1544.48" {
                    value 474;
                    description
                      "1544.48 nm/194.10625 THz 6.25GHz spacing";
                  }
                  enum "1544.43" {
                    value 475;
                    description
                      "1544.43 nm/194.11250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1544.38" {
                    value 476;
                    description
                      "1544.38 nm/194.11875 THz 6.25GHz spacing";
                  }
                  enum "1544.33" {
                    value 477;
                    description
                      "1544.33 nm/194.12500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1544.28" {
                    value 478;
                    description
                      "1544.28 nm/194.13125 THz 6.25GHz spacing";
                  }
                  enum "1544.23" {
                    value 479;
                    description
                      "1544.23 nm/194.13750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1544.18" {
                    value 480;
                    description
                      "1544.18 nm/194.14375 THz 6.25GHz spacing";
                  }
                  enum "1544.13" {
                    value 481;
                    description
                      "1544.13 nm/194.15000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1544.08" {
                    value 482;
                    description
                      "1544.08 nm/194.15625 THz 6.25GHz spacing";
                  }
                  enum "1544.03" {
                    value 483;
                    description
                      "1544.03 nm/194.16250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1543.98" {
                    value 484;
                    description
                      "1543.98 nm/194.16875 THz 6.25GHz spacing";
                  }
                  enum "1543.93" {
                    value 485;
                    description
                      "1543.93 nm/194.17500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1543.88" {
                    value 486;
                    description
                      "1543.88 nm/194.18125 THz 6.25GHz spacing";
                  }
                  enum "1543.83" {
                    value 487;
                    description
                      "1543.83 nm/194.18750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1543.78" {
                    value 488;
                    description
                      "1543.78 nm/194.19375 THz 6.25GHz spacing";
                  }
                  enum "1543.73" {
                    value 489;
                    description
                      "1543.73 nm/194.20000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1543.68" {
                    value 490;
                    description
                      "1543.68 nm/194.20625 THz 6.25GHz spacing";
                  }
                  enum "1543.63" {
                    value 491;
                    description
                      "1543.63 nm/194.21250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1543.58" {
                    value 492;
                    description
                      "1543.58 nm/194.21875 THz 6.25GHz spacing";
                  }
                  enum "1543.53" {
                    value 493;
                    description
                      "1543.53 nm/194.22500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1543.48" {
                    value 494;
                    description
                      "1543.48 nm/194.23125 THz 6.25GHz spacing";
                  }
                  enum "1543.43" {
                    value 495;
                    description
                      "1543.43 nm/194.23750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1543.38" {
                    value 496;
                    description
                      "1543.38 nm/194.24375 THz 6.25GHz spacing";
                  }
                  enum "1543.33" {
                    value 497;
                    description
                      "1543.33 nm/194.25000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1543.28" {
                    value 498;
                    description
                      "1543.28 nm/194.25625 THz 6.25GHz spacing";
                  }
                  enum "1543.23" {
                    value 499;
                    description
                      "1543.23 nm/194.26250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1543.18" {
                    value 500;
                    description
                      "1543.18 nm/194.26875 THz 6.25GHz spacing";
                  }
                  enum "1543.13" {
                    value 501;
                    description
                      "1543.13 nm/194.27500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1543.08" {
                    value 502;
                    description
                      "1543.08 nm/194.28125 THz 6.25GHz spacing";
                  }
                  enum "1543.04" {
                    value 503;
                    description
                      "1543.04 nm/194.28750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1542.99" {
                    value 504;
                    description
                      "1542.99 nm/194.29375 THz 6.25GHz spacing";
                  }
                  enum "1542.94" {
                    value 505;
                    description
                      "1542.94 nm/194.30000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1542.89" {
                    value 506;
                    description
                      "1542.89 nm/194.30625 THz 6.25GHz spacing";
                  }
                  enum "1542.84" {
                    value 507;
                    description
                      "1542.84 nm/194.31250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1542.79" {
                    value 508;
                    description
                      "1542.79 nm/194.31875 THz 6.25GHz spacing";
                  }
                  enum "1542.74" {
                    value 509;
                    description
                      "1542.74 nm/194.32500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1542.69" {
                    value 510;
                    description
                      "1542.69 nm/194.33125 THz 6.25GHz spacing";
                  }
                  enum "1542.64" {
                    value 511;
                    description
                      "1542.64 nm/194.33750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1542.59" {
                    value 512;
                    description
                      "1542.59 nm/194.34375 THz 6.25GHz spacing";
                  }
                  enum "1542.54" {
                    value 513;
                    description
                      "1542.54 nm/194.35000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1542.49" {
                    value 514;
                    description
                      "1542.49 nm/194.35625 THz 6.25GHz spacing";
                  }
                  enum "1542.44" {
                    value 515;
                    description
                      "1542.44 nm/194.36250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1542.39" {
                    value 516;
                    description
                      "1542.39 nm/194.36875 THz 6.25GHz spacing";
                  }
                  enum "1542.34" {
                    value 517;
                    description
                      "1542.34 nm/194.37500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1542.29" {
                    value 518;
                    description
                      "1542.29 nm/194.38125 THz 6.25GHz spacing";
                  }
                  enum "1542.24" {
                    value 519;
                    description
                      "1542.24 nm/194.38750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1542.19" {
                    value 520;
                    description
                      "1542.19 nm/194.39375 THz 6.25GHz spacing";
                  }
                  enum "1542.14" {
                    value 521;
                    description
                      "1542.14 nm/194.40000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1542.09" {
                    value 522;
                    description
                      "1542.09 nm/194.40625 THz 6.25GHz spacing";
                  }
                  enum "1542.04" {
                    value 523;
                    description
                      "1542.04 nm/194.41250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1541.99" {
                    value 524;
                    description
                      "1541.99 nm/194.41875 THz 6.25GHz spacing";
                  }
                  enum "1541.94" {
                    value 525;
                    description
                      "1541.94 nm/194.42500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1541.89" {
                    value 526;
                    description
                      "1541.89 nm/194.43125 THz 6.25GHz spacing";
                  }
                  enum "1541.84" {
                    value 527;
                    description
                      "1541.84 nm/194.43750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1541.80" {
                    value 528;
                    description
                      "1541.80 nm/194.44375 THz 6.25GHz spacing";
                  }
                  enum "1541.75" {
                    value 529;
                    description
                      "1541.75 nm/194.45000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1541.70" {
                    value 530;
                    description
                      "1541.70 nm/194.45625 THz 6.25GHz spacing";
                  }
                  enum "1541.65" {
                    value 531;
                    description
                      "1541.65 nm/194.46250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1541.60" {
                    value 532;
                    description
                      "1541.60 nm/194.46875 THz 6.25GHz spacing";
                  }
                  enum "1541.55" {
                    value 533;
                    description
                      "1541.55 nm/194.47500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1541.50" {
                    value 534;
                    description
                      "1541.50 nm/194.48125 THz 6.25GHz spacing";
                  }
                  enum "1541.45" {
                    value 535;
                    description
                      "1541.45 nm/194.48750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1541.40" {
                    value 536;
                    description
                      "1541.40 nm/194.49375 THz 6.25GHz spacing";
                  }
                  enum "1541.35" {
                    value 537;
                    description
                      "1541.35 nm/194.50000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1541.30" {
                    value 538;
                    description
                      "1541.30 nm/194.50625 THz 6.25GHz spacing";
                  }
                  enum "1541.25" {
                    value 539;
                    description
                      "1541.25 nm/194.51250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1541.20" {
                    value 540;
                    description
                      "1541.20 nm/194.51875 THz 6.25GHz spacing";
                  }
                  enum "1541.15" {
                    value 541;
                    description
                      "1541.15 nm/194.52500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1541.10" {
                    value 542;
                    description
                      "1541.10 nm/194.53125 THz 6.25GHz spacing";
                  }
                  enum "1541.05" {
                    value 543;
                    description
                      "1541.05 nm/194.53750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1541.00" {
                    value 544;
                    description
                      "1541.00 nm/194.54375 THz 6.25GHz spacing";
                  }
                  enum "1540.95" {
                    value 545;
                    description
                      "1540.95 nm/194.55000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1540.90" {
                    value 546;
                    description
                      "1540.90 nm/194.55625 THz 6.25GHz spacing";
                  }
                  enum "1540.85" {
                    value 547;
                    description
                      "1540.85 nm/194.56250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1540.80" {
                    value 548;
                    description
                      "1540.80 nm/194.56875 THz 6.25GHz spacing";
                  }
                  enum "1540.76" {
                    value 549;
                    description
                      "1540.76 nm/194.57500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1540.71" {
                    value 550;
                    description
                      "1540.71 nm/194.58125 THz 6.25GHz spacing";
                  }
                  enum "1540.66" {
                    value 551;
                    description
                      "1540.66 nm/194.58750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1540.61" {
                    value 552;
                    description
                      "1540.61 nm/194.59375 THz 6.25GHz spacing";
                  }
                  enum "1540.56" {
                    value 553;
                    description
                      "1540.56 nm/194.60000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1540.51" {
                    value 554;
                    description
                      "1540.51 nm/194.60625 THz 6.25GHz spacing";
                  }
                  enum "1540.46" {
                    value 555;
                    description
                      "1540.46 nm/194.61250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1540.41" {
                    value 556;
                    description
                      "1540.41 nm/194.61875 THz 6.25GHz spacing";
                  }
                  enum "1540.36" {
                    value 557;
                    description
                      "1540.36 nm/194.62500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1540.31" {
                    value 558;
                    description
                      "1540.31 nm/194.63125 THz 6.25GHz spacing";
                  }
                  enum "1540.26" {
                    value 559;
                    description
                      "1540.26 nm/194.63750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1540.21" {
                    value 560;
                    description
                      "1540.21 nm/194.64375 THz 6.25GHz spacing";
                  }
                  enum "1540.16" {
                    value 561;
                    description
                      "1540.16 nm/194.65000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1540.11" {
                    value 562;
                    description
                      "1540.11 nm/194.65625 THz 6.25GHz spacing";
                  }
                  enum "1540.06" {
                    value 563;
                    description
                      "1540.06 nm/194.66250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1540.01" {
                    value 564;
                    description
                      "1540.01 nm/194.66875 THz 6.25GHz spacing";
                  }
                  enum "1539.96" {
                    value 565;
                    description
                      "1539.96 nm/194.67500 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1539.91" {
                    value 566;
                    description
                      "1539.91 nm/194.68125 THz 6.25GHz spacing";
                  }
                  enum "1539.86" {
                    value 567;
                    description
                      "1539.86 nm/194.68750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1539.82" {
                    value 568;
                    description
                      "1539.82 nm/194.69375 THz 6.25GHz spacing";
                  }
                  enum "1539.77" {
                    value 569;
                    description
                      "1539.77 nm/194.70000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1539.72" {
                    value 570;
                    description
                      "1539.72 nm/194.70625 THz 6.25GHz spacing";
                  }
                  enum "1539.67" {
                    value 571;
                    description
                      "1539.67 nm/194.71250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1539.62" {
                    value 572;
                    description
                      "1539.62 nm/194.71875 THz 6.25GHz spacing";
                  }
                  enum "1539.57" {
                    value 573;
                    description
                      "1539.57 nm/194.72500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1539.52" {
                    value 574;
                    description
                      "1539.52 nm/194.73125 THz 6.25GHz spacing";
                  }
                  enum "1539.47" {
                    value 575;
                    description
                      "1539.47 nm/194.73750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1539.42" {
                    value 576;
                    description
                      "1539.42 nm/194.74375 THz 6.25GHz spacing";
                  }
                  enum "1539.37" {
                    value 577;
                    description
                      "1539.37 nm/194.75000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1539.32" {
                    value 578;
                    description
                      "1539.32 nm/194.75625 THz 6.25GHz spacing";
                  }
                  enum "1539.27" {
                    value 579;
                    description
                      "1539.27 nm/194.76250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1539.22" {
                    value 580;
                    description
                      "1539.22 nm/194.76875 THz 6.25GHz spacing";
                  }
                  enum "1539.17" {
                    value 581;
                    description
                      "1539.17 nm/194.77500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1539.12" {
                    value 582;
                    description
                      "1539.12 nm/194.78125 THz 6.25GHz spacing";
                  }
                  enum "1539.07" {
                    value 583;
                    description
                      "1539.07 nm/194.78750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1539.03" {
                    value 584;
                    description
                      "1539.03 nm/194.79375 THz 6.25GHz spacing";
                  }
                  enum "1538.98" {
                    value 585;
                    description
                      "1538.98 nm/194.80000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1538.93" {
                    value 586;
                    description
                      "1538.93 nm/194.80625 THz 6.25GHz spacing";
                  }
                  enum "1538.88" {
                    value 587;
                    description
                      "1538.88 nm/194.81250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1538.83" {
                    value 588;
                    description
                      "1538.83 nm/194.81875 THz 6.25GHz spacing";
                  }
                  enum "1538.78" {
                    value 589;
                    description
                      "1538.78 nm/194.82500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1538.73" {
                    value 590;
                    description
                      "1538.73 nm/194.83125 THz 6.25GHz spacing";
                  }
                  enum "1538.68" {
                    value 591;
                    description
                      "1538.68 nm/194.83750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1538.63" {
                    value 592;
                    description
                      "1538.63 nm/194.84375 THz 6.25GHz spacing";
                  }
                  enum "1538.58" {
                    value 593;
                    description
                      "1538.58 nm/194.85000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1538.53" {
                    value 594;
                    description
                      "1538.53 nm/194.85625 THz 6.25GHz spacing";
                  }
                  enum "1538.48" {
                    value 595;
                    description
                      "1538.48 nm/194.86250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1538.43" {
                    value 596;
                    description
                      "1538.43 nm/194.86875 THz 6.25GHz spacing";
                  }
                  enum "1538.38" {
                    value 597;
                    description
                      "1538.38 nm/194.87500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1538.33" {
                    value 598;
                    description
                      "1538.33 nm/194.88125 THz 6.25GHz spacing";
                  }
                  enum "1538.28" {
                    value 599;
                    description
                      "1538.28 nm/194.88750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1538.24" {
                    value 600;
                    description
                      "1538.24 nm/194.89375 THz 6.25GHz spacing";
                  }
                  enum "1538.19" {
                    value 601;
                    description
                      "1538.19 nm/194.90000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1538.14" {
                    value 602;
                    description
                      "1538.14 nm/194.90625 THz 6.25GHz spacing";
                  }
                  enum "1538.09" {
                    value 603;
                    description
                      "1538.09 nm/194.91250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1538.04" {
                    value 604;
                    description
                      "1538.04 nm/194.91875 THz 6.25GHz spacing";
                  }
                  enum "1537.99" {
                    value 605;
                    description
                      "1537.99 nm/194.92500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1537.94" {
                    value 606;
                    description
                      "1537.94 nm/194.93125 THz 6.25GHz spacing";
                  }
                  enum "1537.89" {
                    value 607;
                    description
                      "1537.89 nm/194.93750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1537.84" {
                    value 608;
                    description
                      "1537.84 nm/194.94375 THz 6.25GHz spacing";
                  }
                  enum "1537.79" {
                    value 609;
                    description
                      "1537.79 nm/194.95000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1537.74" {
                    value 610;
                    description
                      "1537.74 nm/194.95625 THz 6.25GHz spacing";
                  }
                  enum "1537.69" {
                    value 611;
                    description
                      "1537.69 nm/194.96250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1537.64" {
                    value 612;
                    description
                      "1537.64 nm/194.96875 THz 6.25GHz spacing";
                  }
                  enum "1537.59" {
                    value 613;
                    description
                      "1537.59 nm/194.97500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1537.55" {
                    value 614;
                    description
                      "1537.55 nm/194.98125 THz 6.25GHz spacing";
                  }
                  enum "1537.50" {
                    value 615;
                    description
                      "1537.50 nm/194.98750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1537.45" {
                    value 616;
                    description
                      "1537.45 nm/194.99375 THz 6.25GHz spacing";
                  }
                  enum "1537.40" {
                    value 617;
                    description
                      "1537.40 nm/195.00000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1537.35" {
                    value 618;
                    description
                      "1537.35 nm/195.00625 THz 6.25GHz spacing";
                  }
                  enum "1537.30" {
                    value 619;
                    description
                      "1537.30 nm/195.01250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1537.25" {
                    value 620;
                    description
                      "1537.25 nm/195.01875 THz 6.25GHz spacing";
                  }
                  enum "1537.20" {
                    value 621;
                    description
                      "1537.20 nm/195.02500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1537.15" {
                    value 622;
                    description
                      "1537.15 nm/195.03125 THz 6.25GHz spacing";
                  }
                  enum "1537.10" {
                    value 623;
                    description
                      "1537.10 nm/195.03750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1537.05" {
                    value 624;
                    description
                      "1537.05 nm/195.04375 THz 6.25GHz spacing";
                  }
                  enum "1537.00" {
                    value 625;
                    description
                      "1537.00 nm/195.05000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1536.95" {
                    value 626;
                    description
                      "1536.95 nm/195.05625 THz 6.25GHz spacing";
                  }
                  enum "1536.90" {
                    value 627;
                    description
                      "1536.90 nm/195.06250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1536.86" {
                    value 628;
                    description
                      "1536.86 nm/195.06875 THz 6.25GHz spacing";
                  }
                  enum "1536.81" {
                    value 629;
                    description
                      "1536.81 nm/195.07500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1536.76" {
                    value 630;
                    description
                      "1536.76 nm/195.08125 THz 6.25GHz spacing";
                  }
                  enum "1536.71" {
                    value 631;
                    description
                      "1536.71 nm/195.08750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1536.66" {
                    value 632;
                    description
                      "1536.66 nm/195.09375 THz 6.25GHz spacing";
                  }
                  enum "1536.61" {
                    value 633;
                    description
                      "1536.61 nm/195.10000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1536.56" {
                    value 634;
                    description
                      "1536.56 nm/195.10625 THz 6.25GHz spacing";
                  }
                  enum "1536.51" {
                    value 635;
                    description
                      "1536.51 nm/195.11250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1536.46" {
                    value 636;
                    description
                      "1536.46 nm/195.11875 THz 6.25GHz spacing";
                  }
                  enum "1536.41" {
                    value 637;
                    description
                      "1536.41 nm/195.12500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1536.36" {
                    value 638;
                    description
                      "1536.36 nm/195.13125 THz 6.25GHz spacing";
                  }
                  enum "1536.31" {
                    value 639;
                    description
                      "1536.31 nm/195.13750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1536.26" {
                    value 640;
                    description
                      "1536.26 nm/195.14375 THz 6.25GHz spacing";
                  }
                  enum "1536.22" {
                    value 641;
                    description
                      "1536.22 nm/195.15000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1536.17" {
                    value 642;
                    description
                      "1536.17 nm/195.15625 THz 6.25GHz spacing";
                  }
                  enum "1536.12" {
                    value 643;
                    description
                      "1536.12 nm/195.16250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1536.07" {
                    value 644;
                    description
                      "1536.07 nm/195.16875 THz 6.25GHz spacing";
                  }
                  enum "1536.02" {
                    value 645;
                    description
                      "1536.02 nm/195.17500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1535.97" {
                    value 646;
                    description
                      "1535.97 nm/195.18125 THz 6.25GHz spacing";
                  }
                  enum "1535.92" {
                    value 647;
                    description
                      "1535.92 nm/195.18750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1535.87" {
                    value 648;
                    description
                      "1535.87 nm/195.19375 THz 6.25GHz spacing";
                  }
                  enum "1535.82" {
                    value 649;
                    description
                      "1535.82 nm/195.20000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1535.77" {
                    value 650;
                    description
                      "1535.77 nm/195.20625 THz 6.25GHz spacing";
                  }
                  enum "1535.72" {
                    value 651;
                    description
                      "1535.72 nm/195.21250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1535.67" {
                    value 652;
                    description
                      "1535.67 nm/195.21875 THz 6.25GHz spacing";
                  }
                  enum "1535.63" {
                    value 653;
                    description
                      "1535.63 nm/195.22500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1535.58" {
                    value 654;
                    description
                      "1535.58 nm/195.23125 THz 6.25GHz spacing";
                  }
                  enum "1535.53" {
                    value 655;
                    description
                      "1535.53 nm/195.23750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1535.48" {
                    value 656;
                    description
                      "1535.48 nm/195.24375 THz 6.25GHz spacing";
                  }
                  enum "1535.43" {
                    value 657;
                    description
                      "1535.43 nm/195.25000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1535.38" {
                    value 658;
                    description
                      "1535.38 nm/195.25625 THz 6.25GHz spacing";
                  }
                  enum "1535.33" {
                    value 659;
                    description
                      "1535.33 nm/195.26250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1535.28" {
                    value 660;
                    description
                      "1535.28 nm/195.26875 THz 6.25GHz spacing";
                  }
                  enum "1535.23" {
                    value 661;
                    description
                      "1535.23 nm/195.27500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1535.18" {
                    value 662;
                    description
                      "1535.18 nm/195.28125 THz 6.25GHz spacing";
                  }
                  enum "1535.13" {
                    value 663;
                    description
                      "1535.13 nm/195.28750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1535.08" {
                    value 664;
                    description
                      "1535.08 nm/195.29375 THz 6.25GHz spacing";
                  }
                  enum "1535.04" {
                    value 665;
                    description
                      "1535.04 nm/195.30000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1534.99" {
                    value 666;
                    description
                      "1534.99 nm/195.30625 THz 6.25GHz spacing";
                  }
                  enum "1534.94" {
                    value 667;
                    description
                      "1534.94 nm/195.31250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1534.89" {
                    value 668;
                    description
                      "1534.89 nm/195.31875 THz 6.25GHz spacing";
                  }
                  enum "1534.84" {
                    value 669;
                    description
                      "1534.84 nm/195.32500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1534.79" {
                    value 670;
                    description
                      "1534.79 nm/195.33125 THz 6.25GHz spacing";
                  }
                  enum "1534.74" {
                    value 671;
                    description
                      "1534.74 nm/195.33750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1534.69" {
                    value 672;
                    description
                      "1534.69 nm/195.34375 THz 6.25GHz spacing";
                  }
                  enum "1534.64" {
                    value 673;
                    description
                      "1534.64 nm/195.35000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1534.59" {
                    value 674;
                    description
                      "1534.59 nm/195.35625 THz 6.25GHz spacing";
                  }
                  enum "1534.54" {
                    value 675;
                    description
                      "1534.54 nm/195.36250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1534.50" {
                    value 676;
                    description
                      "1534.50 nm/195.36875 THz 6.25GHz spacing";
                  }
                  enum "1534.45" {
                    value 677;
                    description
                      "1534.45 nm/195.37500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1534.40" {
                    value 678;
                    description
                      "1534.40 nm/195.38125 THz 6.25GHz spacing";
                  }
                  enum "1534.35" {
                    value 679;
                    description
                      "1534.35 nm/195.38750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1534.30" {
                    value 680;
                    description
                      "1534.30 nm/195.39375 THz 6.25GHz spacing";
                  }
                  enum "1534.25" {
                    value 681;
                    description
                      "1534.25 nm/195.40000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1534.20" {
                    value 682;
                    description
                      "1534.20 nm/195.40625 THz 6.25GHz spacing";
                  }
                  enum "1534.15" {
                    value 683;
                    description
                      "1534.15 nm/195.41250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1534.10" {
                    value 684;
                    description
                      "1534.10 nm/195.41875 THz 6.25GHz spacing";
                  }
                  enum "1534.05" {
                    value 685;
                    description
                      "1534.05 nm/195.42500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1534.00" {
                    value 686;
                    description
                      "1534.00 nm/195.43125 THz 6.25GHz spacing";
                  }
                  enum "1533.96" {
                    value 687;
                    description
                      "1533.96 nm/195.43750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1533.91" {
                    value 688;
                    description
                      "1533.91 nm/195.44375 THz 6.25GHz spacing";
                  }
                  enum "1533.86" {
                    value 689;
                    description
                      "1533.86 nm/195.45000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1533.81" {
                    value 690;
                    description
                      "1533.81 nm/195.45625 THz 6.25GHz spacing";
                  }
                  enum "1533.76" {
                    value 691;
                    description
                      "1533.76 nm/195.46250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1533.71" {
                    value 692;
                    description
                      "1533.71 nm/195.46875 THz 6.25GHz spacing";
                  }
                  enum "1533.66" {
                    value 693;
                    description
                      "1533.66 nm/195.47500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1533.61" {
                    value 694;
                    description
                      "1533.61 nm/195.48125 THz 6.25GHz spacing";
                  }
                  enum "1533.56" {
                    value 695;
                    description
                      "1533.56 nm/195.48750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1533.51" {
                    value 696;
                    description
                      "1533.51 nm/195.49375 THz 6.25GHz spacing";
                  }
                  enum "1533.47" {
                    value 697;
                    description
                      "1533.47 nm/195.50000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1533.42" {
                    value 698;
                    description
                      "1533.42 nm/195.50625 THz 6.25GHz spacing";
                  }
                  enum "1533.37" {
                    value 699;
                    description
                      "1533.37 nm/195.51250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1533.32" {
                    value 700;
                    description
                      "1533.32 nm/195.51875 THz 6.25GHz spacing";
                  }
                  enum "1533.27" {
                    value 701;
                    description
                      "1533.27 nm/195.52500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1533.22" {
                    value 702;
                    description
                      "1533.22 nm/195.53125 THz 6.25GHz spacing";
                  }
                  enum "1533.17" {
                    value 703;
                    description
                      "1533.17 nm/195.53750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1533.12" {
                    value 704;
                    description
                      "1533.12 nm/195.54375 THz 6.25GHz spacing";
                  }
                  enum "1533.07" {
                    value 705;
                    description
                      "1533.07 nm/195.55000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1533.02" {
                    value 706;
                    description
                      "1533.02 nm/195.55625 THz 6.25GHz spacing";
                  }
                  enum "1532.98" {
                    value 707;
                    description
                      "1532.98 nm/195.56250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1532.93" {
                    value 708;
                    description
                      "1532.93 nm/195.56875 THz 6.25GHz spacing";
                  }
                  enum "1532.88" {
                    value 709;
                    description
                      "1532.88 nm/195.57500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1532.83" {
                    value 710;
                    description
                      "1532.83 nm/195.58125 THz 6.25GHz spacing";
                  }
                  enum "1532.78" {
                    value 711;
                    description
                      "1532.78 nm/195.58750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1532.73" {
                    value 712;
                    description
                      "1532.73 nm/195.59375 THz 6.25GHz spacing";
                  }
                  enum "1532.68" {
                    value 713;
                    description
                      "1532.68 nm/195.60000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1532.63" {
                    value 714;
                    description
                      "1532.63 nm/195.60625 THz 6.25GHz spacing";
                  }
                  enum "1532.58" {
                    value 715;
                    description
                      "1532.58 nm/195.61250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1532.53" {
                    value 716;
                    description
                      "1532.53 nm/195.61875 THz 6.25GHz spacing";
                  }
                  enum "1532.49" {
                    value 717;
                    description
                      "1532.49 nm/195.62500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1532.44" {
                    value 718;
                    description
                      "1532.44 nm/195.63125 THz 6.25GHz spacing";
                  }
                  enum "1532.39" {
                    value 719;
                    description
                      "1532.39 nm/195.63750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1532.34" {
                    value 720;
                    description
                      "1532.34 nm/195.64375 THz 6.25GHz spacing";
                  }
                  enum "1532.29" {
                    value 721;
                    description
                      "1532.29 nm/195.65000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1532.24" {
                    value 722;
                    description
                      "1532.24 nm/195.65625 THz 6.25GHz spacing";
                  }
                  enum "1532.19" {
                    value 723;
                    description
                      "1532.19 nm/195.66250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1532.14" {
                    value 724;
                    description
                      "1532.14 nm/195.66875 THz 6.25GHz spacing";
                  }
                  enum "1532.09" {
                    value 725;
                    description
                      "1532.09 nm/195.67500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1532.04" {
                    value 726;
                    description
                      "1532.04 nm/195.68125 THz 6.25GHz spacing";
                  }
                  enum "1532.00" {
                    value 727;
                    description
                      "1532.00 nm/195.68750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1531.95" {
                    value 728;
                    description
                      "1531.95 nm/195.69375 THz 6.25GHz spacing";
                  }
                  enum "1531.90" {
                    value 729;
                    description
                      "1531.90 nm/195.70000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1531.85" {
                    value 730;
                    description
                      "1531.85 nm/195.70625 THz 6.25GHz spacing";
                  }
                  enum "1531.80" {
                    value 731;
                    description
                      "1531.80 nm/195.71250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1531.75" {
                    value 732;
                    description
                      "1531.75 nm/195.71875 THz 6.25GHz spacing";
                  }
                  enum "1531.70" {
                    value 733;
                    description
                      "1531.70 nm/195.72500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1531.65" {
                    value 734;
                    description
                      "1531.65 nm/195.73125 THz 6.25GHz spacing";
                  }
                  enum "1531.60" {
                    value 735;
                    description
                      "1531.60 nm/195.73750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1531.56" {
                    value 736;
                    description
                      "1531.56 nm/195.74375 THz 6.25GHz spacing";
                  }
                  enum "1531.51" {
                    value 737;
                    description
                      "1531.51 nm/195.75000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1531.46" {
                    value 738;
                    description
                      "1531.46 nm/195.75625 THz 6.25GHz spacing";
                  }
                  enum "1531.41" {
                    value 739;
                    description
                      "1531.41 nm/195.76250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1531.36" {
                    value 740;
                    description
                      "1531.36 nm/195.76875 THz 6.25GHz spacing";
                  }
                  enum "1531.31" {
                    value 741;
                    description
                      "1531.31 nm/195.77500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1531.26" {
                    value 742;
                    description
                      "1531.26 nm/195.78125 THz 6.25GHz spacing";
                  }
                  enum "1531.21" {
                    value 743;
                    description
                      "1531.21 nm/195.78750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1531.16" {
                    value 744;
                    description
                      "1531.16 nm/195.79375 THz 6.25GHz spacing";
                  }
                  enum "1531.12" {
                    value 745;
                    description
                      "1531.12 nm/195.80000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1531.07" {
                    value 746;
                    description
                      "1531.07 nm/195.80625 THz 6.25GHz spacing";
                  }
                  enum "1531.02" {
                    value 747;
                    description
                      "1531.02 nm/195.81250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1530.97" {
                    value 748;
                    description
                      "1530.97 nm/195.81875 THz 6.25GHz spacing";
                  }
                  enum "1530.92" {
                    value 749;
                    description
                      "1530.92 nm/195.82500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1530.87" {
                    value 750;
                    description
                      "1530.87 nm/195.83125 THz 6.25GHz spacing";
                  }
                  enum "1530.82" {
                    value 751;
                    description
                      "1530.82 nm/195.83750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1530.77" {
                    value 752;
                    description
                      "1530.77 nm/195.84375 THz 6.25GHz spacing";
                  }
                  enum "1530.72" {
                    value 753;
                    description
                      "1530.72 nm/195.85000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1530.68" {
                    value 754;
                    description
                      "1530.68 nm/195.85625 THz 6.25GHz spacing";
                  }
                  enum "1530.63" {
                    value 755;
                    description
                      "1530.63 nm/195.86250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1530.58" {
                    value 756;
                    description
                      "1530.58 nm/195.86875 THz 6.25GHz spacing";
                  }
                  enum "1530.53" {
                    value 757;
                    description
                      "1530.53 nm/195.87500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1530.48" {
                    value 758;
                    description
                      "1530.48 nm/195.88125 THz 6.25GHz spacing";
                  }
                  enum "1530.43" {
                    value 759;
                    description
                      "1530.43 nm/195.88750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1530.38" {
                    value 760;
                    description
                      "1530.38 nm/195.89375 THz 6.25GHz spacing";
                  }
                  enum "1530.33" {
                    value 761;
                    description
                      "1530.33 nm/195.90000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1530.29" {
                    value 762;
                    description
                      "1530.29 nm/195.90625 THz 6.25GHz spacing";
                  }
                  enum "1530.24" {
                    value 763;
                    description
                      "1530.24 nm/195.91250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1530.19" {
                    value 764;
                    description
                      "1530.19 nm/195.91875 THz 6.25GHz spacing";
                  }
                  enum "1530.14" {
                    value 765;
                    description
                      "1530.14 nm/195.92500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1530.09" {
                    value 766;
                    description
                      "1530.09 nm/195.93125 THz 6.25GHz spacing";
                  }
                  enum "1530.04" {
                    value 767;
                    description
                      "1530.04 nm/195.93750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1529.99" {
                    value 768;
                    description
                      "1529.99 nm/195.94375 THz 6.25GHz spacing";
                  }
                  enum "1529.94" {
                    value 769;
                    description
                      "1529.94 nm/195.95000 THz 6.25/12.5/50/75GHz spacing";
                  }
                  enum "1529.89" {
                    value 770;
                    description
                      "1529.89 nm/195.95625 THz 6.25GHz spacing";
                  }
                  enum "1529.85" {
                    value 771;
                    description
                      "1529.85 nm/195.96250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1529.80" {
                    value 772;
                    description
                      "1529.80 nm/195.96875 THz 6.25GHz spacing";
                  }
                  enum "1529.75" {
                    value 773;
                    description
                      "1529.75 nm/195.97500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1529.70" {
                    value 774;
                    description
                      "1529.70 nm/195.98125 THz 6.25GHz spacing";
                  }
                  enum "1529.65" {
                    value 775;
                    description
                      "1529.65 nm/195.98750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1529.60" {
                    value 776;
                    description
                      "1529.60 nm/195.99375 THz 6.25GHz spacing";
                  }
                  enum "1529.55" {
                    value 777;
                    description
                      "1529.55 nm/196.00000 THz 6.25/12.5/50/100GHz spacing";
                  }
                  enum "1529.50" {
                    value 778;
                    description
                      "1529.50 nm/196.00625 THz 6.25GHz spacing";
                  }
                  enum "1529.46" {
                    value 779;
                    description
                      "1529.46 nm/196.01250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1529.41" {
                    value 780;
                    description
                      "1529.41 nm/196.01875 THz 6.25GHz spacing";
                  }
                  enum "1529.36" {
                    value 781;
                    description
                      "1529.36 nm/196.02500 THz 6.25/12.5/75GHz spacing";
                  }
                  enum "1529.31" {
                    value 782;
                    description
                      "1529.31 nm/196.03125 THz 6.25GHz spacing";
                  }
                  enum "1529.26" {
                    value 783;
                    description
                      "1529.26 nm/196.03750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1529.21" {
                    value 784;
                    description
                      "1529.21 nm/196.04375 THz 6.25GHz spacing";
                  }
                  enum "1529.16" {
                    value 785;
                    description
                      "1529.16 nm/196.05000 THz 6.25/12.5/50GHz spacing";
                  }
                  enum "1529.11" {
                    value 786;
                    description
                      "1529.11 nm/196.05625 THz 6.25GHz spacing";
                  }
                  enum "1529.07" {
                    value 787;
                    description
                      "1529.07 nm/196.06250 THz 6.25/12.5GHz spacing";
                  }
                  enum "1529.02" {
                    value 788;
                    description
                      "1529.02 nm/196.06875 THz 6.25GHz spacing";
                  }
                  enum "1528.97" {
                    value 789;
                    description
                      "1528.97 nm/196.07500 THz 6.25/12.5GHz spacing";
                  }
                  enum "1528.92" {
                    value 790;
                    description
                      "1528.92 nm/196.08125 THz 6.25GHz spacing";
                  }
                  enum "1528.87" {
                    value 791;
                    description
                      "1528.87 nm/196.08750 THz 6.25/12.5GHz spacing";
                  }
                  enum "1528.82" {
                    value 792;
                    description
                      "1528.82 nm/196.09375 THz 6.25GHz spacing";
                  }
                  enum "1528.77" {
                    value 793;
                    description
                      "1528.77 nm/196.10000 THz 6.25/12.5/50/75/100GHz spacing";
                  }
                  enum "1528.38" {
                    value 794;
                    description
                      "1528.38 nm/196.15040 THz 50Ghz spacing";
                  }
                }
                description
                  "Wavelength of the WSS channel for 50Ghz/100Ghz spacing";
              }
    
              uses apply-advanced;
    
              choice wss {
                container switch {
                  presence "enable switch";
                  description
                    "Switch the wavelength to an optical interface";
                  uses apply-advanced;
    
                  leaf interface-name {
                    type string;
                    description
                      "Name of physical interface";
                  }
                }  // container switch
                leaf wss-express-in {
                  type empty;
                  description
                    "Express-in this wavelength to another optical card";
                }
              }  // choice wss
            }  // list wavelength
    
            container tca {
              description
                "Set tca for optical properties";
              uses apply-advanced;
    
              container osc-tx-power-high-tca {
                description
                  "OSC TX power high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute osc tx power high TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour osc tx power high TCA in dBm";
                }
              }  // container osc-tx-power-high-tca
    
              container osc-tx-power-low-tca {
                description
                  "OSC TX power low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute osc tx power low TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour osc tx power low TCA in dBm";
                }
              }  // container osc-tx-power-low-tca
    
              container osc-rx-power-high-tca {
                description
                  "OSC RX power high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute osc rx power high TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour osc rx power high TCA in dBm";
                }
              }  // container osc-rx-power-high-tca
    
              container osc-rx-power-low-tca {
                description
                  "OSC RX power low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute osc rx power low TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour osc rx power low TCA in dBm";
                }
              }  // container osc-rx-power-low-tca
    
              container osc-fiber-loss-high-tca {
                description
                  "OSC fiber loss high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute osc fiber loss high TCA in dB";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour osc fiber loss high TCA in dB";
                }
              }  // container osc-fiber-loss-high-tca
    
              container osc-fiber-loss-low-tca {
                description
                  "OSC fiber loss low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute osc fiber loss low TCA in dB";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour osc fiber loss low TCA in dB";
                }
              }  // container osc-fiber-loss-low-tca
    
              container lout-voa-high-tca {
                description "LOUT VOA high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute LOUT VOA high TCA in dB";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour LOUT VOA high TCA in dB";
                }
              }  // container lout-voa-high-tca
    
              container lout-voa-low-tca {
                description "LOUT VOA low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute LOUT VOA low TCA in dB";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour LOUT VOA low TCA in dB";
                }
              }  // container lout-voa-low-tca
    
              container edfa1-in-power-high-tca {
                description
                  "Ingress EDFA input power high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA input power high TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA input power high TCA in dBm";
                }
              }  // container edfa1-in-power-high-tca
    
              container edfa1-in-power-low-tca {
                description
                  "Ingress EDFA input power low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA input power low TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA input power low TCA in dBm";
                }
              }  // container edfa1-in-power-low-tca
    
              container edfa1-out-power-high-tca {
                description
                  "Ingress EDFA output power high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA output power high TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA output power high TCA in dBm";
                }
              }  // container edfa1-out-power-high-tca
    
              container edfa1-out-power-low-tca {
                description
                  "Ingress EDFA output power low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA output power low TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA output power low TCA in dBm";
                }
              }  // container edfa1-out-power-low-tca
    
              container edfa1-sig-power-high-tca {
                description
                  "Ingress EDFA signal power high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA signal power high TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA signal power high TCA in dBm";
                }
              }  // container edfa1-sig-power-high-tca
    
              container edfa1-sig-power-low-tca {
                description
                  "Ingress EDFA signal power low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA signal power low TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA signal power low TCA in dBm";
                }
              }  // container edfa1-sig-power-low-tca
    
              container edfa1-awg-high-tca {
                description
                  "Ingress EDFA pump AWG high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA pump AWG high TCA in mW";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA pump AWG high TCA in mW";
                }
              }  // container edfa1-awg-high-tca
    
              container edfa1-awg-low-tca {
                description
                  "Ingress EDFA pump AWG low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA pump AWG low TCA in mW";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA pump AWG low TCA in mW";
                }
              }  // container edfa1-awg-low-tca
    
              container edfa1-express-high-tca {
                description
                  "Ingress EDFA pump express high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA pump express high TCA in mW";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA pump express high TCA in mW";
                }
              }  // container edfa1-express-high-tca
    
              container edfa1-express-low-tca {
                description
                  "Ingress EDFA pump express low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Ingress EDFA pump express low TCA in mW";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Ingress EDFA pump express low TCA in mW";
                }
              }  // container edfa1-express-low-tca
    
              container edfa2-in-power-high-tca {
                description
                  "Egress EDFA input power high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA input power high TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA input power high TCA in dBm";
                }
              }  // container edfa2-in-power-high-tca
    
              container edfa2-in-power-low-tca {
                description
                  "Egress EDFA input power low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA input power low TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA input power low TCA in dBm";
                }
              }  // container edfa2-in-power-low-tca
    
              container edfa2-out-power-high-tca {
                description
                  "Egress EDFA output power high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA output power high TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA output power high TCA in dBm";
                }
              }  // container edfa2-out-power-high-tca
    
              container edfa2-out-power-low-tca {
                description
                  "Egress EDFA output power low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA output power low TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA output power low TCA in dBm";
                }
              }  // container edfa2-out-power-low-tca
    
              container edfa2-sig-power-high-tca {
                description
                  "Egress EDFA signal power high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA signal power high TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA signal power high TCA in dBm";
                }
              }  // container edfa2-sig-power-high-tca
    
              container edfa2-sig-power-low-tca {
                description
                  "Egress EDFA signal power low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA signal power low TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA signal power low TCA in dBm";
                }
              }  // container edfa2-sig-power-low-tca
    
              container edfa2-awg-high-tca {
                description
                  "Egress EDFA pump AWG high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA pump AWG high TCA in mW";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA pump AWG high TCA in mW";
                }
              }  // container edfa2-awg-high-tca
    
              container edfa2-awg-low-tca {
                description
                  "Egress EDFA pump AWG low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA pump AWG low TCA in mW";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA pump AWG low TCA in mW";
                }
              }  // container edfa2-awg-low-tca
    
              container edfa2-express-high-tca {
                description
                  "Egress EDFA pump express high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA pump express high TCA in mW";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA pump express high TCA in mW";
                }
              }  // container edfa2-express-high-tca
    
              container edfa2-express-low-tca {
                description
                  "Egress EDFA pump express low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute Egress EDFA pump express low TCA in mW";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour Egress EDFA pump express low TCA in mW";
                }
              }  // container edfa2-express-low-tca
    
              container ocm-power-high-line-out-tca {
                description
                  "OCM Power Line Out high TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute OCM Power high TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour OCM Power high TCA in dBm";
                }
              }  // container ocm-power-high-line-out-tca
    
              container ocm-power-low-line-out-tca {
                description
                  "OCM Power Line Out low TCA";
                uses apply-advanced;
    
                choice enable-tca-choice {
                  leaf enable-tca {
                    type empty;
                    description "Enable tca";
                  }
                  leaf no-enable-tca {
                    type empty;
                    description
                      "Don't enable tca";
                  }
                }  // choice enable-tca-choice
    
                leaf threshold {
                  type string;
                  description
                    "Threshold for 15 minute OCM Power low TCA in dBm";
                }
    
                leaf threshold-24hrs {
                  type string;
                  description
                    "Threshold for 24 hour OCM Power low TCA in dBm";
                }
              }  // container ocm-power-low-line-out-tca
            }  // container tca
    
            container expansion-card {
              description
                "Associate an expansion card with the IPLC card";
              uses apply-advanced;
    
              container fpc {
                presence "enable fpc";
                uses apply-advanced;
    
                leaf fpc-slot {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32;
                  }
                }
              }  // container fpc
            }  // container expansion-card
    
            container express-in {
              description
                "Associate an express-in card with the IPLC card";
              uses apply-advanced;
    
              container fpc {
                presence "enable fpc";
                uses apply-advanced;
    
                leaf fpc-slot {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32;
                  }
                }
              }  // container fpc
            }  // container express-in
    
            container amplifier-chain {
              description
                "In-line amplifier options";
              uses apply-advanced;
    
              choice anchor-iplc-choice {
                leaf anchor-iplc {
                  type empty;
                  description
                    "Mark IPLC as anchor for In-line amplifier chain";
                }
                leaf no-anchor-iplc {
                  type empty;
                  description
                    "Don't mark IPLC as anchor for In-line amplifier chain";
                }
              }  // choice anchor-iplc-choice
    
              leaf osc-ip {
                type string;
                description
                  "IPLC OSC path IPv4 address format w.x.y.z/a";
              }
    
              leaf osc-mac {
                type string;
                description
                  "IPLC OSC path MAC address format a:b:c:d:e:f";
              }
    
              list ila {
                key "name";
                description
                  "Configure In-line amplifier number";
                leaf name {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "0 .. 14";
                    }
                  }
                  description
                    "In-line amplifier Chain position number";
                }
    
                uses apply-advanced;
    
                container ila-options {
                  description
                    "In-line amplifier settings";
                  uses apply-advanced;
    
                  leaf ila-ipv4-address {
                    type string;
                    description
                      "In-line amplifier IPV4 address format w.x.y.z/a";
                  }
    
                  leaf ila-user {
                    type string;
                    description "ILA User Name";
                  }
    
                  leaf ila-password {
                    type jt:unreadable;
                    description
                      "ILA password string";
                  }
    
                  container edfa-a-b {
                    description
                      "Configure edfa-a-b";
                    uses apply-advanced;
    
                    container tca-input-power-low {
                      description
                        "Input power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute input power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour input power low TCA in dBm";
                      }
                    }  // container tca-input-power-low
    
                    container tca-input-power-high {
                      description
                        "Input power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute input power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour input power high TCA in dBm";
                      }
                    }  // container tca-input-power-high
    
                    container tca-output-power-low {
                      description
                        "Output power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute output power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour output power low TCA in dBm";
                      }
                    }  // container tca-output-power-low
    
                    container tca-output-power-high {
                      description
                        "Output power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute output power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour output power high TCA in dBm";
                      }
                    }  // container tca-output-power-high
    
                    container tca-signal-output-power-low {
                      description
                        "Signal output power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute signal output power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour signal output power low TCA in dBm";
                      }
                    }  // container tca-signal-output-power-low
    
                    container tca-signal-output-power-high {
                      description
                        "Signal output power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute signal output power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour signal output power high TCA in dBm";
                      }
                    }  // container tca-signal-output-power-high
    
                    container tca-pump0-current-low {
                      description
                        "Pump0 current low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump0 current low TCA in mA";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump0 current low TCA in mA";
                      }
                    }  // container tca-pump0-current-low
    
                    container tca-pump0-current-high {
                      description
                        "Pump0 current high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump0 current high TCA in mA";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump0 current high TCA in mA";
                      }
                    }  // container tca-pump0-current-high
    
                    container tca-pump1-current-low {
                      description
                        "Pump1 current low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump1 current low TCA in mA";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump1 current low TCA in mA";
                      }
                    }  // container tca-pump1-current-low
    
                    container tca-pump1-current-high {
                      description
                        "Pump1 current high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump1 current high TCA in mA";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump1 current high TCA in mA";
                      }
                    }  // container tca-pump1-current-high
    
                    container tca-pump0-temperature-low {
                      description
                        "Pump0 temperature low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump0 temperature low TCA in C";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump0 temperature low TCA in C";
                      }
                    }  // container tca-pump0-temperature-low
    
                    container tca-pump0-temperature-high {
                      description
                        "Pump0 temperature high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump0 temperature high TCA in C";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump0 temperature high TCA in C";
                      }
                    }  // container tca-pump0-temperature-high
    
                    container tca-pump1-temperature-low {
                      description
                        "Pump1 temperature low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump1 temperature low TCA in C";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump1 temperature low TCA in C";
                      }
                    }  // container tca-pump1-temperature-low
    
                    container tca-pump1-temperature-high {
                      description
                        "Pump1 temperature high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump1 temperature high TCA in C";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump1 temperature high TCA in C";
                      }
                    }  // container tca-pump1-temperature-high
                  }  // container edfa-a-b
    
                  container voa-a {
                    description
                      "Configure voa-a";
                    uses apply-advanced;
    
                    container tca-attenuation-low {
                      description
                        "Attenuation low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute attenuation low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour attenuation low TCA in dBm";
                      }
                    }  // container tca-attenuation-low
    
                    container tca-attenuation-high {
                      description
                        "Attenuation high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute attenuation high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour attenuation high TCA in dBm";
                      }
                    }  // container tca-attenuation-high
                  }  // container voa-a
    
                  container osc-a {
                    description
                      "Configure osc-a";
                    uses apply-advanced;
    
                    container osc-tx-power-high-tca {
                      description
                        "OSC TX power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc tx power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc tx power high TCA in dBm";
                      }
                    }  // container osc-tx-power-high-tca
    
                    container osc-tx-power-low-tca {
                      description
                        "OSC TX power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc tx power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc tx power low TCA in dBm";
                      }
                    }  // container osc-tx-power-low-tca
    
                    container osc-rx-power-high-tca {
                      description
                        "OSC RX power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc rx power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc rx power high TCA in dBm";
                      }
                    }  // container osc-rx-power-high-tca
    
                    container osc-rx-power-low-tca {
                      description
                        "OSC RX power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc rx power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc rx power low TCA in dBm";
                      }
                    }  // container osc-rx-power-low-tca
    
                    container osc-fiber-loss-high-tca {
                      description
                        "OSC fiber loss high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc fiber loss high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc fiber loss high TCA in dBm";
                      }
                    }  // container osc-fiber-loss-high-tca
    
                    container osc-fiber-loss-low-tca {
                      description
                        "OSC fiber loss low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc fiber loss low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc fiber loss low TCA in dBm";
                      }
                    }  // container osc-fiber-loss-low-tca
                  }  // container osc-a
    
                  container edfa-b-a {
                    description
                      "Configure edfa-b-a";
                    uses apply-advanced;
    
                    container tca-input-power-low {
                      description
                        "Input power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute input power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour input power low TCA in dBm";
                      }
                    }  // container tca-input-power-low
    
                    container tca-input-power-high {
                      description
                        "Input power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute input power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour input power high TCA in dBm";
                      }
                    }  // container tca-input-power-high
    
                    container tca-output-power-low {
                      description
                        "Output power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute output power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour output power low TCA in dBm";
                      }
                    }  // container tca-output-power-low
    
                    container tca-output-power-high {
                      description
                        "Output power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute output power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour output power high TCA in dBm";
                      }
                    }  // container tca-output-power-high
    
                    container tca-signal-output-power-low {
                      description
                        "Signal output power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute signal output power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour signal output power low TCA in dBm";
                      }
                    }  // container tca-signal-output-power-low
    
                    container tca-signal-output-power-high {
                      description
                        "Signal output power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute signal output power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour signal output power high TCA in dBm";
                      }
                    }  // container tca-signal-output-power-high
    
                    container tca-pump0-current-low {
                      description
                        "Pump0 current low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump0 current low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump0 current low TCA in dBm";
                      }
                    }  // container tca-pump0-current-low
    
                    container tca-pump0-current-high {
                      description
                        "Pump0 current high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump0 current high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump0 current high TCA in dBm";
                      }
                    }  // container tca-pump0-current-high
    
                    container tca-pump1-current-low {
                      description
                        "Pump1 current low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump1 current low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump1 current low TCA in dBm";
                      }
                    }  // container tca-pump1-current-low
    
                    container tca-pump1-current-high {
                      description
                        "Pump1 current high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump1 current high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump1 current high TCA in dBm";
                      }
                    }  // container tca-pump1-current-high
    
                    container tca-pump0-temperature-low {
                      description
                        "Pump0 temperature low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump0 temperature low TCA in C";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump0 temperature low TCA in C";
                      }
                    }  // container tca-pump0-temperature-low
    
                    container tca-pump0-temperature-high {
                      description
                        "Pump0 temperature high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump0 temperature high TCA in C";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump0 temperature high TCA in C";
                      }
                    }  // container tca-pump0-temperature-high
    
                    container tca-pump1-temperature-low {
                      description
                        "Pump1 temperature low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump1 temperature low TCA in C";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump1 temperature low TCA in C";
                      }
                    }  // container tca-pump1-temperature-low
    
                    container tca-pump1-temperature-high {
                      description
                        "Pump1 temperature high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute pump1 temperature high TCA in C";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour pump1 temperature high TCA in C";
                      }
                    }  // container tca-pump1-temperature-high
                  }  // container edfa-b-a
    
                  container voa-b {
                    description
                      "Configure voa-b";
                    uses apply-advanced;
    
                    container tca-attenuation-low {
                      description
                        "Attenuation low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute attenuation low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour attenuation low TCA in dBm";
                      }
                    }  // container tca-attenuation-low
    
                    container tca-attenuation-high {
                      description
                        "Attenuation high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute attenuation high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour attenuation high TCA in dBm";
                      }
                    }  // container tca-attenuation-high
                  }  // container voa-b
    
                  container osc-b {
                    description
                      "Configure osc-b";
                    uses apply-advanced;
    
                    container osc-tx-power-high-tca {
                      description
                        "OSC TX power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc tx power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc tx power high TCA in dBm";
                      }
                    }  // container osc-tx-power-high-tca
    
                    container osc-tx-power-low-tca {
                      description
                        "OSC TX power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc tx power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc tx power low TCA in dBm";
                      }
                    }  // container osc-tx-power-low-tca
    
                    container osc-rx-power-high-tca {
                      description
                        "OSC RX power high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc rx power high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc rx power high TCA in dBm";
                      }
                    }  // container osc-rx-power-high-tca
    
                    container osc-rx-power-low-tca {
                      description
                        "OSC RX power low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc rx power low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc rx power low TCA in dBm";
                      }
                    }  // container osc-rx-power-low-tca
    
                    container osc-fiber-loss-high-tca {
                      description
                        "OSC fiber loss high TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc fiber loss high TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc fiber loss high TCA in dBm";
                      }
                    }  // container osc-fiber-loss-high-tca
    
                    container osc-fiber-loss-low-tca {
                      description
                        "OSC fiber loss low TCA";
                      uses apply-advanced;
    
                      choice enable-tca-choice {
                        leaf enable-tca {
                          type empty;
                          description
                            "Enable tca";
                        }
                        leaf no-enable-tca {
                          type empty;
                          description
                            "Don't enable tca";
                        }
                      }  // choice enable-tca-choice
    
                      leaf threshold {
                        type string;
                        description
                          "Threshold for 15 minute osc fiber loss low TCA in dBm";
                      }
    
                      leaf threshold-24hrs {
                        type string;
                        description
                          "Threshold for 24 hour osc fiber loss low TCA in dBm";
                      }
                    }  // container osc-fiber-loss-low-tca
                  }  // container osc-b
                }  // container ila-options
              }  // list ila
            }  // container amplifier-chain
          }  // container optical-options
    
          leaf power {
            type enumeration {
              enum "off" {
                value 0;
                description
                  "Do not provide power to FPCs";
              }
              enum "on" {
                value 1;
                description
                  "Provide power to FPCs";
              }
            }
            description "Power FPCs on or off";
          }
    
          leaf no-vlan-tagging {
            type empty;
            description
              "Disable vlan support on FPC with default tpid 0x8100";
          }
    
          container traffic-manager {
            description
              "Configure traffic-manager attributes";
            uses apply-advanced;
    
            leaf buffer-monitor-enable {
              type empty;
              description
                "Enable port buffer monitoring";
            }
    
            container queue-threshold {
              description "Set queue thresholds";
              uses apply-advanced;
    
              container fabric-queue {
                description
                  "Set fabric queue thresholds";
                uses apply-advanced;
    
                list priority {
                  key "name";
                  ordered-by user;
                  description "Queue priority";
                  leaf name {
                    type enumeration {
                      enum "low" {
                        value 0;
                        description
                          "Low fabric priority";
                      }
                      enum "high" {
                        value 1;
                        description
                          "High fabric priority";
                      }
                    }
                    description "Priority level";
                  }
    
                  uses apply-advanced;
    
                  leaf threshold {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 100";
                      }
                    }
                    description
                      "Threshold percentage to be set";
                  }
                }  // list priority
              }  // container fabric-queue
    
              container wan-queue {
                description
                  "Set wan queue thresholds";
                uses apply-advanced;
    
                list priority {
                  key "name";
                  ordered-by user;
                  description "Queue Priority";
                  leaf name {
                    type enumeration {
                      enum "low" {
                        value 0;
                        description
                          "Low wan priority";
                      }
                      enum "medium-low" {
                        value 1;
                        description
                          "Medium low wan priority";
                      }
                      enum "medium-high" {
                        value 2;
                        description
                          "Medium high wan priority";
                      }
                      enum "high" {
                        value 3;
                        description
                          "High wan priority";
                      }
                    }
                    description "Priority level";
                  }
    
                  uses apply-advanced;
    
                  leaf threshold {
                    type union {
                      type string {
                        pattern "<.*>|$.*";
                      }
                      type uint32 {
                        range "1 .. 100";
                      }
                    }
                    description
                      "Threshold percentage to be set";
                  }
                }  // list priority
              }  // container wan-queue
            }  // container queue-threshold
    
            choice enhanced-priority-mode-choice {
              leaf enhanced-priority-mode {
                type empty;
                description
                  "Enable enhanced priority mode";
              }
              leaf no-enhanced-priority-mode {
                type empty;
                description
                  "Don't enable enhanced priority mode";
              }
            }  // choice enhanced-priority-mode-choice
    
            leaf packet-timestamp {
              type enumeration {
                enum "enable" {
                  value 0;
                  description
                    "Enables collecting CoS last packet enqueued timestamp";
                }
                enum "disable" {
                  value 1;
                  description
                    "Disables collecting CoS last packet enqueued timestamp";
                }
              }
              default "disable";
              description
                "Configure collecting CoS last packet enqueued timestamp";
            }
          }  // container traffic-manager
    
          leaf max-power {
            type union {
              type uint32;
              type string {
                pattern "<.*>|$.*";
              }
            }
            description
              "Max power to be consumed by MPC";
          }
    
          leaf route-localization {
            junos:must "(".. .. .. chassis route-localization")";
            junos:must-message "Must have chassis route-localization inet or inet6";
            type enumeration {
              enum "fib-remote" {
                value 0;
                description
                  "Route-Localization fib-remote";
              }
              enum "fib-local" {
                value 1;
                description
                  "Route-Localization fib-local";
              }
            }
            description
              "Route-Localization fib-remote or fib-local";
          }
    
          leaf vpn-localization {
            type enumeration {
              enum "vpn-core-facing-only" {
                value 0;
                description
                  "VPN core-facing-fpc which has no vpn-label state";
              }
              enum "vpn-core-facing-default" {
                value 1;
                description
                  "VPN core-facing-fpc which has all the state";
              }
            }
            description
              "VPN-localization core-facing-only  or core-facing-default";
          }
    
          leaf power-budget-priority {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description "FPC priority number";
          }
    
          choice mode {
            leaf disable-power {
              type empty;
              status deprecated;
              description
                "Do not provide power to the card";
            }
            leaf allow-sram-parity-errors {
              type empty;
              description
                "Do not power cycle FPC when SRAM parity errors occur";
            }
          }  // choice mode
    
          choice riot-mode {
            container performance-mode {
              presence "enable performance-mode";
              description
                "Enable performance mode, FPC will restart if mode changes from lite mode to performance mode";
              uses apply-advanced;
    
              leaf number-of-ucode-workers {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 100";
                  }
                }
                default "0";
                description
                  "Configure number of ucode worker cores, FPC will restart if there is a change in number of ucode worker cores";
              }
            }  // container performance-mode
            leaf lite-mode {
              type empty;
              description
                "Enable lite mode, FPC will restart if mode changes from performance mode to lite mode";
            }
          }  // choice riot-mode
    
          leaf services-offload {
            type empty;
            status deprecated;
            description
              "Enable services offload on fpc";
          }
    
          leaf cfp-to-et {
            type empty;
            description
              "Enable ET interface and remove CFP client";
          }
    
          leaf np-cache {
            type empty;
            status deprecated;
            description
              "Enable NP cache and services offload on fpc";
          }
    
          leaf np-cache-disable {
            type empty;
            description
              "Disable NP cache and services offload on fpc";
          }
    
          leaf offline {
            type empty;
            description "Keep FPC offline";
          }
    
          leaf offline-on-fabric-bandwidth-reduction {
            type empty;
            description
              "Bring FPC offline when running with reduced fabric bandwidth";
          }
    
          leaf ir-mode {
            type enumeration {
              enum "IR" {
                value 0;
                description "Set IR mode";
              }
              enum "R" {
                value 1;
                description "Set R mode";
              }
            }
            description
              "Configure IR or R mode for MPC4 and above cards";
          }
    
          container no-loss {
            description
              "PFC lossless buffer configuratios";
            uses apply-advanced;
    
            container buffer {
              description "PFC lossless buffer";
              uses apply-advanced;
    
              leaf percentage {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 100";
                  }
                }
                units "percent";
                description
                  "Configure buffer space for lossless traffic handling";
              }
            }  // container buffer
          }  // container no-loss
    
          leaf license-mode {
            type enumeration {
              enum "r" {
                value 0;
                description "Set card to R mode";
              }
              enum "ir" {
                value 1;
                description
                  "Set card to IR mode";
              }
              enum "lsr" {
                value 2;
                description
                  "Set card to LSR mode";
              }
              enum "ip" {
                value 3;
                description
                  "Set card to full IP mode";
              }
            }
            description
              "Configure license mode for PTX FPC3 and later cards";
          }
    
          container fabric {
            presence "enable fabric";
            uses apply-advanced;
    
            container loopback {
              presence "enable loopback";
              description
                "Set fpc fabric loopback mode";
              uses apply-advanced;
    
              leaf wan {
                type enumeration {
                  enum "off" {
                    value 0;
                    description
                      "Disable fpc fabric wan loopback";
                  }
                  enum "on" {
                    value 1;
                    description
                      "Enable fpc fabric wan loopback";
                  }
                }
                description
                  "Enable/Disable fpc fabric  wan loopback";
              }
            }  // container loopback
    
            leaf blackhole-action {
              type enumeration {
                enum "log-only" {
                  value 0;
                  description
                    "Log the detected blackhole condition";
                }
                enum "offline" {
                  value 1;
                  description "Offline the FPC";
                }
                enum "restart" {
                  value 2;
                  description "Restart the FPC";
                }
                enum "restart-then-offline" {
                  value 3;
                  description
                    "Restart the FPC and offline in subsequent action. ";
                }
              }
              description
                "Action taken upon fabric plane blackhole involving the FPC";
            }
    
            container bandwidth-degradation {
              description
                "Take FPC recovery action when FPC running with reduced fabric bandwidth";
              uses apply-advanced;
    
              leaf percentage {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 99";
                  }
                }
                description
                  "The percentage of PFE bandwidth degradation to trigger action";
              }
    
              leaf no-fabric-switchover {
                type empty;
                description
                  "Do not perform switchover to spare CB";
              }
    
              leaf action {
                type enumeration {
                  enum "log-only" {
                    value 0;
                    description
                      "Log the bandwidth degradation only";
                  }
                  enum "offline" {
                    value 1;
                    description
                      "Offline the FPC, default action";
                  }
                  enum "restart" {
                    value 2;
                    description
                      "Restart the FPC";
                  }
                  enum "restart-then-offline" {
                    value 3;
                    description
                      "Restart the FPC and offline in subsequent action";
                  }
                }
                description
                  "Type of action to trigger";
              }
            }  // container bandwidth-degradation
          }  // container fabric
    
          list port-mirror-instance {
            key "name";
            max-elements 2;
            ordered-by user;
            leaf name {
              junos:must "(!("forwarding-options port-mirroring instance $$ input-parameters-instance"))";
              junos:must-message "Derived instance cannot be binded";
              junos:must "(((!("chassis network-services lan") && ("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$")) || "chassis network-services lan"))";
              junos:must-message "Referenced port-mirroring instance does not exist";
              junos:must "(("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$"))";
              junos:must-message "Referenced port-mirroring/analyzer instance does not exist";
              type string {
                length "1 .. 64";
              }
              description
                "Associate a port mirroring instance with the FPC";
            }
    
            uses apply-advanced;
          }  // list port-mirror-instance
    
          list sampling-instance {
            key "name";
            max-elements 1;
            ordered-by user;
            leaf name {
              junos:must "("forwarding-options sampling instance $$")";
              junos:must-message "Referenced sampling instance does not exist";
              type string {
                length "1 .. 64";
              }
              description
                "Associate a sampling instance with the FPC";
            }
    
            uses apply-advanced;
          }  // list sampling-instance
    
          container inline-services {
            uses apply-advanced;
    
            leaf report-zero-oif-gw-on-discard {
              type empty;
              description
                "Jflow reports value zero in OIF and GW when traffic is not forwarded";
            }
    
            leaf flex-flow-sizing {
              junos:must "(!((".. flow-table-size ipv4-flow-table-size" || (".. flow-table-size ipv6-flow-table-size" || (".. flow-table-size vpls-flow-table-size" || (".. flow-table-size bridge-flow-table-size" || ".. flow-table-size mpls-flow-table-size"))))))";
              junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
              type empty;
              description
                "No fixed size allocation of flow tables for proto families";
            }
    
            leaf use-extended-flow-memory {
              type empty;
              description
                "Use extended memory for flow records";
            }
    
            container flow-table-size {
              uses apply-advanced;
    
              leaf ipv4-flow-table-size {
                junos:must "(!(".. .. flex-flow-sizing"))";
                junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 245";
                  }
                }
                description
                  "IPv4 flow table size in units of 256k";
              }
    
              leaf ipv6-flow-table-size {
                junos:must "(!(".. .. flex-flow-sizing"))";
                junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 245";
                  }
                }
                description
                  "IPv6 flow table size in units of 256k";
              }
    
              leaf vpls-flow-table-size {
                junos:must "(!(".. .. flex-flow-sizing"))";
                junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 245";
                  }
                }
                status deprecated;
                description
                  "VPLS flow table size in units of 256k";
              }
    
              leaf bridge-flow-table-size {
                junos:must "(!(".. .. flex-flow-sizing"))";
                junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                junos:must "(!(".. vpls-flow-table-size"))";
                junos:must-message "Both vpls-flow-table-size and bridge-flow-table-size can not be configured/allowed";
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 245";
                  }
                }
                description
                  "BRIDGE flow table size in units of 256k";
              }
    
              leaf ipv6-extended-attrib {
                type empty;
                description
                  "Enable extended flow attribute";
              }
    
              leaf mpls-flow-table-size {
                junos:must "(!(".. .. flex-flow-sizing"))";
                junos:must-message "flex-flow-sizing and flow-table-size are mutually exclusive";
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 245";
                  }
                }
                description
                  "MPLS flow table size in units of 256k";
              }
            }  // container flow-table-size
          }  // container inline-services
    
          container inline-video-monitoring {
            uses apply-advanced;
    
            leaf maximum-flows-count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "16 .. 8192";
                }
              }
              status deprecated;
              description
                "Maximum number of inline video monitoring flows per PFE instance.";
            }
    
            leaf flow-table-size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "16 .. 8192";
                }
              }
              description
                "Size of flow table size per PFE instance";
            }
          }  // container inline-video-monitoring
    
          container application-services {
            description
              "Application services configuration";
            uses apply-advanced;
    
            leaf package {
              type string;
              description "Package selection";
            }
          }  // container application-services
    
          container slamon-services {
            description
              "SLA monitoring services";
            uses apply-advanced;
    
            leaf rfc2544 {
              type empty;
              description
                "Enable sla monitoring services";
            }
          }  // container slamon-services
    
          leaf flexible-queuing-mode {
            junos:must "(!(".. max-queues"))";
            junos:must-message "flexible-queuing-mode and max-queues can not be configured at same time";
            type empty;
            description
              "Enable flexible queuing mode";
          }
    
          leaf loopback-device-count {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 4";
              }
            }
            default "0";
            description "Number of loopbacks";
          }
    
          leaf interasic-linkerror-recovery-enable {
            type empty;
            description
              "Enable inter-asic link error recovery";
          }
    
          leaf number-of-ports {
            type enumeration {
              enum "8" {
                value 0;
                description "Enable 8 ports";
              }
              enum "12" {
                value 1;
                description "Enable 12 ports";
              }
            }
            description
              "Number of physical ports to enable on FPC";
          }
    
          list pfe {
            key "name";
            description
              "Packet forwarding engine parameters";
            uses chassis_pfe_type;
          }  // list pfe
    
          leaf service-package {
            type enumeration {
              enum "bundle-rfc2544" {
                value 0;
                description
                  "Service Package for RFC2544";
              }
              enum "bundle-nat-ipsec" {
                value 1;
                description
                  "Service Package for NAT and IPSEC";
              }
              enum
                "bundle-ptp-enterprise-profile" {
                value 2;
                description
                  "Service Package for PTP Enterprise Profile";
              }
            }
            default "bundle-rfc2544";
            description
              "Service package to be loaded on FPC";
          }
    
          leaf max-queues {
            junos:must "(!(".. flexible-queuing-mode"))";
            junos:must-message "max-queues and flexible-queuing-mode can not be configured at same time";
            type enumeration {
              enum "8k" {
                value 0;
                description "8K maximum queues";
              }
              enum "16k" {
                value 1;
                description "16K maximum queues";
              }
              enum "32k" {
                value 2;
                description "32K maximum queues";
              }
              enum "48k" {
                value 3;
                description "48K maximum queues";
              }
              enum "64k" {
                value 4;
                description
                  "64K maximum queues ";
              }
              enum "96k" {
                value 5;
                description
                  "96K maximum queues ";
              }
              enum "128k" {
                value 6;
                description
                  "128K maximum queues";
              }
              enum "192k" {
                value 7;
                description
                  "192K maximum queues";
              }
              enum "256k" {
                value 8;
                description
                  "256K maximum queues";
              }
              enum "384k" {
                value 9;
                description
                  "256K maximum queues";
              }
              enum "512k" {
                value 10;
                description
                  "512K maximum queues";
              }
              enum "768k" {
                value 11;
                description
                  "768K maximum queues";
              }
              enum "1M" {
                value 12;
                description "1M maximum queues";
              }
              enum "1536k" {
                value 13;
                description
                  "1536k maximum queues";
              }
              enum "2M" {
                value 14;
                description "2M maximum queues";
              }
            }
            description
              "Maximum number of queues configurable on FPC";
          }
    
          leaf bandwidth {
            type enumeration {
              enum "1.6T" {
                value 0;
                description
                  "Configure FPC bandwidth to 1.6T";
              }
            }
            description
              "Configure bandwidth of FPC";
          }
    
          leaf pfe-bandwidth {
            type enumeration {
              enum "240G" {
                value 0;
                description
                  "Configure PFE bandwidth to 240G";
              }
              enum "300G" {
                value 1;
                description
                  "Configure PFE bandwidth to 300G";
              }
              enum "400G" {
                value 2;
                description
                  "Configure PFE bandwidth to 400G";
              }
            }
            description
              "Configure per PFE bandwidth";
          }
    
          container error {
            description
              "Error level configuration for FPC";
            uses chassis_fpc_error_type;
          }  // container error
    
          list ether-type {
            key "name";
            ordered-by user;
            description
              "Set Ethernet type on FPC";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint8 {
                  range "6 .. 27";
                }
              }
              description "TCAM slot";
            }
    
            uses apply-advanced;
    
            leaf etype {
              type string;
              description "Ether type";
            }
          }  // list ether-type
    
          list slc {
            key "name";
            description "Sub-line card (SLC)";
            uses chassis_slc_type;
          }  // list slc
    
          container openflow {
            description "Openflow configuration";
            uses apply-advanced;
    
            leaf access-list-partition {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 100";
                }
              }
              units "percents";
              description
                "Space reserved for openflow access-list rules";
            }
    
            leaf buffer-partition {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 100";
                }
              }
              units "percents";
              description
                "Buffer space reserved for openflow traffic";
            }
          }  // container openflow
        }  // grouping chassis_fpc_type
    
        grouping chassis_fru_cmerror_override_type {
          description
            "Chassis Fpc Error override";
          leaf name {
            type string {
              junos:posix-pattern "^(/[^/ ]+/[0-9]+){4}/[^/ ]+$";
              junos:pattern-message "Invalid error identifier format";
              length "1 .. 255";
            }
            description "Error identifier";
          }
    
          uses apply-advanced;
    
          leaf state {
            type enumeration {
              enum "disable" {
                value 0;
                description "Disable error";
              }
            }
            description "State";
          }
    
          leaf severity {
            type enumeration {
              enum "minor" {
                value 0;
                description "Minor Severity";
              }
              enum "major" {
                value 1;
                description "Major Severity";
              }
              enum "fatal" {
                value 2;
                description "Fatal Severity";
              }
            }
            description "Severity";
          }
    
          container pfe {
            presence "enable pfe";
            description "Apply to these pfe";
            uses apply-advanced;
    
            leaf all {
              type empty;
              description "Apply to all pfe";
            }
          }  // container pfe
        }  // grouping chassis_fru_cmerror_override_type
    
        grouping chassis_pem_type {
          uses apply-advanced;
    
          leaf minimum {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description
              "Minimum number of power supplies required for normal operation";
          }
    
          leaf feeds {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "4 .. 6";
              }
            }
            description
              "Number of input feeds required";
          }
    
          leaf input-current {
            type enumeration {
              enum "40" {
                junos:must "((!("chassis pem feeds") || "chassis pem feeds 6"))";
                junos:must-message "Must configured with 6 feeds";
                value 0;
                description
                  "40 Amps in each Feed";
              }
              enum "60" {
                value 1;
                description
                  "60 Amps in each Feed";
              }
            }
            default "60";
            description
              "Input current (Amps) in each feed ";
          }
        }  // grouping chassis_pem_type
    
        grouping chassis_pfe_type {
          description
            "PFE(Packet forwarding engine)";
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description
              "PFE(Packet forwarding engine) identifier";
          }
    
          uses apply-advanced;
    
          container forwarding-packages {
            description
              "Associated forwarding package configuration";
            uses apply-advanced;
    
            container mobility {
              description
                "Mobility related PFE configuration";
              uses apply-advanced;
    
              choice package-type {
                leaf user-plane {
                  type empty;
                  description
                    "User plane function";
                }
              }  // choice package-type
            }  // container mobility
          }  // container forwarding-packages
    
          container exception-reporting {
            description
              "Enable reporting of exceptions in the forwarding path";
            uses apply-advanced;
    
            list category {
              key "name";
              ordered-by user;
              description
                "Exception category type";
              leaf name {
                type enumeration {
                  enum "layer3" {
                    value 0;
                    description
                      "Layer 3 exceptions";
                  }
                  enum "layer2" {
                    value 1;
                    description
                      "Layer 2 exceptions";
                  }
                  enum "firewall" {
                    value 2;
                    description
                      "Firewall exceptions";
                  }
                  enum "forwarding-state" {
                    value 3;
                    description
                      "Forwarding state related exceptions";
                  }
                  enum "packet-errors" {
                    value 4;
                    description
                      "Packet format error related exceptions";
                  }
                }
              }
    
              uses apply-advanced;
    
              leaf inline-monitoring-instance {
                junos:must "("services inline-monitoring instance $$")";
                junos:must-message "Configure 'inline-monitoring instance'";
                type string {
                  length "1 .. 64";
                }
                description
                  "Inline monitoring to specified instance";
              }
            }  // list category
          }  // container exception-reporting
    
          leaf power {
            type enumeration {
              enum "off" {
                value 0;
                description "Power off PFE";
              }
              enum "on" {
                value 1;
                description "Power on PFE";
              }
            }
            description "Power PFEs on or off";
          }
    
          leaf tunnel-services {
            type empty;
            description
              "Tunnel services configuration";
          }
        }  // grouping chassis_pfe_type
    
        grouping chassis_pic_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description "PIC slot number";
          }
    
          uses apply-advanced;
    
          leaf pic-mode {
            type enumeration {
              enum "1G" {
                value 0;
                description "1GE mode";
              }
              enum "10G" {
                value 1;
                description "10GE mode";
              }
              enum "25G" {
                value 2;
                description "25GE mode";
              }
              enum "40G" {
                value 3;
                description "40GE mode";
              }
              enum "50G" {
                value 4;
                description "50GE mode";
              }
              enum "100G" {
                value 5;
                description "100GE mode";
              }
              enum "400G" {
                value 6;
                description "400GE mode";
              }
            }
            description "PIC mode configuration";
          }
    
          list tunnel-port {
            key "name";
            description "Tunnel port number";
            uses chassis_port_type;
          }  // list tunnel-port
    
          container tunnel-services {
            junos:must "(!(".. traffic-manager single-stream"))";
            junos:must-message "Cannot configure tunnel-services if single-stream is configured";
            presence "enable tunnel-services";
            description
              "Tunnel services configuration";
            uses apply-advanced;
    
            leaf bandwidth {
              type string;
              description
                "Amount of bandwidth reserved for tunnel service";
            }
    
            leaf tunnel-only {
              type empty;
              description
                "Support only tunnel traffic";
            }
    
            container priority {
              junos:must "(!(".. bandwidth"))";
              junos:must-message "Priorities cannot be configured if bandwidth is specified under the tunnel-services hierarchy";
              presence "enable priority";
              description
                "Specify bandwidths with priorities";
              uses apply-advanced;
    
              container high {
                presence "enable high";
                description "High Priority";
                uses apply-advanced;
    
                leaf bandwidth {
                  type string;
                  description
                    "Amount of bandwidth reserved for tunnel service";
                }
              }  // container high
    
              container medium {
                presence "enable medium";
                description "Medium Priority";
                uses apply-advanced;
    
                leaf bandwidth {
                  type string;
                  description
                    "Amount of bandwidth reserved for tunnel service";
                }
              }  // container medium
    
              container low {
                presence "enable low";
                description "Low Priority";
                uses apply-advanced;
    
                leaf bandwidth {
                  type string;
                  description
                    "Amount of bandwidth reserved for tunnel service";
                }
              }  // container low
            }  // container priority
    
            leaf port {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Front panel port number - ACX5048: [16-53], ACX5096: [64-95, 100-103]";
            }
    
            list tunnel-port {
              key "name";
              ordered-by user;
              description "Tunnel port number";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Port number";
              }
    
              uses apply-advanced;
    
              leaf bandwidth {
                type string;
                description
                  "Amount of bandwidth reserved for tunnel service";
              }
            }  // list tunnel-port
          }  // container tunnel-services
    
          leaf interface-type {
            type enumeration {
              enum "ge" {
                value 0;
                description
                  "Prefix interfaces as ge";
              }
              enum "xe" {
                value 1;
                description
                  "Prefix interfaces as xe";
              }
              enum "et" {
                value 2;
                description
                  "Prefix interfaces as et";
              }
            }
            description "Interface prefix";
          }
    
          container inline-services {
            presence "enable inline-services";
            description
              "Inline services configuration";
            uses apply-advanced;
    
            leaf bandwidth {
              type string;
              description
                "Amount of bandwidth reserved for inline service";
            }
    
            leaf fragmentation-mtu {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "250 .. 9000";
                }
              }
              default "1500";
              description
                "Set the fragmentation MTU size";
            }
    
            leaf reassembly-context-age {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "5 .. 80";
                }
              }
              default "25";
              description
                "Set the re-assembly context age millisecond timeout";
            }
    
            container service-plane-recovery {
              description
                "Service plane recovery configuration";
              uses apply-advanced;
    
              leaf disable {
                type empty;
              }
    
              leaf downtime-gap-seconds {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "30 .. 86400";
                  }
                }
                default "180";
                description
                  "Gap between successive downtime events for recovery";
              }
    
              leaf downtime-events {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 100";
                  }
                }
                default "3";
                description
                  "Number of downtime events after which recovery is disabled";
              }
            }  // container service-plane-recovery
          }  // container inline-services
    
          choice adaptive-or-monitoring {
            container adaptive-services {
              description
                "Adaptive services configuration";
              uses apply-advanced;
    
              container service-package {
                description
                  "AS PIC service package";
                uses apply-advanced;
    
                choice service-package-choice {
                  leaf layer-3 {
                    type empty;
                    description
                      "Layer 3 service package";
                  }
                  leaf layer-2 {
                    type empty;
                    description
                      "Layer 2 service package";
                  }
                  leaf layer-2-3 {
                    type empty;
                    description
                      "Combined Layer 2 and Layer 3 service package";
                  }
                  container extension-provider {
                    description
                      "Extension provider package configuration";
                    uses apply-advanced;
    
                    leaf data-pollers {
                      type union {
                        type string {
                          pattern "<.*>|$.*";
                        }
                        type uint32 {
                          range "0 .. 7";
                        }
                      }
                      default "0";
                      description
                        "Number of cpus dedicated to poll data packets";
                    }
    
                    container data-flow-affinity {
                      presence
                        "enable data-flow-affinity";
                      description
                        "Enable flow affinity on data cores";
                      uses apply-advanced;
    
                      leaf hash-key {
                        type enumeration {
                          enum "layer-3" {
                            value 0;
                            description
                              "Set layer-3 as hash key";
                          }
                          enum "layer-4" {
                            value 1;
                            description
                              "Set layer-4 as hash key (default)";
                          }
                        }
                      }
                    }  // container data-flow-affinity
    
                    leaf session-offload {
                      type empty;
                      description
                        "Enable session offload";
                    }
    
                    leaf no-default-packages {
                      type empty;
                      description
                        "Do not load default packages";
                    }
    
                    list package {
                      key "name";
                      max-elements 33;
                      ordered-by user;
                      description
                        "Extension provider package to run on the PIC";
                      leaf name {
                        type string;
                        description
                          "Name of package";
                      }
    
                      uses apply-advanced;
                    }  // list package
    
                    list syslog {
                      key "name";
                      ordered-by user;
                      description
                        "System logging facility";
                      leaf name {
                        type enumeration {
                          enum "external" {
                            value 0;
                            description
                              "Local external applications";
                          }
                          enum "pfe" {
                            value 1;
                            description
                              "Packet Forwarding Engine";
                          }
                          enum "daemon" {
                            value 2;
                            description
                              "Various system processes";
                          }
                          enum "kernel" {
                            value 3;
                            description "Kernel";
                          }
                        }
                        description
                          "Facility type";
                      }
    
                      uses apply-advanced;
    
                      choice level {
                        leaf any {
                          type empty;
                          description
                            "All levels";
                        }
                        leaf emergency {
                          type empty;
                          description
                            "Panic conditions";
                        }
                        leaf alert {
                          type empty;
                          description
                            "Conditions that should be corrected immediately";
                        }
                        leaf critical {
                          type empty;
                          description
                            "Critical conditions";
                        }
                        leaf error {
                          type empty;
                          description
                            "Error conditions";
                        }
                        leaf warning {
                          type empty;
                          description
                            "Warning messages";
                        }
                        leaf notice {
                          type empty;
                          description
                            "Conditions that should be handled specially";
                        }
                        leaf info {
                          type empty;
                          description
                            "Informational messages";
                        }
                        leaf none {
                          type empty;
                          description
                            "No messages";
                        }
                      }  // choice level
    
                      leaf destination {
                        type enumeration {
                          enum "routing-engine" {
                            value 0;
                            description
                              "Forward log messages to RE";
                          }
                          enum "pic-console" {
                            value 1;
                            description
                              "Forward to PIC console";
                          }
                        }
                        description
                          "Sylog destination";
                      }
                    }  // list syslog
                  }  // container extension-provider
                }  // choice service-package-choice
              }  // container service-package
            }  // container adaptive-services
            container monitoring-services {
              description
                "Monitoring services configuration";
              uses apply-advanced;
    
              leaf application {
                type enumeration {
                  enum "dynamic-flow-capture" {
                    value 0;
                    description
                      "Dynamic flow capture mode";
                  }
                  enum "flow-collector" {
                    value 1;
                    description
                      "Flow collector mode";
                  }
                  enum "monitor" {
                    value 2;
                    description "Monitor mode";
                  }
                }
                description "Application mode";
              }
            }  // container monitoring-services
          }  // choice adaptive-or-monitoring
    
          leaf no-mcast-replication {
            type empty;
            description "No mcast replication";
          }
    
          container ggsn-services {
            status deprecated;
            description
              "GGSN services configuration";
            uses apply-advanced;
    
            leaf application {
              type enumeration {
                enum "ggsn-data" {
                  value 0;
                  description "GGSN-U mode";
                }
                enum "ggsn-inspection" {
                  value 1;
                  description "GGSN-I mode";
                }
                enum "ggsn-tunnel" {
                  value 2;
                  description "GGSN-T mode";
                }
              }
              description "Application mode";
            }
          }  // container ggsn-services
    
          leaf framing {
            type enumeration {
              enum "sonet" {
                value 0;
                description "SONET mode";
              }
              enum "sdh" {
                value 1;
                description "SDH mode";
              }
              enum "t3" {
                value 2;
                description "T3 mode";
              }
              enum "e3" {
                value 3;
                description "E3 mode";
              }
              enum "t1" {
                value 4;
                description "T1 mode";
              }
              enum "e1" {
                value 5;
                description "E1 mode";
              }
              enum "lan" {
                value 6;
                description "LAN mode";
              }
            }
            description "Framing mode";
          }
    
          container synchronization {
            description
              "PIC synchronization source";
            uses apply-advanced;
    
            choice source {
              leaf port {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 11";
                  }
                }
                description "Port Number";
              }
            }  // choice source
          }  // container synchronization
    
          container recovered-clock {
            description
              "Select recovered clock for this port";
            uses apply-advanced;
    
            leaf port {
              junos:must "(unique "chassis fpc ${fpc} pic <*> recovered-clock")";
              junos:must-message "Recovered-clock can be configured only on single pic/port";
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 47";
                }
              }
              description "Port Number";
            }
    
            leaf channel {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 3";
                }
              }
              description "Channel Number";
            }
          }  // container recovered-clock
    
          leaf vtmapping {
            type enumeration {
              enum "klm" {
                value 0;
                description "KLM mode";
              }
              enum "itu-t" {
                value 1;
                description "ITU-T mode";
              }
            }
            description
              "Virtual tunnel mapping mode";
          }
    
          leaf no-concatenate {
            type empty;
            description
              "Do not concatenate channels";
          }
    
          leaf no-multi-rate {
            type empty;
            description
              "Disable multi-rate mode";
          }
    
          leaf channelization {
            type empty;
            description "Enable Channelization";
          }
    
          leaf linerate-mode {
            junos:must "(!(".. .. pic ${pic} mixed-rate-mode"))";
            junos:must-message "linerate-mode can't be set if mixed-rate-mode is set for PIC";
            type empty;
            description
              "Disable oversubscription. PIC operates in line rate mode";
          }
    
          leaf speed {
            type enumeration {
              enum "1G" {
                value 0;
                description
                  "1GE-Gigabit Ethernet";
              }
            }
            description "Port speed";
          }
    
          leaf mixed-rate-mode {
            junos:must "(!(".. .. pic ${pic} linerate-mode"))";
            junos:must-message "mixed-rate-mode can't be set if linerate-mode is set for PIC";
            type empty;
            description
              "PIC operates in mixed-rate-mode. Speed and AE configurable for PIC Ports";
          }
    
          leaf no-pre-classifier {
            type empty;
            description
              "No pre-classification of packets";
          }
    
          leaf aggregate-ports {
            type empty;
            description
              "Aggregate multiple ports on a PIC as a single port";
          }
    
          leaf number-of-ports {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description
              "Number of physical ports to enable on PIC";
          }
    
          leaf power {
            type enumeration {
              enum "off" {
                value 0;
                description
                  "Do not provide power to PIC";
              }
            }
            description "Power off PIC";
          }
    
          leaf pic-type {
            type string {
              junos:posix-pattern "^([.]?1|[a-zA-Z][a-zA-Z0-9]*)([.]([a-zA-Z]|[0-9]+))*$";
              junos:pattern-message "Must be an OID of the form 1.x.y.z... or objname[.x.y.z] where x, y, & z are either numbers or a single letter";
            }
            description
              "OID of PIC type to be configured";
          }
    
          container aggregated-devices {
            description
              "Aggregated devices configuration";
            uses apply-advanced;
    
            container ima {
              description
                "Aggregated device options for Inverse Multiplexing for ATM";
              uses apply-advanced;
    
              leaf device-count {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 42";
                  }
                }
                description
                  "Number of IMA groups";
              }
            }  // container ima
          }  // container aggregated-devices
    
          leaf sparse-dlcis {
            type empty;
            description
              "Run in sparse data-link connection identifier mode";
          }
    
          leaf multi-link-layer-2-inline {
            type empty;
            description
              "Enable inline layer-2 services";
          }
    
          container q-pic-large-buffer {
            presence "enable q-pic-large-buffer";
            description
              "Run in large delay buffer mode";
            uses apply-advanced;
    
            choice buffer-type {
              leaf small-scale {
                type empty;
                description
                  "Supports less number of interfaces";
              }
              leaf large-scale {
                type empty;
                description
                  "Supports large number of interfaces";
              }
            }  // choice buffer-type
          }  // container q-pic-large-buffer
    
          container red-buffer-occupancy {
            description
              "Computation type for RED buffer occupancy";
            uses apply-advanced;
    
            container weighted-averaged {
              presence
                "enable weighted-averaged";
              description
                "Weighted-average computation";
              uses apply-advanced;
    
              leaf instant-usage-weight-exponent {
                type union {
                  type uint8;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Weight for instant buffer usage (negative exponent of 2)";
              }
            }  // container weighted-averaged
          }  // container red-buffer-occupancy
    
          container traffic-manager {
            description
              "Configure traffic manager attributes";
            uses apply-advanced;
    
            leaf ingress-shaping-overhead {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "-62 .. 192";
                }
              }
              units "bytes";
              description
                "Number of CoS shaping overhead bytes in ingress";
            }
    
            leaf egress-shaping-overhead {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "-62 .. 192";
                }
              }
              units "bytes";
              description
                "Number of CoS shaping overhead bytes in egress";
            }
    
            leaf queue-buffer-size {
              type enumeration {
                enum "small" {
                  value 0;
                  description
                    "Use small buffer size";
                }
              }
              description
                "Set the buffer size of output queue";
            }
    
            leaf mode {
              type enumeration {
                enum "egress-only" {
                  value 0;
                  description
                    "Egress traffic manager enabled, ingress traffic manager disabled";
                }
                enum "session-shaping" {
                  value 1;
                  description
                    "Enable egress session shaping";
                }
                enum "ingress-and-egress" {
                  value 2;
                  description
                    "Enable the ingress and egress traffic managers";
                }
              }
              description
                "Configure traffic manager mode";
            }
          }  // container traffic-manager
    
          container idle-cell-format {
            description
              "ATM idle cell configuration";
            uses apply-advanced;
    
            leaf itu-t {
              type empty;
              description
                "ITU-T idle cell header format";
            }
    
            leaf payload-pattern {
              type string;
              description
                "Payload pattern byte (0x00-0xff)";
            }
          }  // container idle-cell-format
    
          container atm-l2circuit-mode {
            description
              "Enable ATM Layer 2 circuit transport mode";
            uses apply-advanced;
    
            choice mode_choice {
              leaf aal5 {
                type empty;
                description
                  "ATM Layer 2 circuit AAL5 mode";
              }
              leaf cell {
                type empty;
                description
                  "ATM Layer 2 circuit cell mode";
              }
              container trunk {
                presence "enable trunk";
                description
                  "Set ATM Layer 2 circuit trunk mode";
                uses apply-advanced;
    
                choice trunk-mode {
                  container uni {
                    presence "enable uni";
                    description
                      "ATM Layer 2 circuit user-to-network interface trunk mode";
                    uses apply-advanced;
                  }  // container uni
                  container nni {
                    presence "enable nni";
                    description
                      "ATM Layer 2 circuit network-to-network interface trunk mode";
                    uses apply-advanced;
                  }  // container nni
                }  // choice trunk-mode
              }  // container trunk
            }  // choice mode_choice
          }  // container atm-l2circuit-mode
    
          leaf atm-cell-relay-accumulation {
            type empty;
            description
              "Enable ATM cell-relay accumulation mode";
          }
    
          container services-offload {
            presence "enable services-offload";
            description
              "Enable services offload";
            uses apply-advanced;
    
            leaf per-session-statistics {
              junos:must "(!(".. packet-copy"))";
              junos:must-message "packet-copy and per-session-statistics options are mutual exclusive";
              type empty;
              description
                "Keep per session statistics in NP";
            }
    
            leaf low-latency {
              type empty;
              description
                "Bypass Traffic Management stage to achieve low latency";
            }
          }  // container services-offload
    
          leaf mlfr-uni-nni-bundles {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 255";
              }
            }
            description
              "Number of multilink Frame Relay UNI NNI (FRF.16) bundles to allocate on PIC";
          }
    
          leaf mlfr-uni-nni-bundles-inline {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 255";
              }
            }
            description
              "Number of inline multilink frame relay UNI NNI bundles";
          }
    
          container ct3 {
            description
              "CT3 NxDS0 PIC configuration";
            uses apply-advanced;
    
            list port {
              key "name";
              description "CT3 port";
              uses ct3_port_type;
            }  // list port
          }  // container ct3
    
          container ce1 {
            description
              "CE1 NxDS0 PIC configuration";
            uses apply-advanced;
    
            list e1 {
              key "name";
              description "E1 link";
              uses ce1_channel_type;
            }  // list e1
          }  // container ce1
    
          leaf max-queues-per-interface {
            type enumeration {
              enum "4" {
                value 0;
                description
                  "Maximum 4 queues per interface";
              }
              enum "8" {
                value 1;
                description
                  "Maximum 8 queues per interface";
              }
            }
            description
              "Maximum number of queues per interface on QOS-capable PIC";
          }
    
          container shdsl {
            description
              "SHDSL chassis configuration";
            uses apply-advanced;
    
            leaf pic-mode {
              type enumeration {
                enum "1-port-atm" {
                  value 0;
                  description
                    "Single port ATM, 8 wire mode";
                }
                enum "2-port-atm" {
                  value 1;
                  description
                    "Two port ATM, 4 wire mode";
                }
                enum "4-port-atm" {
                  value 2;
                  description
                    "Four port ATM, 2 wire mode";
                }
                enum "efm" {
                  value 3;
                  description
                    "Single port EFM, 2 wire mode";
                }
              }
              default "2-port-atm";
              description "PIC mode";
            }
          }  // container shdsl
    
          container ethernet {
            description
              "J-series Ethernet PIM mode configuration";
            uses apply-advanced;
    
            leaf pic-mode {
              type enumeration {
                enum "switching" {
                  value 0;
                  description
                    "Switched mode of operation";
                }
                enum "routing" {
                  value 1;
                  description
                    "Routing mode of operation";
                }
                enum "enhanced-switching" {
                  junos:must "(unique "chassis fpc <*> pic <*> ethernet pic-mode enhanced-switching")";
                  junos:must-message "Enhanced-switching can be configured only on single PIM";
                  value 2;
                  description
                    "Enhanced switching mode of operation";
                }
              }
              default "routing";
              description "PIC mode";
            }
          }  // container ethernet
    
          leaf tunnel-queuing {
            type empty;
            description
              "Enable queueing for GRE/IPIP tunnels";
          }
    
          list port-mirror-instance {
            key "name";
            max-elements 2;
            ordered-by user;
            leaf name {
              junos:must "(!("forwarding-options port-mirroring instance $$ input-parameters-instance"))";
              junos:must-message "Derived instance cannot be binded";
              junos:must "(((!("chassis network-services lan") && ("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$")) || "chassis network-services lan"))";
              junos:must-message "Referenced port-mirroring instance does not exist";
              junos:must "(("forwarding-options port-mirroring instance $$" || "forwarding-options analyzer $$"))";
              junos:must-message "Referenced port-mirroring/analyzer instance does not exist";
              type string {
                length "1 .. 64";
              }
              description
                "Associate a port mirroring instance with the PIC";
            }
    
            uses apply-advanced;
          }  // list port-mirror-instance
    
          list port {
            key "name";
            description "Port number";
            uses chassis_pic_port_framing;
          }  // list port
    
          list port-range {
            key "port-range-low port-range-high";
            ordered-by user;
            description
              "Physical ports to channelize";
            leaf port-range-low {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description
                "Port range low number";
            }
    
            leaf port-range-high {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description
                "Port range high number";
            }
    
            uses apply-advanced;
    
            leaf short-reach-mode {
              type enumeration {
                enum "disable" {
                  value 0;
                  description "Disable";
                }
                enum "enable" {
                  value 1;
                  description "Enable";
                }
              }
              description
                "Short reach mode (For ports 0..47)";
            }
    
            leaf channel-speed {
              type enumeration {
                enum "10g" {
                  value 0;
                  description
                    "Set the port speed to 10G. This will restart PFE";
                }
                enum "25g" {
                  value 1;
                  description
                    "Set the port speed to 25G.";
                }
                enum "50g" {
                  value 2;
                  description
                    "Set the port speed to 50G.";
                }
                enum
                  "disable-auto-speed-detection" {
                  value 3;
                  description
                    "Disables automatic speed detection";
                }
              }
              description "Port channel speed";
            }
          }  // list port-range
    
          container fibre-channel {
            description
              "Fibre channel configuration option";
            uses chassis_fibre_channel_type;
          }  // container fibre-channel
    
          container xe {
            description
              "Ports configurable in 10G mode";
            uses apply-advanced;
    
            list port {
              key "port-number";
              ordered-by user;
              description "Attribute port";
              leaf port-number {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Port number";
              }
    
              uses apply-advanced;
            }  // list port
    
            list port-range {
              key "port-range-low port-range-high";
              ordered-by user;
              description "Attribute port range";
              leaf port-range-low {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Port range low number";
              }
    
              leaf port-range-high {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Port range high number";
              }
    
              uses apply-advanced;
            }  // list port-range
          }  // container xe
    
          container xle {
            description
              "Ports configurable in 40G mode ";
            uses apply-advanced;
    
            list port {
              key "port-number";
              ordered-by user;
              description "Attribute port";
              leaf port-number {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Port number";
              }
    
              uses apply-advanced;
            }  // list port
    
            list port-range {
              key "port-range-low port-range-high";
              ordered-by user;
              description "Attribute port range";
              leaf port-range-low {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Port range low number";
              }
    
              leaf port-range-high {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Port range high number";
              }
    
              uses apply-advanced;
            }  // list port-range
          }  // container xle
    
          container fte {
            description
              "Ports configurable in 40G HIGIG mode";
            uses apply-advanced;
    
            list port {
              key "port-number";
              ordered-by user;
              description "Attribute port";
              leaf port-number {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Port number";
              }
    
              uses apply-advanced;
            }  // list port
    
            list port-range {
              key "port-range-low port-range-high";
              ordered-by user;
              description "Attribute port range";
              leaf port-range-low {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Port range low number";
              }
    
              leaf port-range-high {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Port range high number";
              }
    
              uses apply-advanced;
            }  // list port-range
          }  // container fte
    
          list qsfp-port {
            key "name";
            description "Qsfp port to configure";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 1";
                }
              }
              description
                "Port-group 0:'0-3' 1:'4-7'";
            }
    
            uses apply-advanced;
    
            leaf port-mode {
              type enumeration {
                enum "40g" {
                  value 0;
                  description "40G mode";
                }
                enum "10g" {
                  value 1;
                  description "10G mode";
                }
              }
              description
                "Select mode for port-group";
            }
          }  // list qsfp-port
    
          container sfpplus {
            description
              "Sfpplus configuration option";
            uses apply-advanced;
    
            leaf pic-mode {
              type enumeration {
                enum "1g" {
                  value 0;
                  description "1G SFP mode";
                }
                enum "10g" {
                  value 1;
                  description "10G SFP+ mode";
                }
              }
              description "PIC mode";
            }
          }  // container sfpplus
    
          container hash-key {
            description
              "Select data used in the hash key";
            uses apply-advanced;
    
            container family {
              description "Protocol family";
              uses apply-advanced;
    
              container inet {
                description
                  "IPv4 protocol family";
                uses apply-advanced;
    
                container layer-3 {
                  presence "enable layer-3";
                  description
                    "Include Layer 3 (IP) data in the hash key";
                  uses apply-advanced;
    
                  leaf destination-address {
                    type empty;
                    description
                      "Include IP destination address in the hash key";
                  }
                }  // container layer-3
    
                container layer-4 {
                  presence "enable layer-4";
                  description
                    "Include Layer 4 (TCP or UDP) data in the hash key";
                  uses apply-advanced;
                }  // container layer-4
    
                container symmetric-hash {
                  junos:must "((".. layer-3" || ".. layer-4"))";
                  junos:must-message "layer-3 and/or layer-4 to be configured for symmetric/complement Hash";
                  presence
                    "enable symmetric-hash";
                  description
                    "Create symmetric hash-key with source & dest ports";
                  uses apply-advanced;
    
                  leaf complement {
                    type empty;
                    description
                      "Create complement of symmetric hash-key";
                  }
                }  // container symmetric-hash
              }  // container inet
    
              container multiservice {
                description
                  "Multiservice protocol family";
                uses apply-advanced;
    
                leaf source-mac {
                  type empty;
                  description
                    "Include source MAC address in hash key";
                }
    
                leaf destination-mac {
                  type empty;
                  description
                    "Include destination MAC address in hash key";
                }
    
                container payload {
                  description
                    "Include payload data in the hash key";
                  uses apply-advanced;
    
                  container ip {
                    description
                      "Include IPv4 payload data in the hash key";
                    uses apply-advanced;
    
                    container layer-3 {
                      presence "enable layer-3";
                      description
                        "Include layer-3 ip info for VPLS/Bridge";
                      uses apply-advanced;
    
                      choice layer-3-options {
                        leaf source-ip-only {
                          type empty;
                          description
                            "Include source IP only in hash-key";
                        }
                        leaf destination-ip-only {
                          type empty;
                          description
                            "Include desintation IP only in hash-key";
                        }
                      }  // choice layer-3-options
                    }  // container layer-3
    
                    leaf layer-4 {
                      type empty;
                      description
                        "Include layer-4 IP information for VPLS/Bridge";
                    }
                  }  // container ip
                }  // container payload
    
                container symmetric-hash {
                  junos:must "((".. payload" || (".. source-mac" || ".. destination-mac")))";
                  junos:must-message "Payload and/or source-MAC and/or destination-MAC to be configured for symmetric/complement Hash";
                  presence
                    "enable symmetric-hash";
                  description
                    "Create a/symmetric hash-key with any attributes";
                  uses apply-advanced;
    
                  leaf complement {
                    type empty;
                    description
                      "Create complement of symmetric hash-key";
                  }
                }  // container symmetric-hash
              }  // container multiservice
            }  // container family
          }  // container hash-key
    
          leaf ingress-policer-overhead {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 255";
              }
            }
            units "bytes";
            description
              "Number of policer overhead bytes in ingress";
          }
    
          leaf egress-policer-overhead {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 255";
              }
            }
            units "bytes";
            description
              "Number of policer overhead bytes in egress";
          }
    
          leaf account-layer2-overhead {
            type empty;
            description
              "Account Layer2 overhead in egress and ingress IFD/IFL stats";
          }
    
          container forwarding-mode {
            description
              "Set 100GE PIC packet distribution mode";
            uses apply-advanced;
    
            choice cap-fpga-packet-distribution-mode {
              leaf sa-multicast {
                type empty;
                description
                  "Used for Juniper CGE to Juniper 100GE PIC back to back connection";
              }
              container vlan-steering {
                presence "enable vlan-steering";
                description
                  "Steer packet by VLAN id, interoperate with other vendors";
                uses apply-advanced;
    
                leaf vlan-rule {
                  type enumeration {
                    enum "odd-even" {
                      value 0;
                      description
                        "Even number VLAN id processed by PFE0; odd number by PFE1";
                    }
                    enum "high-low" {
                      value 1;
                      description
                        "VLAN 1~2047 processed by PFE0; others by PFE1";
                    }
                  }
                  description
                    "Set 100GE PIC forwarding VLAN rule";
                }
              }  // container vlan-steering
            }  // choice cap-fpga-packet-distribution-mode
          }  // container forwarding-mode
    
          leaf subscriber-aware-services {
            type empty;
            description
              "Enable subscriber aware services";
          }
    
          leaf ptp-mode {
            type empty;
            description
              "Set hardware to run PTP BC applications.";
          }
        }  // grouping chassis_pic_type
    
        grouping ce1_channel_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 9";
              }
            }
            description "E1 link number";
          }
    
          uses apply-advanced;
    
          list channel-group {
            key "name";
            description "Define channel group";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 23";
                }
              }
              description "Channel group number";
            }
    
            leaf timeslots {
              type string;
              description
                "DS0 timeslots (1..31); for example, 1-3,4,9,22-24 (no spaces)";
            }
          }  // list channel-group
        }  // grouping ce1_channel_type
    
        grouping chassis_fibre_channel_type {
          description
            "Fibre channel configuration option";
          uses apply-advanced;
    
          list port {
            key "name";
            ordered-by user;
            description "Fibre channel port";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 47";
                }
              }
              description
                "Port number for fibre channel mode";
            }
    
            uses apply-advanced;
          }  // list port
    
          list port-range {
            key "port-range-low port-range-high";
            ordered-by user;
            description
              "Fibre channel port range";
            leaf port-range-low {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 47";
                }
              }
              description
                "Port range low number";
            }
    
            leaf port-range-high {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 47";
                }
              }
              description
                "Port range high number";
            }
    
            uses apply-advanced;
          }  // list port-range
        }  // grouping chassis_fibre_channel_type
    
        grouping chassis_pic_port_framing {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description "Port number";
          }
    
          uses apply-advanced;
    
          leaf short-reach-mode {
            type enumeration {
              enum "disable" {
                value 0;
                description "Disable";
              }
              enum "enable" {
                value 1;
                description "Enable";
              }
            }
            description
              "Short reach mode (For ports 0...47)";
          }
    
          leaf framing {
            type enumeration {
              enum "sonet" {
                value 0;
                description "SONET mode";
              }
              enum "sdh" {
                value 1;
                description "SDH mode";
              }
              enum "t3" {
                value 2;
                description "T3 mode";
              }
              enum "e3" {
                value 3;
                description "E3 mode";
              }
              enum "t1" {
                value 4;
                description "T1 mode";
              }
              enum "e1" {
                value 5;
                description "E1 mode";
              }
            }
            description "Framing mode";
          }
    
          leaf number-of-sub-ports {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description
              "Number of subports per physical port";
          }
    
          leaf unused {
            type empty;
            description "Keep the port unused.";
          }
    
          leaf speed {
            junos:must "(!((".. .. pic-mode" || ".. .. number-of-ports")))";
            junos:must-message " speed config can neither co-exist with pic <> number-of-ports <> nor pic <> pic-mode config";
            type enumeration {
              enum "oc3-stm1" {
                value 0;
                description "OC3 or STM1";
              }
              enum "oc12-stm4" {
                value 1;
                description "OC12 or STM4";
              }
              enum "oc48-stm16" {
                value 2;
                description "OC48 or STM16";
              }
              enum "1G" {
                value 3;
                description
                  "1GE-Gigabit Ethernet";
              }
              enum "10g" {
                value 4;
                description
                  "Sets the interface mode to 10Gbps";
              }
              enum "25g" {
                value 5;
                description
                  "Sets the interface mode to 25Gbps";
              }
              enum "40g" {
                value 6;
                description
                  "Sets the interface mode to 40Gbps";
              }
              enum "100g" {
                value 7;
                description
                  "Sets the interface mode to 100Gbps";
              }
              enum "50g" {
                value 8;
                description
                  "Sets the interface mode to 50Gbps";
              }
              enum "200g" {
                value 9;
                description
                  "Sets the interface mode to 200 Gbps";
              }
              enum "400g" {
                value 10;
                description
                  "Sets the interface mode to 400Gbps";
              }
            }
            description "Port speed";
          }
    
          leaf channel-speed {
            type enumeration {
              enum "10g" {
                value 0;
                description
                  "Set the port speed to 10G. This will restart PFE on some platforms.";
              }
              enum "25g" {
                value 1;
                description
                  "Set the port speed to 25G.";
              }
              enum "50g" {
                value 2;
                description
                  "Set the port speed to 50G.";
              }
              enum
                "disable-auto-speed-detection" {
                value 3;
                description
                  "Disables automatic speed detection";
              }
            }
            description "Port channel speed";
          }
    
          container forwarding-mode {
            description
              "PIC packet distribution mode - Brooklyn interop mode";
            uses apply-advanced;
    
            leaf sa-multicast {
              type empty;
              description
                "SA multicast mode - interop with 100G Brooklyn PIC";
            }
          }  // container forwarding-mode
    
          leaf no-mcast-replication {
            type empty;
            description
              "No multicast replication";
          }
    
          container traffic-manager {
            description
              "Configure per port traffic manager mode";
            uses apply-advanced;
    
            leaf mode {
              type enumeration {
                enum "ingress-and-egress" {
                  value 0;
                  description
                    "Enable the ingress and egress traffic managers";
                }
              }
              description
                "Configure port traffic manager mode as ingress-and-egress";
            }
          }  // container traffic-manager
        }  // grouping chassis_pic_port_framing
    
        grouping chassis_port_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 47";
              }
            }
            description
              "Port number for tunnel services";
          }
    
          uses apply-advanced;
    
          leaf tunnel-services {
            type empty;
            description
              "Tunnel services configuration";
          }
        }  // grouping chassis_port_type
    
        grouping chassis_redundancy_type {
          uses apply-advanced;
    
          list routing-engine {
            key "name";
            description
              "Redundancy options for Routing Engines";
            uses chassis_rdd_re_type;
          }  // list routing-engine
    
          list ssb {
            key "name";
            description
              "Redundancy options for System Switch Boards";
            uses chassis_rdd_id_type;
          }  // list ssb
    
          list cfeb {
            key "name";
            description
              "Redundancy options for Compact Forwarding Engine Boards";
            uses chassis_rdd_cfeb_id_type;
          }  // list cfeb
    
          list sfm {
            key "name";
            description
              "Redundancy options for Switching and Forwarding Modules";
            uses chassis_rdd_sfm_id_type;
          }  // list sfm
    
          container failover {
            description
              "Failover to other Routing Engine";
            uses chassis_rdd_failover_type;
          }  // container failover
    
          leaf keepalive-time {
            junos:must "(!("chassis redundancy graceful-switchover"))";
            junos:must-message "Graceful switchover configured, cannot change the default keepalive interval";
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "2 .. 10000";
              }
            }
            units "seconds";
            description
              "Time before Routing Engine failover";
          }
    
          leaf mastership-refresh-timeout {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "9 .. 30";
              }
            }
            units "seconds";
            description
              "Mastership refresh timeout";
          }
    
          container graceful-switchover {
            junos:must "(!((any "chassis fpc <*> pic <*> monitoring-services application" && "chassis redundancy graceful-switchover")))";
            junos:must-message "Graceful Switchover is not supported on monitoring-services application";
            presence
              "enable graceful-switchover";
            description
              "Enable graceful switchover on supported hardware";
            uses chassis_non_stop_forwarding_type;
          }  // container graceful-switchover
    
          container feb {
            description
              "Forwarding Engine Board redundancy configuration";
            uses apply-advanced;
    
            list redundancy-group {
              key "name";
              leaf name {
                type string;
                description
                  "Name of FEB redundancy group";
              }
    
              uses apply-advanced;
    
              leaf description {
                type string;
                description
                  "Text description of FEB redundancy group";
              }
    
              list feb {
                key "name";
                description
                  "Redundancy settings for a Forwarding Engine Board";
                leaf name {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32;
                  }
                  description "Slot number";
                }
    
                uses apply-advanced;
    
                choice redundancy-option {
                  leaf primary {
                    type empty;
                    description
                      "FEB is default master in the redundancy group";
                  }
                  leaf backup {
                    type empty;
                    description
                      "FEB is backup in the redundancy group";
                  }
                }  // choice redundancy-option
              }  // list feb
    
              leaf no-auto-failover {
                type empty;
                description
                  "Disable automatic FEB failover";
              }
            }  // list redundancy-group
          }  // container feb
        }  // grouping chassis_redundancy_type
    
        grouping chassis_non_stop_forwarding_type {
          junos:must "((!("system inet6-backup-router") || "system inet6-backup-router destination"))";
          junos:must-message "Please define destination subnet with the inet6-backup-router configuration";
          junos:must "((!("system backup-router") || "system backup-router destination"))";
          junos:must-message "Please define destination subnet with the backup-router configuration";
          uses apply-advanced;
    
          container traceoptions {
            status deprecated;
            description
              "Graceful switchover trace options";
            uses apply-advanced;
    
            list flag {
              key "name";
              ordered-by user;
              description "Tracing parameters";
              leaf name {
                type enumeration {
                  enum "update" {
                    value 0;
                    description
                      "Trace state updates";
                  }
                  enum "all" {
                    value 1;
                    description
                      "Trace everything";
                  }
                }
              }
            }  // list flag
          }  // container traceoptions
        }  // grouping chassis_non_stop_forwarding_type
    
        grouping chassis_rdd_cfeb_id_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1";
              }
            }
            description "CFEB slot number";
          }
    
          choice priority {
            leaf always {
              type empty;
              description "Sole device";
            }
            leaf preferred {
              type empty;
              description "Preferred device";
            }
          }  // choice priority
        }  // grouping chassis_rdd_cfeb_id_type
    
        grouping chassis_rdd_failover_type {
          uses apply-advanced;
    
          leaf disable {
            type empty;
            description
              "Disable better RE evaluation algorithm";
          }
    
          container category {
            presence "enable category";
            description "Failover category";
            uses chassis_rdd_fail_cat_type;
          }  // container category
    
          leaf on-loss-of-keepalives {
            type empty;
            description
              "Failover on loss of keepalives";
          }
    
          leaf on-re-to-fpc-stale {
            type empty;
            description
              "Failover on loss of communication between the re and fpc";
          }
    
          leaf on-disk-failure {
            junos:must "(("chassis redundancy failover on-loss-of-keepalives" || "chassis redundancy graceful-switchover"))";
            junos:must-message "Option on-loss-of-keepalives or graceful-switchover must be set";
            type empty;
            description
              "Failover on disk failure";
          }
    
          leaf not-on-disk-underperform {
            type empty;
            description
              "Prevent gstatd from initiating failovers in response to slow disks";
          }
    
          leaf disk-read-threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1000 .. 10000";
              }
            }
            description
              "Read threshold (ms) on disk underperform monitoring";
          }
    
          leaf disk-write-threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1000 .. 10000";
              }
            }
            description
              "Write threshold (ms) on disk underperform monitoring";
          }
    
          leaf on-loss-of-vm-host-connection {
            type empty;
            description
              "Failover on loss of vm host connection";
          }
        }  // grouping chassis_rdd_failover_type
    
        grouping chassis_rdd_fail_cat_type {
          uses apply-advanced;
    
          container component-failure {
            presence "enable component-failure";
            description
              "Failover due to component failure";
            uses chassis_rdd_fail_cat_sev_type;
          }  // container component-failure
    
          container software-failure {
            presence "enable software-failure";
            description
              "Failover due to software failure";
            uses chassis_rdd_fail_cat_sev_type;
          }  // container software-failure
    
          container power-failure {
            presence "enable power-failure";
            description
              "Failover due to power failure";
            uses chassis_rdd_fail_cat_sev_type;
          }  // container power-failure
    
          container clock-failure {
            presence "enable clock-failure";
            description
              "Failover due to clock failure";
            uses chassis_rdd_fail_cat_sev_type;
          }  // container clock-failure
    
          container link-failure {
            presence "enable link-failure";
            description
              "Failover due to link failure";
            uses chassis_rdd_fail_cat_sev_type;
          }  // container link-failure
    
          container degraded-health {
            presence "enable degraded-health";
            description
              "Failover due to degraded health";
            uses chassis_rdd_fail_cat_sev_type;
          }  // container degraded-health
        }  // grouping chassis_rdd_fail_cat_type
    
        grouping chassis_rdd_fail_cat_sev_type {
          uses apply-advanced;
    
          container critical {
            presence "enable critical";
            description "Critical severity";
            uses chassis_rdd_fail_cat_sev_act_type;
          }  // container critical
    
          container important {
            presence "enable important";
            description "Important severity";
            uses chassis_rdd_fail_cat_sev_act_type;
          }  // container important
        }  // grouping chassis_rdd_fail_cat_sev_type
    
        grouping chassis_rdd_fail_cat_sev_act_type {
          uses apply-advanced;
    
          leaf disable {
            type empty;
            description "Disable action";
          }
        }  // grouping chassis_rdd_fail_cat_sev_act_type
    
        grouping chassis_rdd_id_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1";
              }
            }
            description "SSB slot number";
          }
    
          choice priority {
            leaf always {
              type empty;
              description "Sole device";
            }
            leaf preferred {
              type empty;
              description "Preferred device";
            }
          }  // choice priority
        }  // grouping chassis_rdd_id_type
    
        grouping chassis_rdd_re_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1";
              }
            }
            description
              "Routing Engine slot number";
          }
    
          choice priority {
            leaf master {
              type empty;
              description
                "Master Routing Engine";
            }
            leaf backup {
              type empty;
              description
                "Backup Routing Engine";
            }
            leaf disabled {
              type empty;
              description
                "Routing Engine disabled";
            }
          }  // choice priority
        }  // grouping chassis_rdd_re_type
    
        grouping chassis_rdd_sfm_id_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description "SFM slot number";
          }
    
          choice priority {
            leaf always {
              type empty;
              description "Sole device";
            }
            leaf preferred {
              type empty;
              description "Preferred device";
            }
          }  // choice priority
        }  // grouping chassis_rdd_sfm_id_type
    
        grouping chassis_routing_engine_type {
          uses apply-advanced;
    
          container on-disk-failure {
            description
              "Action to take when Routing Engine disk fails";
            uses chassis_re_on_disk_failure;
          }  // container on-disk-failure
    
          container control-interface {
            presence "enable control-interface";
            description
              "Configure recovery method and pause frame for control interface";
            uses apply-advanced;
    
            leaf recovery-method {
              type enumeration {
                enum "disable-recovery" {
                  value 0;
                  description
                    "Don't enable recovery";
                }
                enum "socket" {
                  value 1;
                  description
                    "Recovery by using socket";
                }
                enum "counter" {
                  value 2;
                  description
                    "Recovery by using BCM-Counters";
                }
              }
              description
                "Select the recovery method";
            }
    
            leaf pause-frame {
              type empty;
              description
                "Enable or disable Pause frame generation";
            }
          }  // container control-interface
    
          container bios {
            description "Routing Engine BIOS";
            uses apply-advanced;
    
            leaf no-auto-upgrade {
              type empty;
              description
                "Disable routing-engine BIOS auto-upgrade";
            }
    
            leaf uninterrupt {
              type empty;
              description
                "Set routing-engine BIOS uninterruptable";
            }
          }  // container bios
    
          container disk {
            description
              "Action to take for Routing Engine disk";
            uses apply-advanced;
    
            leaf write-threshold-rate {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 20";
                }
              }
              units "MBPS";
              default "4";
              description "Write threshold rate";
            }
    
            leaf write-threshold-duration {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "300 .. 2592000";
                }
              }
              units "seconds";
              default "1000";
              description
                "Write threshold duration";
            }
    
            leaf smart-check {
              type empty;
              description
                "Enable smart check command to disk";
            }
    
            list ssd-series {
              key "name";
              ordered-by user;
              description
                "Specify the ssd vendor series";
              leaf name {
                type string {
                  length "1 .. 40";
                }
                description "SSD series name";
              }
    
              uses apply-advanced;
    
              list id {
                key "name";
                max-elements 30;
                ordered-by user;
                description
                  "Attribute ids to monitor of this series type";
                leaf name {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 255";
                    }
                  }
                  description
                    "SSD smart attribute id";
                }
    
                uses apply-advanced;
    
                leaf id-threshold {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 4294967295";
                    }
                  }
                  description
                    "SSD smart attribute threshold";
                }
    
                leaf id-value {
                  type enumeration {
                    enum "raw" {
                      value 0;
                      description
                        "Raw value to be used for this smart id";
                    }
                    enum "norm" {
                      value 1;
                      description
                        "Normalised value to be used for this smart id";
                    }
                  }
                  description
                    "SSD attribute value";
                }
    
                leaf id-flag {
                  type enumeration {
                    enum "low" {
                      value 0;
                      description
                        "Check if value is less than smart threshold";
                    }
                    enum "high" {
                      value 1;
                      description
                        "Check if value is greater than smart threshold";
                    }
                  }
                  description
                    "SSD attribute flag";
                }
              }  // list id
            }  // list ssd-series
          }  // container disk
    
          container usb-wwan {
            description
              "Enable WWAN (3G) access on the USB port";
            uses apply-advanced;
    
            leaf port {
              type enumeration {
                enum "0" {
                  value 0;
                  description
                    "Select port 0 to enable WWAN access";
                }
                enum "1" {
                  value 1;
                  description
                    "Select port 1 to enable WWAN access";
                }
              }
              description "Select the port";
            }
          }  // container usb-wwan
        }  // grouping chassis_routing_engine_type
    
        grouping chassis_re_on_disk_failure {
          choice reboot_or_halt {
            leaf reboot {
              type empty;
              status deprecated;
              description
                "Reboot on disk failure";
            }
            leaf disk-failure-action {
              type enumeration {
                enum "reboot" {
                  value 0;
                  description
                    "Reboot on disk failure";
                }
                enum "halt" {
                  value 1;
                  description
                    "Halt on disk failure";
                }
              }
            }
          }  // choice reboot_or_halt
    
          leaf failover {
            type empty;
            description
              "Redundancy group 0 failover on disk failure";
          }
        }  // grouping chassis_re_on_disk_failure
    
        grouping chassis_sfm_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description "SFM slot number";
          }
    
          uses apply-advanced;
    
          choice cache {
          }  // choice cache
    
          leaf power {
            type enumeration {
              enum "off" {
                value 0;
                description
                  "Do not provide power to SFMs";
              }
              enum "on" {
                value 1;
                description
                  "Provide power to SFMs";
              }
            }
            description "Power SFMs on or off";
          }
    
          choice mode {
            leaf disable-power {
              type empty;
              status deprecated;
              description
                "Do not enable power to the card";
            }
          }  // choice mode
        }  // grouping chassis_sfm_type
    
        grouping chassis_sib_type {
          uses apply-advanced;
    
          list slot {
            key "name";
            description "SIB slot number";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "SIB slot number";
            }
    
            uses apply-advanced;
    
            container error {
              description
                "Error level configuration for SIB";
              uses chassis_sib_error_type;
            }  // container error
          }  // list slot
    
          leaf minimum {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "2 .. 4";
              }
            }
            description
              "Minimum number of Switch Interface Boards required for normal operation";
          }
    
          container power-off {
            description "Power off the SIB slot";
            uses apply-advanced;
    
            list slot {
              key "name";
              ordered-by user;
              description
                "SIB slot number to be powered off";
              leaf name {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "SIB slot number to be offlined";
              }
    
              uses apply-advanced;
            }  // list slot
          }  // container power-off
        }  // grouping chassis_sib_type
    
        grouping chassis_sib_error_type {
          description "Chassis SIB Error level";
          uses apply-advanced;
    
          container fatal {
            description
              "SIB Fatal errors (default threshold = 1)";
            uses chassis_sib_error_level_major_fatal;
          }  // container fatal
    
          container major {
            description
              "SIB Major Level errors (default threshold = 1)";
            uses chassis_sib_error_level_major_fatal;
          }  // container major
    
          container minor {
            description
              "SIB Minor Level errors (default threshold = 10)";
            uses chassis_sib_error_level_minor;
          }  // container minor
    
          container scope {
            description "Error scope";
            uses chassis_sib_scope_type;
          }  // container scope
        }  // grouping chassis_sib_error_type
    
        grouping chassis_sib_error_level_major_fatal {
          uses apply-advanced;
    
          leaf threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 1024";
              }
            }
            description
              "Error count at which to take the action";
          }
    
          list action {
            key "name";
            ordered-by user;
            description
              "Configure the action for this level";
            leaf name {
              type enumeration {
                enum "reset" {
                  junos:must "(!(".. .. action offline"))";
                  junos:must-message "'reset' and 'offline' cannot be both configured";
                  value 0;
                  description "Reset SIB";
                }
                enum "offline" {
                  junos:must "(!(".. .. action reset"))";
                  junos:must-message "'offline' and 'reset' cannot be both configured";
                  value 1;
                  description "Offline SIB";
                }
                enum "alarm" {
                  value 2;
                  description "Raise SIB alarm";
                }
                enum "get-state" {
                  value 3;
                  description
                    "Retreive SIB state for debugging";
                }
                enum "log" {
                  value 4;
                  description
                    "Log occurence to system log file";
                }
              }
            }
    
            uses apply-advanced;
          }  // list action
        }  // grouping chassis_sib_error_level_major_fatal
    
        grouping chassis_sib_error_level_minor {
          uses apply-advanced;
    
          leaf threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1024";
              }
            }
            description
              "Error count at which to take the action";
          }
    
          list action {
            key "name";
            ordered-by user;
            description
              "Configure the action for this level";
            leaf name {
              type enumeration {
                enum "reset" {
                  junos:must "(!(".. .. action offline"))";
                  junos:must-message "'reset' and 'offline' cannot be both configured";
                  value 0;
                  description "Reset SIB";
                }
                enum "offline" {
                  junos:must "(!(".. .. action reset"))";
                  junos:must-message "'offline' and 'reset' cannot be both configured";
                  value 1;
                  description "Offline SIB";
                }
                enum "alarm" {
                  value 2;
                  description "Raise SIB alarm";
                }
                enum "get-state" {
                  value 3;
                  description
                    "Retreive SIB state for debugging";
                }
                enum "log" {
                  value 4;
                  description
                    "Log occurence to system log file";
                }
              }
            }
    
            uses apply-advanced;
          }  // list action
        }  // grouping chassis_sib_error_level_minor
    
        grouping chassis_sib_scope_type {
          description "Chassis SIB Error Scope";
          uses apply-advanced;
    
          container board {
            description "Board level scope";
            uses chassis_sib_scope_category;
          }  // container board
    
          container switch {
            description "SIB scope ";
            uses chassis_sib_scope_category;
          }  // container switch
        }  // grouping chassis_sib_scope_type
    
        grouping chassis_sib_scope_category {
          description
            "Chassis SIB Error Category";
          uses apply-advanced;
    
          container category {
            description "SIB error category";
            uses chassis_sib_scope_category_type;
          }  // container category
        }  // grouping chassis_sib_scope_category
    
        grouping chassis_sib_scope_category_type {
          description
            "Chassis SIB Category level";
          uses apply-advanced;
    
          container functional {
            description
              "SIB functional category";
            uses chassis_sib_scope_category_error_type;
          }  // container functional
    
          container memory {
            description "SIB memory category";
            uses chassis_sib_scope_category_error_type;
          }  // container memory
    
          container io {
            description
              "SIB input-output category";
            uses chassis_sib_scope_category_error_type;
          }  // container io
    
          container storage {
            description "SIB storage category";
            uses chassis_sib_scope_category_error_type;
          }  // container storage
    
          container switch {
            description "SIB switch category";
            uses chassis_sib_scope_category_error_type;
          }  // container switch
    
          container processing {
            description
              "SIB processing category";
            uses chassis_sib_scope_category_error_type;
          }  // container processing
        }  // grouping chassis_sib_scope_category_type
    
        grouping chassis_sib_scope_category_error_type {
          description "Chassis SIB Error level";
          uses apply-advanced;
    
          container fatal {
            description
              "SIB Fatal errors (default threshold = 1)";
            uses chassis_sib_error_level_type;
          }  // container fatal
    
          container major {
            description
              "SIB Major Level errors (default threshold = 1)";
            uses chassis_sib_error_level_type;
          }  // container major
    
          container minor {
            description
              "SIB Minor Level errors (default threshold = 10)";
            uses chassis_sib_error_level_type;
          }  // container minor
        }  // grouping chassis_sib_scope_category_error_type
    
        grouping chassis_sib_error_level_type {
          uses apply-advanced;
    
          leaf threshold {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 1024";
              }
            }
            description
              "Error count at which to take the action (0 - valid for minor only)";
          }
    
          list action {
            key "name";
            ordered-by user;
            description
              "Configure the action for this level";
            leaf name {
              type enumeration {
                enum "reset" {
                  junos:must "(!(".. .. action offline"))";
                  junos:must-message "'reset' and 'offline' cannot be both configured";
                  value 0;
                  description "Reset device";
                }
                enum "offline" {
                  junos:must "(!(".. .. action reset"))";
                  junos:must-message "'offline' and 'reset' cannot be both configured";
                  value 1;
                  description "Offline device";
                }
                enum "alarm" {
                  value 2;
                  description
                    "Raise chassis alarm";
                }
                enum "get-state" {
                  value 3;
                  description
                    "Retreive device state for debugging";
                }
                enum "log" {
                  value 4;
                  description
                    "Log occurence to system log file";
                }
              }
            }
    
            uses apply-advanced;
          }  // list action
        }  // grouping chassis_sib_error_level_type
    
        grouping chassis_slc_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 2";
              }
            }
            description "SLC id";
          }
    
          uses apply-advanced;
    
          leaf power {
            type enumeration {
              enum "off" {
                value 0;
                description
                  "Do not provide power to SLC";
              }
              enum "on" {
                value 1;
                description
                  "Provide power to SLC";
              }
            }
            description "Power SLCs on or off";
          }
        }  // grouping chassis_slc_type
    
        grouping chassisd-redundancy-group-type {
          uses apply-advanced;
    
          container interface-type {
            uses apply-advanced;
    
            container redundant-logical-tunnel {
              description
                "Redundant logical tunnel interface group";
              uses apply-advanced;
    
              leaf device-count {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 255";
                  }
                }
                description "Number of devices";
              }
            }  // container redundant-logical-tunnel
    
            container redundant-virtual-tunnel {
              description
                "Redundant virtual tunnel interface group";
              uses apply-advanced;
    
              leaf device-count {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 16";
                  }
                }
                description "Number of devices";
              }
            }  // container redundant-virtual-tunnel
          }  // container interface-type
        }  // grouping chassisd-redundancy-group-type
    
        grouping chassisd_agg_container_type {
          uses apply-advanced;
    
          leaf device-count {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 128";
              }
            }
            description
              "Number of container devices";
          }
        }  // grouping chassisd_agg_container_type
    
        grouping chassisd_agg_enet_type {
          uses apply-advanced;
    
          leaf device-count {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description
              "Number of aggregated Ethernet devices";
          }
    
          container lacp {
            description
              "Global Link Aggregation Control Protocol configuration";
            uses apply-advanced;
    
            leaf system-priority {
              type string;
              description
                "Priority of the system (0 ... 65535)";
            }
    
            container link-protection {
              presence "enable link-protection";
              uses apply-advanced;
    
              leaf non-revertive {
                type empty;
                description
                  "Don't revert links when better priority link comes up";
              }
            }  // container link-protection
          }  // container lacp
        }  // grouping chassisd_agg_enet_type
    
        grouping chassisd_agg_pos_type {
          uses apply-advanced;
    
          leaf device-count {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 64";
              }
            }
            description
              "Number of aggregated SONET devices";
          }
        }  // grouping chassisd_agg_pos_type
    
        grouping chassisd_provider_instance_type {
          uses apply-advanced;
    
          leaf device-count {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 16";
              }
            }
            description
              "Number of provider instance port devices";
          }
        }  // grouping chassisd_provider_instance_type
    
        grouping ct3_port_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type int32 {
                range "0 .. 1";
              }
            }
            description
              "CT3  L2NG_PRODUCTSport number";
          }
    
          uses apply-advanced;
    
          list t1 {
            key "name";
            description "T1 link";
            uses ct3_channel_type;
          }  // list t1
        }  // grouping ct3_port_type
    
        grouping ct3_channel_type {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type int32 {
                range "0 .. 27";
              }
            }
            description "T1 link number";
          }
    
          uses apply-advanced;
    
          list channel-group {
            key "name";
            description "Define channel group";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Channel group number";
            }
    
            leaf timeslots {
              type string;
              description
                "DS0 timeslots (1..24); for example, 1-3,4,9,22-24 (no spaces)";
            }
          }  // list channel-group
        }  // grouping ct3_channel_type
    
        grouping ip-monitoring-address-type {
          description
            "Define IP address related parameters";
          leaf name {
            type jt:ipv4addr;
            description
              "Define IPv4 address to be monitored";
          }
    
          uses apply-advanced;
    
          leaf weight {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint16 {
                range "0 .. 255";
              }
            }
            description
              "Define weight for this IP address";
          }
    
          list interface {
            key "name";
            max-elements 1;
            ordered-by user;
            description
              "Logical interface through which to monitor this IP address";
            leaf name {
              junos:must "("interfaces $$-IFL family inet")";
              junos:must-message "Family inet must be defined on this logical interface";
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Logical interface name";
            }
    
            uses apply-advanced;
    
            leaf secondary-ip-address {
              type jt:ipv4addr;
              description
                "Define source address for monitoring packets on secondary link";
            }
          }  // list interface
        }  // grouping ip-monitoring-address-type
    
        grouping juniper-gnf {
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 10";
              }
            }
            description "GNF slot number";
          }
    
          uses apply-advanced;
    
          leaf description {
            type string {
              length "1 .. 256";
            }
            description
              "Description of guest network function";
          }
    
          leaf control-plane-bandwidth-percent {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            units "percent";
            description
              "Percentage of control plane bandwidth";
          }
    
          leaf-list fpcs {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description
              "FPC associated with guest network function";
          }
    
          container fpc-slice {
            description
              "FPC sub-line cards (SLCs) associated with guest network function";
            uses apply-advanced;
    
            list fpc {
              key "name";
              description
                "FPC resource parameters for SLC";
              leaf name {
                junos:must "(!(any "chassis fpc $$ pfe <*> power off"))";
                junos:must-message "FPC cannot be sliced if its pfes are configured power off";
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "FPC slot";
              }
    
              uses apply-advanced;
    
              list slc {
                key "name";
                description
                  "Sub-line card configuration";
                leaf name {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 2";
                    }
                  }
                  description "SLC id";
                }
    
                uses apply-advanced;
    
                leaf-list pfe-id-list {
                  type string;
                  description
                    "List of pfe of FPC to be assigned to SLC";
                }
    
                leaf cores {
                  type union {
                    type uint32;
                    type string {
                      pattern "<.*>|$.*";
                    }
                  }
                  description
                    "Number of cpu cores of FPC to be assigned to SLC (2, 4, 6, 8)";
                }
    
                leaf dram {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "5 .. 26";
                    }
                  }
                  description
                    "Amount of DRAM (in GB) of FPC to be assigned to SLC";
                }
              }  // list slc
            }  // list fpc
          }  // container fpc-slice
    
          list abstract-interface {
            key "name";
            uses abstract_interface_type;
          }  // list abstract-interface
        }  // grouping juniper-gnf
    
        grouping abstract_interface_type {
          description "Abstract-interface";
          leaf name {
            type string {
              junos:posix-pattern "^af[0-9]$";
              junos:pattern-message "Range af0 - af9 is acceptable. Such as, af0,af1 etc.";
              length "1 .. 3";
            }
            description "Interface name of af";
          }
    
          uses apply-advanced;
    
          leaf description {
            type string {
              length "1 .. 516";
            }
            description
              "Description of AF interface";
          }
    
          container peer-gnf {
            presence "enable peer-gnf";
            description "Peer gnf";
            leaf id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 10";
                }
              }
              description "Peer-gnf id";
            }
    
            leaf remote-af-name {
              type string {
                junos:posix-pattern "^af[0-9]$";
                junos:pattern-message "Range af0 - af9 is acceptable. Such as, af0,af1 etc.";
                length "1 .. 3";
              }
              description
                "Remote af interface name";
            }
          }  // container peer-gnf
    
          container collapsed-forward {
            presence "enable collapsed-forward";
            description
              "Enable/disable collapsed forwarding";
            choice cfwd_mode {
              leaf monitor {
                type empty;
                description "Monitor mode";
              }
              leaf optimize {
                type empty;
                description "Optimize mode";
              }
            }  // choice cfwd_mode
          }  // container collapsed-forward
        }  // grouping abstract_interface_type
    
        grouping juniper-protected-system-domain {
          description
            "Protected system domain configuration";
          leaf name {
            type string {
              junos:posix-pattern "^psd([1-9]|[1-2][0-9]|[3][0-1])$";
              junos:pattern-message "Protected system domain name is a string consisting of 'psd' follows by the PSD ID (1-31), ex. psd2";
            }
            description
              "Name of protected system domain (psd[1-31], ex. psd2)";
          }
    
          uses apply-advanced;
    
          leaf description {
            type string;
            description
              "Description of protected system domain";
          }
    
          leaf-list fpcs {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description
              "FPC associated with protected system domain";
          }
    
          list lcc {
            key "name";
            leaf name {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "Specific LCC";
            }
    
            uses apply-advanced;
    
            leaf-list fpcs {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description
                "FPC associated with protected system domain";
            }
          }  // list lcc
    
          leaf control-system-id {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 4";
              }
            }
            description
              "Control system identifier";
          }
    
          leaf-list control-slot-numbers {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 12";
              }
            }
            max-elements 2;
            ordered-by user;
            description
              "Slots associated with protected system domain";
          }
    
          leaf control-plane-bandwidth-percent {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "0 .. 100";
              }
            }
            units "percent";
            description
              "Percentage of control plane bandwidth";
          }
        }  // grouping juniper-protected-system-domain
    
        grouping juniper-protected-system-domain-traceoptions {
          description
            "Protected system domain traceoptions";
          uses apply-advanced;
    
          leaf no-remote-trace {
            junos:must "("system tracing")";
            junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured";
            type empty;
            description "Disable remote tracing";
          }
    
          container file {
            description "Trace file information";
            leaf filename {
              type string {
                junos:posix-pattern "![/ %]";
                junos:pattern-message "Must not contain '/', % or a space";
                length "1 .. 1024";
              }
              description
                "Name of file in which to write trace information";
            }
    
            leaf size {
              type string;
              description
                "Maximum trace file size";
            }
    
            leaf files {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "2 .. 1000";
                }
              }
              default "3";
              description
                "Maximum number of trace files";
            }
    
            choice world-readable-choice {
              leaf world-readable {
                type empty;
                description
                  "Allow any user to read the log file";
              }
              leaf no-world-readable {
                type empty;
                description
                  "Don't allow any user to read the log file";
              }
            }  // choice world-readable-choice
    
            leaf match {
              type jt:regular-expression;
              description
                "Regular expression for lines to be logged";
            }
          }  // container file
    
          leaf level {
            type enumeration {
              enum "error" {
                value 0;
                description
                  "Match error conditions";
              }
              enum "warning" {
                value 1;
                description
                  "Match warning messages";
              }
              enum "notice" {
                value 2;
                description
                  "Match conditions that should be handled specially";
              }
              enum "info" {
                value 3;
                description
                  "Match informational messages";
              }
              enum "verbose" {
                value 4;
                description
                  "Match verbose messages";
              }
              enum "all" {
                value 5;
                description "Match all levels";
              }
            }
            default "error";
            description
              "Level of debugging output";
          }
    
          list flag {
            key "name";
            ordered-by user;
            description "Tracing parameters";
            leaf name {
              type enumeration {
                enum "configuration" {
                  value 0;
                  description
                    "Trace configuration events";
                }
                enum "rtsock" {
                  value 1;
                  description
                    "Trace rtsock messages";
                }
                enum "ipc" {
                  value 2;
                  description
                    "Trace IPC messages";
                }
                enum "init" {
                  value 3;
                  description
                    "Trace intialization messages";
                }
                enum "psd" {
                  value 4;
                  description
                    "Trace psd messages";
                }
                enum "all" {
                  value 5;
                  description "Trace everything";
                }
              }
            }
          }  // list flag
        }  // grouping juniper-protected-system-domain-traceoptions
    
        grouping macro-data-type {
          leaf name {
            type string;
            description
              "Keyword part of the keyword-value pair";
          }
    
          leaf value {
            type string;
            description
              "Value part of the keyword-value pair";
          }
        }  // grouping macro-data-type
    
        grouping redundancy-group-type {
          description
            "Redundancy-group provisioning";
          leaf name {
            type string {
              junos:posix-pattern "^[[:alpha:]][[:alnum:]_.-]+$";
              junos:pattern-message "Must be a string of length at least 2 beginning with a letter and consisting of letters, numbers, periods, dashes, and underscores";
              length "2 .. 64";
            }
            description "Redundancy-group name";
          }
    
          uses apply-advanced;
    
          leaf redundancy-group-id {
            junos:must "((!((any "protocols iccp peer <*> redundancy-group-id-list <*>" || any "logical-systems <*> protocols iccp peer <*> redundancy-group-id-list <*>")) || (any "protocols iccp peer <*> redundancy-group-id-list $$" || any "logical-systems <*> protocols iccp peer <*> redundancy-group-id-list $$")))";
            junos:must-message "The redundancy group id must match with one defined at <protocols iccp peer redundancy-group-id-list> and must be less than 256";
            junos:must "(unique "chassis satellite-management redundancy-groups <*> redundancy-group-id $$")";
            junos:must-message "Redundancy-group-id has to be unique";
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32 {
                range "1 .. 255";
              }
            }
            description "Redundancy Group ID";
          }
    
          container protocol {
            description
              "Redundancy-group Protocol";
            uses apply-advanced;
    
            container evpn {
              description
                "EVPN Redundancy Group";
              uses apply-advanced;
    
              leaf-list peer-ip {
                junos:must "(!(any "chassis satellite-management redundancy-groups <*> peer-chassis-id <*>"))";
                junos:must-message "peer-chassis-id configuration invalid for EVPN redundancy-group protocol";
                type jt:ipv4addr;
                ordered-by user;
                description
                  "Peer chassis IPs for EVPN Cluster";
              }
    
              leaf local-ip {
                type jt:ipv4addr;
                description
                  "Local chassis IP for EVPN Cluster";
              }
    
              leaf routing-instance {
                type string;
                description
                  "Name of routing instance for EVPN Cluster";
              }
            }  // container evpn
          }  // container protocol
    
          list peer-chassis-id {
            key "name";
            ordered-by user;
            description "Peer Chassis ID";
            leaf name {
              junos:must "(unique "satellite-management redundancy-groups <*> peer-chassis-id $$")";
              junos:must-message "Peer chassis ID must be unique";
              junos:must "(!("chassis satellite-management redundancy-groups chassis-id $$"))";
              junos:must-message "Peer chassis ID can't be same as local chassis ID";
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 4";
                }
              }
              description
                "Peer chassis identifier";
            }
    
            uses apply-advanced;
    
            leaf no-auto-vlan-provisioning {
              type empty;
              description
                "Disable auto VLAN provisioning on inter-chassis-link";
            }
    
            leaf inter-chassis-link {
              junos:must "(((("interfaces $$ unit $$={0} family bridge interface-mode trunk" || "interfaces $$ unit $$={0} family ethernet-switching interface-mode trunk") && !(" .. no-auto-vlan-provisioning")) || " .. no-auto-vlan-provisioning"))";
              junos:must-message "bridge or ethernet-switching family with unit 0 must be present for ICL trunk interface if auto-vlan-provisioning is enabled";
              junos:must "("interfaces $$")";
              junos:must-message "ICL interface must be defined in the [edit interfaces] hierarchy";
              junos:must "(!("interfaces $$ cascade-port"))";
              junos:must-message "ICL interface can't be provisioned as cascade-port";
              junos:must "((!("interfaces $$ flexible-vlan-tagging") && (!("interfaces $$ vlan-tagging") && !("interfaces $$ stacked-vlan-tagging"))))";
              junos:must-message "ICL cannot be supported on interfaces if flexible-vlan-tagging/vlan-tagging/stacked-vlan-tagging enabled";
              junos:must "("interfaces $$ unit $$={0} family ethernet-switching interface-mode trunk")";
              junos:must-message "ICL interface can only be trunk interface";
              type union {
                type jt:interface-device;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "ICL interface name";
            }
    
            leaf no-auto-iccp-provisioning {
              junos:must "(any "protocols iccp peer <*>")";
              junos:must-message "ICCP configuration must be present if auto ICCP provisioning is disabled";
              type empty;
              description
                "Disable auto ICCP provisioning";
            }
    
            leaf session-establishment-hold-time {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "45 .. 600";
                }
              }
              units "seconds";
              description
                "Time within which connection must succeed with this peer";
            }
    
            container liveness-detection {
              presence
                "enable liveness-detection";
              description
                "Bidirectional Forwarding Detection options for the peer";
              uses apply-advanced;
    
              leaf version {
                type enumeration {
                  enum "0" {
                    value 0;
                    description
                      "BFD version 0 (deprecated)";
                  }
                  enum "1" {
                    value 1;
                    description "BFD version 1";
                  }
                  enum "automatic" {
                    value 2;
                    description
                      "Choose BFD version automatically";
                  }
                }
                default "automatic";
                description
                  "BFD protocol version number";
              }
    
              leaf minimum-interval {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 255000";
                  }
                }
                units "milliseconds";
                description
                  "Minimum transmit and receive interval";
              }
    
              leaf minimum-transmit-interval {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 255000";
                  }
                }
                units "milliseconds";
                status deprecated;
                description
                  "Minimum transmit interval";
              }
    
              leaf minimum-receive-interval {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 255000";
                  }
                }
                units "milliseconds";
                description
                  "Minimum receive interval";
              }
    
              leaf multiplier {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 255";
                  }
                }
                default "3";
                description
                  "Detection time multiplier";
              }
    
              choice adaptation-choice {
                leaf no-adaptation {
                  type empty;
                  description
                    "Disable adaptation";
                }
              }  // choice adaptation-choice
    
              container transmit-interval {
                description
                  "Transmit-interval options";
                uses apply-advanced;
    
                leaf minimum-interval {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "1 .. 255000";
                    }
                  }
                  units "milliseconds";
                  description
                    "Minimum transmit interval";
                }
    
                leaf threshold {
                  type union {
                    type uint32;
                    type string {
                      pattern "<.*>|$.*";
                    }
                  }
                  units "milliseconds";
                  description
                    "High transmit interval triggering a trap";
                }
              }  // container transmit-interval
    
              container detection-time {
                description
                  "Detection-time options";
                uses apply-advanced;
    
                leaf threshold {
                  type union {
                    type uint32;
                    type string {
                      pattern "<.*>|$.*";
                    }
                  }
                  units "milliseconds";
                  description
                    "High detection-time triggering a trap";
                }
              }  // container detection-time
            }  // container liveness-detection
    
            leaf authentication-key {
              type string {
                length "1 .. 126";
              }
              description
                "MD5 authentication key";
            }
    
            container traceoptions {
              description
                "Trace options for ICCP";
              uses apply-advanced;
    
              leaf no-remote-trace {
                junos:must "("system tracing")";
                junos:must-message "'no-remote-trace' is valid only when [system tracing] is configured";
                type empty;
                description
                  "Disable remote tracing";
              }
    
              container file {
                description
                  "Trace file information";
                leaf filename {
                  type string {
                    junos:posix-pattern "![/ %]";
                    junos:pattern-message "Must not contain '/', % or a space";
                    length "1 .. 1024";
                  }
                  description
                    "Name of file in which to write trace information";
                }
    
                leaf size {
                  type string;
                  description
                    "Maximum trace file size";
                }
    
                leaf files {
                  type union {
                    type string {
                      pattern "<.*>|$.*";
                    }
                    type uint32 {
                      range "2 .. 1000";
                    }
                  }
                  default "3";
                  description
                    "Maximum number of trace files";
                }
    
                choice world-readable-choice {
                  leaf world-readable {
                    type empty;
                    description
                      "Allow any user to read the log file";
                  }
                  leaf no-world-readable {
                    type empty;
                    description
                      "Don't allow any user to read the log file";
                  }
                }  // choice world-readable-choice
    
                leaf match {
                  type jt:regular-expression;
                  description
                    "Regular expression for lines to be logged";
                }
              }  // container file
    
              list flag {
                key "name";
                ordered-by user;
                description
                  "Trace flag information";
                leaf name {
                  type enumeration {
                    enum "error" {
                      value 0;
                      description
                        "Trace all errors";
                    }
                    enum "event" {
                      value 1;
                      description
                        "Trace all events";
                    }
                    enum "packet" {
                      value 2;
                      description
                        "Trace all packets";
                    }
                    enum "pipe" {
                      value 3;
                      description
                        "Trace pipe messages";
                    }
                    enum "pipe-detail" {
                      value 4;
                      description
                        "Trace pipe messages in detail";
                    }
                    enum "all" {
                      value 5;
                      description
                        "Trace everything";
                    }
                  }
                }
              }  // list flag
            }  // container traceoptions
          }  // list peer-chassis-id
    
          leaf-list satellite {
            type string {
              length "1 .. 100";
            }
            ordered-by user;
            description
              "Satellite slot-id or range or all";
          }
    
          leaf system-mac-address {
            type jt:mac-unicast;
            description "System MAC address";
          }
    
          list cluster {
            key "name";
            description
              "Cluster member of redundancy-group";
            leaf name {
              junos:must "("chassis satellite-management cluster $$")";
              junos:must-message "Cluster must be defined";
              type string;
              description "Cluster name";
            }
    
            uses apply-advanced;
          }  // list cluster
        }  // grouping redundancy-group-type
    
        grouping satellite-bridge-filter {
          leaf name {
            type string {
              junos:posix-pattern "!^((__.*)|(.{65,}))$";
              junos:pattern-message "Must be a non-reserved string of 64 characters or less";
            }
            description "Filter name";
          }
    
          uses apply-advanced;
    
          list term {
            key "name";
            ordered-by user;
            description "Define a firewall term";
            leaf name {
              type string {
                junos:posix-pattern "!^((__.*)|(.{65,}))$";
                junos:pattern-message "Must be a non-reserved string of 64 characters or less";
              }
              description "Term name";
            }
    
            uses apply-advanced;
    
            container from {
              description
                "Define match criteria";
              uses apply-advanced;
    
              list source-mac-address {
                key "name";
                ordered-by user;
                description
                  "Match MAC source address";
                uses firewall_mac_addr_object;
              }  // list source-mac-address
    
              list destination-mac-address {
                key "name";
                ordered-by user;
                description
                  "Match MAC destination address";
                uses firewall_mac_addr_object;
              }  // list destination-mac-address
    
              list ip-source-address {
                key "name";
                ordered-by user;
                description
                  "Match IP source address";
                uses firewall_addr_object;
              }  // list ip-source-address
    
              list ip-destination-address {
                key "name";
                ordered-by user;
                description
                  "Match IP destination address";
                uses firewall_addr_object;
              }  // list ip-destination-address
    
              choice ip-protocol_choice {
                leaf-list ip-protocol {
                  type string;
                  ordered-by user;
                }
                leaf-list ip-protocol-except {
                  type string;
                  ordered-by user;
                }
              }  // choice ip-protocol_choice
    
              choice source-port_choice {
                leaf-list source-port {
                  type string;
                  ordered-by user;
                }
                leaf-list source-port-except {
                  type string;
                  ordered-by user;
                }
              }  // choice source-port_choice
    
              choice destination-port_choice {
                leaf-list destination-port {
                  type string;
                  ordered-by user;
                }
                leaf-list destination-port-except {
                  type string;
                  ordered-by user;
                }
              }  // choice destination-port_choice
    
              choice user-vlan-id_choice {
                leaf-list user-vlan-id {
                  type string;
                  ordered-by user;
                  description "Range of values";
                }
                leaf-list user-vlan-id-except {
                  type string;
                  ordered-by user;
                  description "Range of values";
                }
              }  // choice user-vlan-id_choice
            }  // container from
    
            container then {
              description
                "Action to take if the 'from' condition is matched";
              uses apply-advanced;
    
              choice designation {
                leaf accept {
                  type empty;
                  description
                    "Accept the packet";
                }
                leaf discard {
                  type empty;
                  description
                    "Discard the packets";
                }
              }  // choice designation
    
              leaf next-hop-group {
                junos:must "(("policy-options satellite-policies port-group-alias $$" || "policy-options satellite-policies chassis-group-alias $$"))";
                junos:must-message "port-group-alias or chassis-group-alias not defined";
                type string;
                description
                  "Use specified next-hop group";
              }
            }  // container then
          }  // list term
        }  // grouping satellite-bridge-filter
    
        grouping firewall_addr_object {
          leaf name {
            type jt:ipv4prefix;
            description "Prefix to match";
          }
    
          leaf except {
            type empty;
            description
              "Match address not in this prefix";
          }
        }  // grouping firewall_addr_object
    
        grouping firewall_mac_addr_object {
          leaf name {
            type jt:mac-addr-prefix;
            description "MAC address to match";
          }
    
          leaf except {
            type empty;
            description
              "Match MAC address not in this range";
          }
        }  // grouping firewall_mac_addr_object
    
        grouping upgrade-group-fpcs {
          description "Upgrade group fpcs";
          leaf name {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type int32;
            }
            description "Member identifier";
          }
    
          uses apply-advanced;
    
          leaf-list fpcs {
            type union {
              type string {
                pattern "<.*>|$.*";
              }
              type uint32;
            }
            description
              "FPCs to be upgraded as a group in this member";
          }
        }  // grouping upgrade-group-fpcs
    
        grouping upgrade-group-type {
          description "Upgrade group";
          leaf name {
            type string {
              junos:posix-pattern "![^a-zA-Z0-9_-]|^[^a-zA-Z]|(^(all|.{64,}|.{0,1})$)";
              junos:pattern-message "Must be a string of length at least 2 beginning with a letter and consisting of letters, numbers, periods, dashes, and underscores. Must not be 'all'";
              length "2 .. 64";
            }
            description "Upgrade group name";
          }
    
          uses apply-advanced;
    
          leaf-list satellite {
            type string {
              length "1 .. 100";
            }
            ordered-by user;
            description
              "Satellite slot-id or range or all";
          }
        }  // grouping upgrade-group-type
      }  // module junos-nfx-conf-chassis
    

© 2023 YumaWorks, Inc. All rights reserved.