huawei-license

Proof of permission granted.

  • Version: 2021-09-01

    huawei-license@2021-09-01


    
      module huawei-license {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-license";
    
        prefix lcs;
    
        import huawei-pub-type {
          prefix pub-type;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import huawei-extension {
          prefix ext;
        }
        import ietf-inet-types {
          prefix inet;
        }
    
        organization
          "Huawei Technologies Co., Ltd.";
    
        contact
          "Huawei Industrial Base
    Bantian, Longgang
    Shenzhen 518129
    People's Republic of China
    Website: http://www.huawei.com
    Email: support@huawei.com";
    
        description
          "Proof of permission granted.";
    
        revision "2021-09-01" {
          description
            "Add statistics of cloud license support sparts.";
          reference
            "Huawei private.";
    
        }
    
        revision "2021-08-26" {
          description "Init revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "license";
    
        typedef auth-type {
          type enumeration {
            enum "demo" {
              value 0;
              description
                "Demo of a license file.";
            }
            enum "commercial" {
              value 1;
              description
                "Commercial of a license file.";
            }
          }
          description
            "Type of license authority.";
        }
    
        typedef spec-type {
          type enumeration {
            enum "resource" {
              value 0;
              description
                "The resource of item.";
            }
            enum "function" {
              value 1;
              description
                "The function of item.";
            }
            enum "minimum" {
              value 2;
              description "The minimum of item.";
            }
            enum "default" {
              value 3;
              description "The default of item.";
            }
            enum "maximum" {
              value 4;
              description "The maximum of item.";
            }
          }
          description "Type of license spec.";
        }
    
        typedef state-type {
          type enumeration {
            enum "default" {
              value 0;
              description
                "To indicate the license activating state of the system, the value is 'default'.";
            }
            enum "trial" {
              value 1;
              description
                "To indicate the license activating state of the system, the value is 'trial'.";
            }
            enum "normal" {
              value 2;
              description
                "To indicate the license activating state of the system, the value is 'normal'.";
            }
            enum "emergency" {
              value 3;
              description
                "To indicate the license activating state of the system, the value is 'emergency'.";
            }
            enum "demo" {
              value 4;
              description
                "To indicate the license activating state of the system, the value is 'demo'.";
            }
          }
          description "Type of license state.";
        }
    
        typedef item-status-type {
          type enumeration {
            enum "default" {
              value 0;
              description
                "To indicate the license item status, the value is 'default'.";
            }
            enum "trial" {
              value 1;
              description
                "To indicate the license item status, the value is 'trial'.";
            }
            enum "normal" {
              value 2;
              description
                "To indicate the license item status, the value is 'normal'.";
            }
            enum "emergency" {
              value 3;
              description
                "To indicate the license item status, the value is 'emergency'.";
            }
            enum "demo" {
              value 4;
              description
                "To indicate the license item status, the value is 'demo'.";
            }
            enum "inactive" {
              value 5;
              description
                "To indicate the license item status, the value is 'inactive'.";
            }
          }
          description
            "Type of license item status.";
        }
    
        typedef item-type {
          type enumeration {
            enum "resource" {
              value 0;
              description
                "The resource of license item.";
            }
            enum "function" {
              value 1;
              description
                "The function of license item.";
            }
          }
          description "Type of license item.";
        }
    
        typedef enable-status {
          type enumeration {
            enum "disable" {
              value 0;
              description "The disable status.";
            }
            enum "enable" {
              value 1;
              description "The enable status.";
            }
            enum "not-supported" {
              value 2;
              description
                "The not supported status.";
            }
          }
          description "Type of enable status.";
        }
    
        typedef mode-type {
          type enumeration {
            enum "common" {
              value 1;
              description "Common type.";
            }
            enum "cloud" {
              value 2;
              description "Cloud type.";
            }
          }
          description "Type of license mode.";
        }
    
        typedef register-state {
          type enumeration {
            enum "register" {
              value 1;
              description "Register state.";
            }
            enum "unregister" {
              value 2;
              description "Unregister state.";
            }
          }
          description "The register state.";
        }
    
        container license {
          description
            "Proof of permission granted.";
          container global-states {
            config false;
            description
              "List of the global license informations.";
            list global-state {
              key "chassis-id";
              config false;
              description
                "Operational state of the global license information.";
              leaf chassis-id {
                type string {
                  length "0..31";
                }
                config false;
                description
                  "The device ID of a license file.";
              }
    
              leaf active-filename {
                type string {
                  length "5..127";
                }
                config false;
                description
                  "The name of a license file.";
              }
    
              leaf active-state {
                type state-type;
                config false;
                description
                  "To indicate the license activating state of the system, the value can be 'normal' or 'default'.";
              }
    
              leaf startup-filename {
                type string {
                  length "5..127";
                }
                config false;
                description
                  "The name of the license file for the next startup.";
              }
    
              leaf revoke-ticket {
                type string {
                  length "1..135";
                }
                config false;
                description
                  "The revoket-ticket of a license file.";
              }
    
              leaf esn {
                type string {
                  length "1..2047";
                }
                config false;
                description "The License ESN.";
              }
    
              leaf license-mode {
                type mode-type;
                config false;
                description "License mode.";
              }
            }  // list global-state
          }  // container global-states
    
          container license-items {
            description
              "List of all license items.";
            list license-item {
              ext:operation-exclude "create";
              ext:generated-by "system";
              key "name";
              description
                "Configure license item.";
              leaf name {
                type string {
                  length "1..31";
                }
                description "License item name.";
              }
    
              leaf description {
                type string {
                  length "1..255";
                }
                config false;
                description
                  "The description of a license item.";
              }
    
              leaf default-value {
                type uint32;
                config false;
                description
                  "The default value of a license item.";
              }
    
              leaf maximum-value {
                type uint32;
                config false;
                description
                  "The maximum value of a license item.";
              }
    
              leaf current-value {
                type uint32;
                config false;
                description
                  "The current value of a license item.";
              }
    
              leaf used-value {
                type uint32;
                config false;
                description
                  "The usage value of a license item.";
              }
    
              leaf status {
                type item-status-type;
                config false;
                description
                  "The status of a license item.";
              }
    
              leaf expired-date {
                type string {
                  length "1..71";
                }
                config false;
                description
                  "The expired date of a license item.";
              }
    
              leaf type {
                type item-type;
                config false;
                description
                  "The type of a license item.";
              }
    
              leaf trial-state {
                type enable-status;
                config false;
                description
                  "Trial status of a control item.";
              }
    
              leaf trial-remain-day {
                type uint32;
                config false;
                description
                  "Remaining trial days of a license control item.";
              }
    
              leaf trial-remain-times {
                type uint32;
                config false;
                description
                  "Remaining trial times of a license control item.";
              }
    
              container port-hqoss {
                when
                  "../lcs:name='LCR5S40NHQS0P' or ../lcs:name='LCR5S40XHQS0P' or ../lcs:name='LCR5S40GHQS0P' or ../lcs:name='LCR5S40VHQS0P' or ../lcs:name='LCR5S40YHQS0P' or ../lcs:name='LTNRS69GHQS0P' or ../lcs:name='LTNRS69NHQS0P' or ../lcs:name='LTNRS69VHQS0P' or ../lcs:name='LTNRS69YHQS0P' or ../lcs:name='LTNRS69XHQS0P' or ../lcs:name='LCX6S00HQSN0P' or ../lcs:name='LCX6S00HQSX0P' or ../lcs:name='LCX6S00HQSV0P'";
                description
                  "List of configure port hqos license.";
                list port-hqos {
                  key "position";
                  description
                    "Configure port hqos license.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
    
                  leaf active-status {
                    type lcs-active-status-type;
                    config false;
                    description
                      "Activated State.";
                  }
                }  // list port-hqos
              }  // container port-hqoss
    
              container port-mode-channels {
                when
                  "(../lcs:name ='LCR5S0FCHAN91' or ../lcs:name ='LCR5S0FCHAN92' or ../lcs:name ='LCR5S0FCHAN93' or ../lcs:name ='LCR5S0FCHAN94' or ../lcs:name ='LCR5S03SUBC93' or ../lcs:name ='LCR5S03SUBC94' or ../lcs:name ='LCR5S03SUBC95' or ../lcs:name ='LCR5S03SUBC92' or ../lcs:name ='LCR5S42CHAN70' or ../lcs:name ='LCR5S42CHAN71' or ../lcs:name ='LCR5S42CHAN72' or ../lcs:name ='LCR5S42CHAN73' or ../lcs:name ='LCR5S42CHAN90' or ../lcs:name ='LCR5S42CHAN91' or ../lcs:name ='LCR5S42CHAN92' or ../lcs:name ='LCR5S42CHAN93' or ../lcs:name ='LCR5S40CHIN00' or ../lcs:name ='LCR5S40CHIN01' or ../lcs:name ='LCR5S40CHIN02' or ../lcs:name ='LCX6S40CHIN00' or ../lcs:name ='LCX6S40CHIN01' or ../lcs:name ='LCX6S40CHIN02' or ../lcs:name ='LTNRS69CHIN00' or ../lcs:name ='LTNRS69CHIN01' or ../lcs:name ='LTNRS69CHIN02' or ../lcs:name ='LCR9S9KXCSF80' or ../lcs:name ='LCR9S9KNCSF81' or ../lcs:name ='LCR9S9KNCSF80' or ../lcs:name ='LCR9S9KKCSF80' or ../lcs:name ='LCX6S00NCSFAP' or ../lcs:name ='LCX6S00XCSFAP')";
                description
                  "List of channelized sub-interface license information.";
                list port-mode-channel {
                  key "position";
                  description
                    "Configure channelized sub-interface license information.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
                }  // list port-mode-channel
              }  // container port-mode-channels
    
              container port-slicings {
                when
                  "(../lcs:name ='LCR8S00VSLIC0' or ../lcs:name ='LCR8S00XSLIC0' or ../lcs:name ='LCR8S00VSLIC3' or ../lcs:name ='LCR8S00XSLIC3' or ../lcs:name ='LCR8S00SLC0C2' or ../lcs:name ='LCR8S00SLC0C4' or ../lcs:name ='LCR8S00SLC0C2' or ../lcs:name ='LCR8S00SLC0C4' or ../lcs:name ='LCR8SF0SLC0C4' or ../lcs:name ='LCR8SF0SLC0C5' or ../lcs:name ='LTNRS00SLC0C2' or ../lcs:name ='LTNRS00SLC0C4' or ../lcs:name ='LTNRS00SLC0C2' or ../lcs:name ='LTNRS00SLC0C4' or ../lcs:name ='LCR5S00SLC0C2' or ../lcs:name ='LCR5S00SLC0C4')";
                description
                  "List of port slicing license information.";
                list port-slicing {
                  key "position";
                  description
                    "Configure port slicing license information.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
                }  // list port-slicing
              }  // container port-slicings
    
              container lcs-port-evpns {
                when
                  "../lcs:name='LCR5S40NEVN0P' or ../lcs:name='LCR9S9KNEVN0L' or ../lcs:name='LCR9S9KXEVN0L' or ../lcs:name='LCR5S40XEVN0P' or ../lcs:name='LCR9S9KNEVN0P' or ../lcs:name='LCR9S9KXEVN0P' or ../lcs:name='LCR5S5KNEVN0P' or ../lcs:name='LCR5S5KKEVN0P' or ../lcs:name='LCR5S5KXEVN0P' or ../lcs:name='LCX6S60NEVPAP' or ../lcs:name='LCX6S60XEVPAP' or ../lcs:name='LCR9S9KNEVN0Q' or ../lcs:name='LCR6S00NEVNAQ' or ../lcs:name='LCR5S40VEVN0P' or ../lcs:name='LCR5S40YEVN0P' or ../lcs:name='LCX6S00NEVN0P' or ../lcs:name='LCX6S00VEVN0P' or ../lcs:name='LCX6S00YEVN0P' or ../lcs:name='LTNRS69NEVN0P' or ../lcs:name='LTNRS69VEVN0P' or ../lcs:name='LTNRS69YEVN0P' or ../lcs:name='LCR8S00EVPNC2' or ../lcs:name='LCR8S00EVPNC4' or ../lcs:name='LCR8SF0EVPNC1' or ../lcs:name='LCR8SF0EVPNC4' or ../lcs:name='LCR5S00EVPNC2' or ../lcs:name='LCR5S00EVPNC4' or ../lcs:name='LTNRS00EVPNC2' or ../lcs:name='LTNRS00EVPNC4'";
                status deprecated;
                description
                  "List of evpn port license information.";
                list lcs-port-evpn {
                  key "position";
                  status deprecated;
                  description
                    "Configure evpn port license.";
                  leaf position {
                    type leafref {
                      path "/lcs:license/pic:lcs-ports/pic:port-basic/pic:position";
                    }
                    status deprecated;
                    description "Port position.";
                  }
                }  // list lcs-port-evpn
              }  // container lcs-port-evpns
    
              container lcs-port-vxlans {
                when
                  "../lcs:name='LCR5S40NXLA0P' or ../lcs:name='LCR5S40XLAN0P' or ../lcs:name='LCR5S40XLAV0P' or ../lcs:name='LCR5S40XLAY0P' or ../lcs:name='LCR5S40YXLA0P' or ../lcs:name='LCR5S40XLAX0P' or ../lcs:name='LCR5S40XXLA0P' or ../lcs:name='LCX6S00XLAN0P' or ../lcs:name='LCX6S00NXLA0P' or ../lcs:name='LCX6S00VXLA0P' or ../lcs:name='LCX6S00XLAY0P' or ../lcs:name='LCX6S00YXLA0P' or ../lcs:name='LCX6S00XLAX0P' or ../lcs:name='LCX6S00XXLA0P' or ../lcs:name='LTNRS69NXLA0P' or ../lcs:name='LTNRS69VXLA0P' or ../lcs:name='LTNRS69YXLA0P' or ../lcs:name='LTNRS69XXLA0P' or ../lcs:name='LCR9S9KNXLA0S' or ../lcs:name='LCR9S9KNXLA0Q' or ../lcs:name='LCR9S9KNXLA0R' or ../lcs:name='LCR9S9KNXLA0P' or ../lcs:name='LCR9S9KXXLAQ' or ../lcs:name='LCR9S9KXXLA0P'";
                status deprecated;
                description
                  "List of vxlan port license information.";
                list lcs-port-vxlan {
                  key "position";
                  status deprecated;
                  description
                    "Configure vxlan port license.";
                  leaf position {
                    type leafref {
                      path "/lcs:license/pic:lcs-ports/pic:port-basic/pic:position";
                    }
                    status deprecated;
                    description
                      "VXLAN port license interface position, the format is slotid/cardid/portid.";
                  }
                }  // list lcs-port-vxlan
              }  // container lcs-port-vxlans
    
              container port-l3vpns {
                when
                  "../lcs:name='LCR5S40NL3V0P' or ../lcs:name='LCR5S40XL3V0P' or ../lcs:name='LCR5S40GL3V0P' or ../lcs:name='LCX6S00NL3V0P' or ../lcs:name='LCX6S00XL3V0P' or ../lcs:name='LCX6S00GL3V0P' or ../lcs:name='LTNRS69NL3V0P' or ../lcs:name='LTNRS69XL3V0P' or ../lcs:name='LTNRS69GL3V0P' or ../lcs:name='LCR5S5KNL3V0P' or ../lcs:name='LCR5S5KXL3V0P' or ../lcs:name='LCR9S9KNL3V0P' or ../lcs:name='LCR9S9KXL3V0P' or ../lcs:name='LCX6S00NL3VAP' or ../lcs:name='LCX6S00XL3VAP' or ../lcs:name='LCR6S00NL3VAQ' or ../lcs:name='LCR9S9KNL3V0L' or ../lcs:name='LCR9S9KXL3V0L' or ../lcs:name='LCR5S40VL3V0P' or ../lcs:name='LCR5S40YL3V0P' or ../lcs:name='LCX6S00VL3V0P' or ../lcs:name='LCX6S00YL3V0P' or ../lcs:name='LTNRS00VL3V0P' or ../lcs:name='LTNRS00YL3V0P' or ../lcs:name='LCR9S9KNL3V0Q' or ../lcs:name='LCR8S00L3VPC2' or ../lcs:name='LCR8S00L3VPC4' or ../lcs:name='LCR8SF0L3VPC4' or ../lcs:name='LCR8SF0L3VPC1' or ../lcs:name='LTNRS00L3VPC2' or ../lcs:name='LTNRS00L3VPC4' or ../lcs:name='LCR5S00L3VPC2' or ../lcs:name='LCR5S00L3VPC4' or ../lcs:name='LCR8S0VL3VNC3' or ../lcs:name='LCR8S0XL3VNC3' or ../lcs:name='LCR8S0VL3VNC0' or ../lcs:name='LCR8S0XL3VNC0' or ../lcs:name='LCR5S5KKL3V0P'";
                description
                  "List of L3VPN port license.";
                list port-l3vpn {
                  key "position";
                  description
                    "Configure L3VPN port license.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
                }  // list port-l3vpn
              }  // container port-l3vpns
    
              container port-l3vpn-evpns {
                when
                  "../lcs:name='LCR5S03L3VP12' or ../lcs:name='LCR5S03L3VP13' or ../lcs:name='LCR5S03L3VP14' or ../lcs:name='LCR5S03L3VP15' or ../lcs:name='LCR6S62L3VP12' or ../lcs:name='LCR6S62L3VP13' or ../lcs:name='LCR6S62L3VP14' or ../lcs:name='LCR5S0M1L3V13' or ../lcs:name='LCX6S6M1L3V13'";
                description
                  "List of port license entries for the L3VPN and EVPN functions.";
                list port-l3vpn-evpn {
                  key "position";
                  description
                    "Configure a port license entry for the L3VPN and EVPN functions.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
                }  // list port-l3vpn-evpn
              }  // container port-l3vpn-evpns
    
              container port-service-enhances {
                when
                  "../lcs:name='LCR5S0M1SEN13' or ../lcs:name='LCX6S6M1SEN13' or ../lcs:name='LANNS0AVAND01' or ../lcs:name='LANNS0AVAND02' or ../lcs:name='LANNS0AVAND03' or ../lcs:name='LANNS0AVAND04' or ../lcs:name='LANHS00SADV50' or ../lcs:name='LANHS00SADV10'";
                description
                  "List of port license entries in the service enhance scenario.";
                list port-service-enhance {
                  key "position";
                  description
                    "Configure a port license entry in the service enhance scenario.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
                }  // list port-service-enhance
              }  // container port-service-enhances
    
              container port-aggregations {
                when
                  "../lcs:name='LCR5S03CRAG12' or ../lcs:name='LCR5S03CRAG13' or ../lcs:name='LCR5S03CRAG14' or ../lcs:name='LCR6S62CRAG12' or ../lcs:name='LCR6S62CRAG13' or ../lcs:name='LCR6S62CRAG14'";
                description
                  "List of port license entries in the aggregation scenario.";
                list port-aggregation {
                  key "position";
                  description
                    "Configure a port license entry in the aggregation scenario.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
                }  // list port-aggregation
              }  // container port-aggregations
    
              container port-core-aggregations {
                when
                  "../lcs:name='LCX6S60NPCAAP' or ../lcs:name='LCX6S60XPCAAP' or ../lcs:name='LCX6S60NPCAAQ' or ../lcs:name='LCR8S00CRAGC4' or ../lcs:name='LCR8S00CRAGC2' or ../lcs:name='LCR8SF0CRAGC4' or ../lcs:name='LCR8SF0CRAGC1' or ../lcs:name='LCR5S00CRAGC2' or ../lcs:name='LCR5S00CRAGC4' or ../lcs:name='LTNRS00CRAGC2' or ../lcs:name='LTNRS00CRAGC4'";
                description
                  "List of port license entries in the core and aggregation scenario.";
                list port-core-aggregation {
                  key "position";
                  description
                    "Configure a port license entry in the core and aggregation scenario.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
                }  // list port-core-aggregation
              }  // container port-core-aggregations
    
              container port-peerings {
                when
                  "../lcs:name='LCX6S60NPEEAP' or ../lcs:name='LCX6S60XPEEAP' or ../lcs:name='LCR5S03PEER12' or ../lcs:name='LCR5S03PEER13' or ../lcs:name='LCR5S03PEER14' or ../lcs:name='LCR6S62PEER12' or ../lcs:name='LCR6S62PEER13' or ../lcs:name='LCR6S62PEER14' or ../lcs:name='LCR8S0VCIGWC3' or ../lcs:name='LCR8S0XCIGWC3' or ../lcs:name='LCR8S0VCIGWC0' or ../lcs:name='LCR8S0XCIGWC0'";
                description
                  "List of port license entries in the peering scenario.";
                list port-peering {
                  key "position";
                  description
                    "Configure a port license entry in the peering scenario.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
                }  // list port-peering
              }  // container port-peerings
    
              container port-srv6s {
                when
                  "../lcs:name='LCR9S9KKSR680' or ../lcs:name='LCR9S9KNSR680' or ../lcs:name='LCR9S9KXSR680' or ../lcs:name='LCR9S9KNSR68L' or ../lcs:name='LCR9S9KXSR68L' or ../lcs:name='LANNS00SRV621' or ../lcs:name='LANNS00SRV622' or ../lcs:name='LANNS00SRV623' or ../lcs:name='LANNS00SRV624' or ../lcs:name='LANNS00SRV625' or ../lcs:name='LCR5S40SRV601' or ../lcs:name='LCR5S40SRV602' or ../lcs:name='LCR5S40SRV603' or ../lcs:name='LCR5S40SRV604' or ../lcs:name='LCX6S00SRV601' or ../lcs:name='LCX6S00SRV602' or ../lcs:name='LCX6S00SRV603' or ../lcs:name='LCX6S00SRV604' or ../lcs:name='LTNRS69SRV601' or ../lcs:name='LTNRS69SRV602' or ../lcs:name='LTNRS69SRV603' or ../lcs:name='LTNRS69SRV604' or ../lcs:name='LCR5S42SRV611' or ../lcs:name='LCR5S42SRV612' or ../lcs:name='LCR5S42SRV613' or ../lcs:name='LCR5S42SRV614' or ../lcs:name='LCR5S0M1SR613' or ../lcs:name='LCR8SF0SRV6C1' or ../lcs:name='LCR8SF0SRV6C4' or ../lcs:name='LCR8S00SRV6C2' or ../lcs:name='LCR8S00SRV6C4' or ../lcs:name='LTNRS00SRV6C2' or ../lcs:name='LTNRS00SRV6C4' or ../lcs:name='LCR5S00SRV6C2' or ../lcs:name='LCR5S00SRV6C4' or ../lcs:name='LCR8S0VSRV6C3' or ../lcs:name='LCR8S0XSRV6C3' or ../lcs:name='LCR8S0VSRV6C0' or ../lcs:name='LCR8S0XSRV6C0' or ../lcs:name='LANNS00SRV624' or ../lcs:name='LANNS00SRV622'";
                description
                  "List of port license entries in the SRv6.";
                list port-srv6 {
                  key "position";
                  description
                    "Configure a port license entry in the SRv6.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
                }  // list port-srv6
              }  // container port-srv6s
    
              container port-macsecs {
                when
                  "../lcs:name='LCR9S9KMACS00' or ../lcs:name='LCR5MACSEC01' or ../lcs:name='LCR5MACSEC02' or ../lcs:name='LCX6S60NMSEAP' or ../lcs:name='LANKMACSEC011' or ../lcs:name='LANKMACSEC026' or ../lcs:name='LANKMACSEC051' or ../lcs:name='LCR9S9K0XMS80' or ../lcs:name='LCR9S9K0NMS80' or ../lcs:name='LCR9S9K0NMS85' or ../lcs:name='LTNRS00YMSC0P' or ../lcs:name='LTNRS00VMSC0P' or ../lcs:name='LTNRS00NMSC0P' or ../lcs:name='LCR5S40YMSC0P' or ../lcs:name='LCR5S40VMSC0P' or ../lcs:name='LCR5S40NMSC0P' or ../lcs:name='LCX6S00YMSC0P' or ../lcs:name='LCX6S00VMSC0P' or ../lcs:name='LCX6S00NMSC0P' or ../lcs:name='LCR5S40XMSC0P' or ../lcs:name='LCX6S40YMSC0P' or ../lcs:name='LTNRS40YMSC0P' or ../lcs:name='LCX6S00VMSC01' or ../lcs:name='LCX6S00YMSC01' or ../lcs:name='LCR5SMACSEC05' or ../lcs:name='LCR5SMACSEC06' or ../lcs:name='LCR8SMACSECC2' or ../lcs:name='LCR8SMACSECC4' or ../lcs:name='LTNRSMACSECC4'or ../lcs:name='LTNRSMACSECC2' or ../lcs:name='LCR5SMACSECC2' or ../lcs:name='LCR5SMACSECC4' or ../lcs:name='LCX6S00NMSC01' or ../lcs:name='LCX6S00XMSC01' or ../lcs:name='LCX6S00GMSC01' or ../lcs:name='LTNRS00GMSC0P' or ../lcs:name='LCR5S40GMSC0P' or ../lcs:name='LCX6S40GMSC0P' or ../lcs:name='LCR8S8KXMSCCP' or ../lcs:name='LCR8S8KXMSCCR' or ../lcs:name='LCR8SM6MACSC1' or ../lcs:name='LCR8SM6MACSC0' or ../lcs:name='LCR8S8KXMSAAA' or ../lcs:name='LCR8S8KVMSCCR'";
                description
                  "List of port MACsec license information.";
                list port-macsec {
                  key "position";
                  description
                    "Configure port MACsec license.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description
                      "Port position. The name is expressed in the format of WdmslotID/cardID/portID. For example, Wdm1/0/1. Here Wdm1/0/1 is an example. The value may vary with devices.";
                  }
    
                  leaf active-status {
                    type lcs-active-status-type;
                    config false;
                    description
                      "Activated State.";
                  }
                }  // list port-macsec
              }  // container port-macsecs
            }  // list license-item
          }  // container license-items
    
          container license-sale-items {
            config false;
            description
              "List of all license saleitems.";
            list license-sale-item {
              key "name";
              config false;
              description
                "Operational state of license saleitem.";
              leaf name {
                type string {
                  length "1..31";
                }
                config false;
                description
                  "License saleitem name.";
              }
    
              leaf description {
                type string {
                  length "1..255";
                }
                config false;
                description
                  "The description of a license saleitem.";
              }
    
              leaf sale-value {
                type uint32;
                config false;
                description
                  "The sales value of a license saleitem.";
              }
    
              container sub-sale-items {
                config false;
                description
                  "List of all license sub saleitems.";
                list sub-sale-item {
                  key "name";
                  description
                    "Operational state of license sub saleitem.";
                  leaf name {
                    type string {
                      length "1..31";
                    }
                    description
                      "License sub saleitem name.";
                  }
    
                  leaf description {
                    type string {
                      length "1..255";
                    }
                    description
                      "The description of a license sub saleitem.";
                  }
    
                  leaf sale-value {
                    type uint32;
                    description
                      "The sales value of a license sub saleitem.";
                  }
    
                  container license-items {
                    description
                      "List of all license items.";
                    list license-item {
                      key "name";
                      description
                        "Operational state of license item.";
                      leaf name {
                        type string {
                          length "1..31";
                        }
                        description
                          "License item name.";
                      }
    
                      leaf description {
                        type string {
                          length "1..255";
                        }
                        description
                          "The description of a license item.";
                      }
    
                      leaf default-value {
                        type uint32;
                        description
                          "The default value of a license item.";
                      }
    
                      leaf maximum-value {
                        type uint32;
                        description
                          "The maximum value of a license item.";
                      }
    
                      leaf current-value {
                        type uint32;
                        description
                          "The current value of a license item.";
                      }
    
                      leaf used-value {
                        type uint32;
                        description
                          "The usage value of a license item.";
                      }
    
                      leaf status {
                        type item-status-type;
                        description
                          "The status of a license item.";
                      }
    
                      leaf expired-date {
                        type string {
                          length "1..71";
                        }
                        description
                          "The expired date of a license item.";
                      }
    
                      leaf type {
                        type item-type;
                        description
                          "The type of a license item.";
                      }
    
                      leaf trial-state {
                        type enable-status;
                        description
                          "Trial status of a control item.";
                      }
    
                      leaf trial-remain-day {
                        type uint32;
                        description
                          "Remaining trial days of a license control item.";
                      }
    
                      leaf trial-remain-times {
                        type uint32;
                        description
                          "Remaining trial times of a license control item.";
                      }
                    }  // list license-item
                  }  // container license-items
                }  // list sub-sale-item
              }  // container sub-sale-items
    
              container license-items {
                description
                  "List of all license items.";
                list license-item {
                  key "name";
                  description
                    "Operational state of license item.";
                  leaf name {
                    type string {
                      length "1..31";
                    }
                    description
                      "License item name.";
                  }
    
                  leaf description {
                    type string {
                      length "1..255";
                    }
                    config false;
                    description
                      "The description of a license item.";
                  }
    
                  leaf default-value {
                    type uint32;
                    config false;
                    description
                      "The default value of a license item.";
                  }
    
                  leaf maximum-value {
                    type uint32;
                    config false;
                    description
                      "The maximum value of a license item.";
                  }
    
                  leaf current-value {
                    type uint32;
                    config false;
                    description
                      "The current value of a license item.";
                  }
    
                  leaf used-value {
                    type uint32;
                    config false;
                    description
                      "The usage value of a license item.";
                  }
    
                  leaf status {
                    type item-status-type;
                    config false;
                    description
                      "The status of a license item.";
                  }
    
                  leaf expired-date {
                    type string {
                      length "1..71";
                    }
                    config false;
                    description
                      "The expired date of a license item.";
                  }
    
                  leaf type {
                    type item-type;
                    config false;
                    description
                      "The type of a license item.";
                  }
    
                  leaf trial-state {
                    type enable-status;
                    config false;
                    description
                      "Trial status of a control item.";
                  }
    
                  leaf trial-remain-day {
                    type uint32;
                    config false;
                    description
                      "Remaining trial days of a license control item.";
                  }
    
                  leaf trial-remain-times {
                    type uint32;
                    config false;
                    description
                      "Remaining trial times of a license control item.";
                  }
                }  // list license-item
              }  // container license-items
            }  // list license-sale-item
          }  // container license-sale-items
    
          container stack-sale-items {
            config false;
            description
              "List of all license sale items.";
            list stack-sale-item {
              key "chassis-id";
              config false;
              description
                "Operational state of license sale item.";
              leaf chassis-id {
                type string {
                  length "0..31";
                }
                config false;
                description
                  "The device ID of license sale item.";
              }
    
              container license-sale-items {
                config false;
                description
                  "List of all license saleitems.";
                list license-sale-item {
                  key "name";
                  config false;
                  description
                    "Operational state of license saleitem.";
                  leaf name {
                    type string {
                      length "1..31";
                    }
                    config false;
                    description
                      "License saleitem name.";
                  }
    
                  leaf description {
                    type string {
                      length "1..255";
                    }
                    config false;
                    description
                      "The description of a license saleitem.";
                  }
    
                  leaf sale-value {
                    type uint32;
                    config false;
                    description
                      "The sales value of a license saleitem.";
                  }
    
                  container license-items {
                    description
                      "List of all license items.";
                    list license-item {
                      key "name";
                      description
                        "Operational state of license item.";
                      leaf name {
                        type string {
                          length "1..31";
                        }
                        description
                          "License item name.";
                      }
    
                      leaf description {
                        type string {
                          length "1..255";
                        }
                        config false;
                        description
                          "The description of a license item.";
                      }
    
                      leaf default-value {
                        type uint32;
                        config false;
                        description
                          "The default value of a license item.";
                      }
    
                      leaf maximum-value {
                        type uint32;
                        config false;
                        description
                          "The maximum value of a license item.";
                      }
    
                      leaf current-value {
                        type uint32;
                        config false;
                        description
                          "The current value of a license item.";
                      }
    
                      leaf used-value {
                        type uint32;
                        config false;
                        description
                          "The usage value of a license item.";
                      }
    
                      leaf status {
                        type item-status-type;
                        config false;
                        description
                          "The status of a license item.";
                      }
    
                      leaf expired-date {
                        type string {
                          length "1..71";
                        }
                        config false;
                        description
                          "The expired date of a license item.";
                      }
    
                      leaf type {
                        type item-type;
                        config false;
                        description
                          "The type of a license item.";
                      }
    
                      leaf trial-state {
                        type enable-status;
                        config false;
                        description
                          "Trial status of a control item.";
                      }
    
                      leaf trial-remain-day {
                        type uint32;
                        config false;
                        description
                          "Remaining trial days of a license control item.";
                      }
    
                      leaf trial-remain-times {
                        type uint32;
                        config false;
                        description
                          "Remaining trial times of a license control item.";
                      }
                    }  // list license-item
                  }  // container license-items
                }  // list license-sale-item
              }  // container license-sale-items
            }  // list stack-sale-item
          }  // container stack-sale-items
    
          container spec-items {
            config false;
            description
              "List of all specific license items.";
            list spec-item {
              key "name";
              config false;
              description
                "Operational state of specific license item.";
              leaf name {
                type string {
                  length "0..63";
                }
                config false;
                description
                  "The name of a specific item.";
              }
    
              leaf description {
                type string {
                  length "0..127";
                }
                config false;
                description
                  "Description of the specification.";
              }
    
              leaf current-value {
                type uint32;
                config false;
                description
                  "The value of a specific item.";
              }
    
              leaf type {
                type spec-type;
                config false;
                description
                  "The type of a specific item.";
              }
    
              leaf default-value {
                type uint32;
                config false;
                description
                  "The specification default value.";
              }
    
              leaf minimum-value {
                type uint32;
                config false;
                description
                  "The specification minimum value.";
              }
    
              leaf maximum-value {
                type uint32;
                config false;
                description
                  "The specification maximum value.";
              }
            }  // list spec-item
          }  // container spec-items
    
          container license-files {
            config false;
            description
              "List of all information of a license file.";
            list license-file {
              key "chassis-id filename";
              config false;
              description
                "Operational state of the information of a license file.";
              leaf chassis-id {
                type string {
                  length "0..31";
                }
                config false;
                description
                  "The device ID of a license file.";
              }
    
              leaf filename {
                type string {
                  length "5..127";
                }
                config false;
                description
                  "The name of a license file.";
              }
    
              leaf filesize {
                type uint32;
                config false;
                description
                  "The size of a license file.";
              }
    
              container general {
                config false;
                description
                  "Operational state of the general information of a license file.";
                leaf serial-number {
                  type string {
                    length "0..63";
                  }
                  config false;
                  description
                    "The serial number of a license file.";
                }
    
                leaf creator {
                  type string {
                    length "0..63";
                  }
                  config false;
                  description
                    "The creator of a license file.";
                }
    
                leaf created-time {
                  type yang:date-and-time;
                  config false;
                  description
                    "The created time of a license file.";
                }
    
                leaf country {
                  type string {
                    length "0..63";
                  }
                  config false;
                  description
                    "The country information of a license file.";
                }
    
                leaf customer {
                  type string {
                    length "0..63";
                  }
                  config false;
                  description
                    "The customer information of a license file.";
                }
    
                leaf office {
                  type string {
                    length "0..63";
                  }
                  config false;
                  description
                    "The office information of a license file.";
                }
    
                leaf file-expired-date {
                  type pub-type:date;
                  description
                    "The expired date of a license file.";
                }
              }  // container general
    
              container features {
                config false;
                description
                  "List of all the feature information of a license file.";
                list feature {
                  key "name";
                  config false;
                  description
                    "Operational state of the feature information of a license file.";
                  leaf name {
                    type string {
                      length "0..63";
                    }
                    config false;
                    description
                      "The feature information name of a license file.";
                  }
    
                  leaf product {
                    type string {
                      length "0..63";
                    }
                    config false;
                    description
                      "The product information of a license file.";
                  }
    
                  leaf esn {
                    type string {
                      length "0..2055";
                    }
                    config false;
                    description
                      "The ESN of a license file.";
                  }
    
                  leaf auth-type {
                    type auth-type;
                    config false;
                    description
                      "The authorizing type of a license file.";
                  }
    
                  leaf running-deadline {
                    type pub-type:date;
                    config false;
                    description
                      "The running deadline of a license file.";
                  }
    
                  leaf trial-days {
                    type uint32;
                    config false;
                    description
                      "List of the trial days of a license file.";
                  }
    
                  leaf software-deadline {
                    type pub-type:date;
                    config false;
                    description
                      "The software deadline of a license file.";
                  }
    
                  leaf hardware-deadline {
                    type pub-type:date;
                    config false;
                    description
                      "The hardware deadline of a license file.";
                  }
    
                  leaf upgrate-deadline {
                    type pub-type:date;
                    config false;
                    description
                      "The upgrate deadline of a license file.";
                  }
    
                  container feature-items {
                    config false;
                    description
                      "List of all feature items of a license file.";
                    list feature-item {
                      key "name";
                      config false;
                      description
                        "Operational state of feature item of a license file.";
                      leaf name {
                        type string {
                          length "0..63";
                        }
                        config false;
                        description
                          "Feature item name of a license file.";
                      }
    
                      leaf value {
                        type uint32;
                        config false;
                        description
                          "Feature item value of a license file.";
                      }
                    }  // list feature-item
                  }  // container feature-items
                }  // list feature
              }  // container features
            }  // list license-file
          }  // container license-files
    
          container resource-usages {
            config false;
            description
              "List of all license resource usages.";
            list resource-usage {
              key "name";
              config false;
              description
                "Operational state of license resource usage.";
              leaf name {
                type string {
                  length "0..31";
                }
                config false;
                description
                  "The name of resource item.";
              }
    
              leaf usage {
                type uint32;
                config false;
                description
                  "The usage of resource item.";
              }
    
              leaf active-value {
                type uint32;
                config false;
                description
                  "The active value of resource item.";
              }
    
              container port-l3vpns {
                when
                  "../lcs:name='LCR5S40NL3V0P' or ../lcs:name='LCR5S40XL3V0P' or ../lcs:name='LCR5S40GL3V0P' or ../lcs:name='LCX6S00NL3V0P' or ../lcs:name='LCX6S00XL3V0P' or ../lcs:name='LCX6S00GL3V0P' or ../lcs:name='LTNRS69NL3V0P' or ../lcs:name='LTNRS69XL3V0P' or ../lcs:name='LTNRS69GL3V0P' or ../lcs:name='LCR5S5KNL3V0P' or ../lcs:name='LCR5S5KXL3V0P' or ../lcs:name='LCR9S9KNL3V0P' or ../lcs:name='LCR9S9KXL3V0P' or ../lcs:name='LCX6S00NL3VAP' or ../lcs:name='LCX6S00XL3VAP' or ../lcs:name='LCR6S00NL3VAQ' or ../lcs:name='LCR9S9KNL3V0L' or ../lcs:name='LCR9S9KXL3V0L' or ../lcs:name='LCR5S40VL3V0P' or ../lcs:name='LCR5S40YL3V0P' or ../lcs:name='LCX6S00VL3V0P' or ../lcs:name='LCX6S00YL3V0P' or ../lcs:name='LTNRS00VL3V0P' or ../lcs:name='LTNRS00YL3V0P' or ../lcs:name='LCR9S9KNL3V0Q' or ../lcs:name='LCR8S00L3VPC2' or ../lcs:name='LCR8S00L3VPC4' or ../lcs:name='LCR8SF0L3VPC4' or ../lcs:name='LCR8SF0L3VPC1' or ../lcs:name='LTNRS00L3VPC2' or ../lcs:name='LTNRS00L3VPC4' or ../lcs:name='LCR5S00L3VPC2' or ../lcs:name='LCR5S00L3VPC4' or ../lcs:name='LCR8S0VL3VNC3' or ../lcs:name='LCR8S0XL3VNC3' or ../lcs:name='LCR8S0VL3VNC0' or ../lcs:name='LCR8S0XL3VNC0' or ../lcs:name='LCR5S5KKL3V0P'";
                config false;
                description
                  "List of L3VPN port license resource usage.";
                list port-l3vpn {
                  key "position";
                  description
                    "Statistics of L3VPN port license resource usage for specified position.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
    
                  leaf active-status {
                    type lcs-act-status-type;
                    description
                      "Activated State.";
                  }
                }  // list port-l3vpn
              }  // container port-l3vpns
    
              container port-l3vpn-evpns {
                when
                  "../lcs:name='LCR5S03L3VP12' or ../lcs:name='LCR5S03L3VP13' or ../lcs:name='LCR5S03L3VP14' or ../lcs:name='LCR5S03L3VP15' or ../lcs:name='LCR6S62L3VP12' or ../lcs:name='LCR6S62L3VP13' or ../lcs:name='LCR6S62L3VP14' or ../lcs:name='LCR5S0M1L3V13' or ../lcs:name='LCX6S6M1L3V13'";
                config false;
                description
                  "List of port license resource usage for the L3VPN and EVPN functions.";
                list port-l3vpn-evpn {
                  key "position";
                  description
                    "Statistics of port license resource usage for the L3VPN and EVPN functions.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
    
                  leaf active-status {
                    type lcs-act-status-type;
                    description
                      "Activated State.";
                  }
                }  // list port-l3vpn-evpn
              }  // container port-l3vpn-evpns
    
              container port-service-enhances {
                when
                  "../lcs:name='LCR5S0M1SEN13' or ../lcs:name='LCX6S6M1SEN13' or ../lcs:name='LANNS0AVAND01' or ../lcs:name='LANNS0AVAND02' or ../lcs:name='LANNS0AVAND03' or ../lcs:name='LANNS0AVAND04' or ../lcs:name='LANHS00SADV50' or ../lcs:name='LANHS00SADV10'";
                config false;
                description
                  "List of port license resource usage in the service enhance scenario.";
                list port-service-enhance {
                  key "position";
                  description
                    "Statistics of port license resource usage in the service enhance scenario.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
    
                  leaf active-status {
                    type lcs-act-status-type;
                    description
                      "Activated State.";
                  }
                }  // list port-service-enhance
              }  // container port-service-enhances
    
              container port-aggregations {
                when
                  "../lcs:name='LCR5S03CRAG12' or ../lcs:name='LCR5S03CRAG13' or ../lcs:name='LCR5S03CRAG14' or ../lcs:name='LCR6S62CRAG12' or ../lcs:name='LCR6S62CRAG13' or ../lcs:name='LCR6S62CRAG14'";
                config false;
                description
                  "List of port license resource usage in the aggregation scenario.";
                list port-aggregation {
                  key "position";
                  description
                    "Statistics of port license resource usage in the aggregation scenario.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
    
                  leaf active-status {
                    type lcs-act-status-type;
                    description
                      "Activated State.";
                  }
                }  // list port-aggregation
              }  // container port-aggregations
    
              container port-core-aggregations {
                when
                  "../lcs:name='LCX6S60NPCAAP' or ../lcs:name='LCX6S60XPCAAP' or ../lcs:name='LCX6S60NPCAAQ' or ../lcs:name='LCR8S00CRAGC4' or ../lcs:name='LCR8S00CRAGC2' or ../lcs:name='LCR8SF0CRAGC4' or ../lcs:name='LCR8SF0CRAGC1' or ../lcs:name='LCR5S00CRAGC2' or ../lcs:name='LCR5S00CRAGC4' or ../lcs:name='LTNRS00CRAGC2' or ../lcs:name='LTNRS00CRAGC4'";
                config false;
                description
                  "List of port license resource usage in the core and aggregation scenario.";
                list port-core-aggregation {
                  key "position";
                  description
                    "Statistics of port license resource usage in the core and aggregation scenario.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
    
                  leaf active-status {
                    type lcs-act-status-type;
                    description
                      "Activated State.";
                  }
                }  // list port-core-aggregation
              }  // container port-core-aggregations
    
              container port-peerings {
                when
                  "../lcs:name='LCX6S60NPEEAP' or ../lcs:name='LCX6S60XPEEAP' or ../lcs:name='LCR5S03PEER12' or ../lcs:name='LCR5S03PEER13' or ../lcs:name='LCR5S03PEER14' or ../lcs:name='LCR6S62PEER12' or ../lcs:name='LCR6S62PEER13' or ../lcs:name='LCR6S62PEER14' or ../lcs:name='LCR8S0VCIGWC3' or ../lcs:name='LCR8S0XCIGWC3' or ../lcs:name='LCR8S0VCIGWC0' or ../lcs:name='LCR8S0XCIGWC0'";
                config false;
                description
                  "List of port license resource usage in the peering scenario.";
                list port-peering {
                  key "position";
                  description
                    "Statistics of L3VPN port license resource usage for specified position.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
    
                  leaf active-status {
                    type lcs-act-status-type;
                    description
                      "Activated State.";
                  }
                }  // list port-peering
              }  // container port-peerings
    
              container port-srv6s {
                when
                  "../lcs:name='LCR9S9KKSR680' or ../lcs:name='LCR9S9KNSR680' or ../lcs:name='LCR9S9KXSR680' or ../lcs:name='LCR9S9KNSR68L' or ../lcs:name='LCR9S9KXSR68L' or ../lcs:name='LANNS00SRV621' or ../lcs:name='LANNS00SRV622' or ../lcs:name='LANNS00SRV623' or ../lcs:name='LANNS00SRV624' or ../lcs:name='LANNS00SRV625' or ../lcs:name='LCR5S40SRV601' or ../lcs:name='LCR5S40SRV602' or ../lcs:name='LCR5S40SRV603' or ../lcs:name='LCR5S40SRV604' or ../lcs:name='LCX6S00SRV601' or ../lcs:name='LCX6S00SRV602' or ../lcs:name='LCX6S00SRV603' or ../lcs:name='LCX6S00SRV604' or ../lcs:name='LTNRS69SRV601' or ../lcs:name='LTNRS69SRV602' or ../lcs:name='LTNRS69SRV603' or ../lcs:name='LTNRS69SRV604' or ../lcs:name='LCR5S42SRV611' or ../lcs:name='LCR5S42SRV612' or ../lcs:name='LCR5S42SRV613' or ../lcs:name='LCR5S42SRV614' or ../lcs:name='LCR5S0M1SR613' or ../lcs:name='LCR8SF0SRV6C1' or ../lcs:name='LCR8SF0SRV6C4' or ../lcs:name='LCR8S00SRV6C2' or ../lcs:name='LCR8S00SRV6C4' or ../lcs:name='LTNRS00SRV6C2' or ../lcs:name='LTNRS00SRV6C4' or ../lcs:name='LCR5S00SRV6C2' or ../lcs:name='LCR5S00SRV6C4' or ../lcs:name='LCR8S0VSRV6C3' or ../lcs:name='LCR8S0XSRV6C3' or ../lcs:name='LCR8S0VSRV6C0' or ../lcs:name='LCR8S0XSRV6C0' or ../lcs:name='LANNS00SRV624' or ../lcs:name='LANNS00SRV622'";
                config false;
                description
                  "List of port license resource usage in the SRv6.";
                list port-srv6 {
                  key "position";
                  description
                    "Statistics of port license resource usage for specified position in the SRv6.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description "Port position.";
                  }
    
                  leaf active-status {
                    type lcs-act-status-type;
                    description
                      "Activated State.";
                  }
                }  // list port-srv6
              }  // container port-srv6s
            }  // list resource-usage
          }  // container resource-usages
    
          container resource-thresholds {
            config false;
            description
              "List of license resource usage thresholds.";
            list resource-threshold {
              key "name";
              config false;
              description
                "Operational state of license resource usage threshold.";
              leaf name {
                type string {
                  length "0..31";
                }
                config false;
                description
                  "Name of a license resource control item.";
              }
    
              leaf threshold {
                type uint32 {
                  range "50..95";
                }
                config false;
                description
                  "Usage threshold of a license control resource item.";
              }
    
              leaf configurable-switch {
                type uint32 {
                  range "0..1";
                }
                default "0";
                config false;
                description
                  "Configurable flag of a license resource item.";
              }
    
              leaf description {
                type string {
                  length "0..255";
                }
                config false;
                description
                  "Description of a license resource control item.";
              }
            }  // list resource-threshold
          }  // container resource-thresholds
    
          container cloud-servers {
            status deprecated;
            description
              "List of cloud license servers. The node /lcs:license/lcs:cloud-servers/lcs:cloud-server is deprecated. You are advised to use the node /lcs:license/lcs:cloud-server2s/lcs:cloud-server2.";
            list cloud-server {
              key "server-ip server-port";
              max-elements 1;
              status deprecated;
              description
                "Configure cloud license server.";
              leaf server-ip {
                type inet:ipv4-address-no-zone;
                status deprecated;
                description
                  "The IP address of cloud license server.";
              }
    
              leaf server-port {
                type uint32 {
                  range "1..65535";
                }
                status deprecated;
                description
                  "The port of cloud license server.";
              }
    
              leaf register-state {
                type register-state;
                config false;
                status deprecated;
                description
                  "The register state with cloud license server.";
              }
    
              leaf policy-name {
                type string {
                  length "1..255";
                }
                config false;
                status deprecated;
                description "The policy name.";
              }
            }  // list cloud-server
          }  // container cloud-servers
    
          container cloud-server2s {
            description
              "List of cloud license servers.";
            list cloud-server2 {
              key "server-name";
              max-elements 1;
              description
                "Configure cloud license server.";
              leaf server-name {
                type string {
                  length "5..127";
                }
                description
                  "Name of the cloud license server.";
              }
    
              leaf server-ip {
                type inet:ipv4-address-no-zone;
                mandatory true;
                description
                  "The IP address of cloud license server.";
              }
    
              leaf server-port {
                type uint32 {
                  range "1..65535";
                }
                mandatory true;
                description
                  "The port of cloud license server.";
              }
    
              leaf register-state {
                type register-state;
                config false;
                description
                  "The register state with cloud license server.";
              }
    
              leaf policy-name {
                type string {
                  length "1..255";
                }
                config false;
                description "The policy name.";
              }
            }  // list cloud-server2
          }  // container cloud-server2s
    
          container support-sparts {
            config false;
            description
              "List of cloud license support sparts.";
            list support-spart {
              key "spart-name";
              description
                "Statistics of cloud license support sparts.";
              leaf spart-name {
                type string {
                  length "1..32";
                }
                description
                  "License spart name.";
              }
            }  // list support-spart
          }  // container support-sparts
    
          container active-nat-sessions {
            description
              "List of active-nat-session-table-size for CGN board.";
            list active-nat-session {
              key "slot engine card";
              description
                "Configure active-nat-session-table-size for CGN board.";
              leaf slot {
                type string {
                  length "1..16";
                }
                description "Slot ID.";
              }
    
              leaf engine {
                type engine-id;
                must
                  "((../engine='NA') and (../card='NA')) or ((../engine='NA') and (not(../card='NA'))) or ((not(../engine='NA')) and (../card='NA'))";
                description
                  "The value is NA when the service is based on slot or card.";
              }
    
              leaf card {
                type card-id;
                must
                  "((../engine='NA') and (../card='NA')) or ((../engine='NA') and (not(../card='NA'))) or ((not(../engine='NA')) and (../card='NA'))";
                description
                  "The value is NA when the service is based on slot or engine.";
              }
    
              leaf session-number {
                type uint32 {
                  range "1..32";
                }
                must
                  "((../session-number) mod 2 = 0) and (not(../engine='NA' and ../card='NA'))";
                mandatory true;
                description
                  "The size of nat session table must be a multiple of 2, units: M sessions.";
              }
            }  // list active-nat-session
          }  // container active-nat-sessions
    
          container session-capacitys {
            config false;
            description
              "Operational state of session-table info.";
            leaf total-size {
              type uint16;
              description
                "Total session size, units: M sessions.";
            }
    
            leaf used-size {
              type uint16;
              description
                "Used session size, units: M sessions.";
            }
    
            leaf free-size {
              type uint16;
              description
                "Free session size, units: M sessions.";
            }
          }  // container session-capacitys
    
          container active-bandwidths {
            description
              "List of active bandwidth for CGN board.";
            list active-bandwidth {
              key "slot engine card";
              description
                "Configure active-bandwidth for CGN board.";
              leaf slot {
                type string {
                  length "1..16";
                }
                description "Slot ID.";
              }
    
              leaf engine {
                type engine-id;
                must
                  "((../engine='NA') and (../card='NA')) or ((../engine='NA') and (not(../card='NA'))) or ((not(../engine='NA')) and (../card='NA'))";
                description
                  "The value is NA when the service is based on slot or card.";
              }
    
              leaf card {
                type card-id;
                must
                  "((../engine='NA') and (../card='NA')) or ((../engine='NA') and (not(../card='NA'))) or ((not(../engine='NA')) and (../card='NA'))";
                description
                  "The value is NA when the service is based on slot or engine.";
              }
    
              leaf bandwidth-value {
                when
                  "(../engine='NA') and (../card='NA')";
                type uint16 {
                  range "20..400";
                }
                units "Gbit/s";
                mandatory true;
                description
                  "The bandwidth value of a VSUI-400 series board must be an integer multiple of 20, the bandwidth value of a VSUP-100 series board must be an integer multiple of 10.";
              }
            }  // list active-bandwidth
          }  // container active-bandwidths
    
          container bandwidth-capacitys {
            config false;
            description
              "List of bandwidth capacity.";
            list bandwidth-capacity {
              key "license-type";
              description
                "Statistics of bandwidth capacity.";
              leaf license-type {
                type license-type;
                description "CGN license type.";
              }
    
              leaf total-size {
                type uint32;
                description
                  "Total basic bandwidth and license bandwidth of all boards on a device.";
              }
    
              leaf total-license-size {
                type uint32;
                description
                  "Total license bandwidth.";
              }
    
              leaf used-license-size {
                type uint32;
                description
                  "Used license bandwidth.";
              }
    
              leaf free-license-size {
                type uint32;
                description
                  "Remaining license bandwidth.";
              }
    
              container verbose-infos {
                description
                  "List of bandwidth verbose info.";
                list verbose-info {
                  key "slot engine card";
                  description
                    "Operational state of bandwidth.";
                  leaf slot {
                    type string {
                      length "1..16";
                    }
                    description "Slot ID.";
                  }
    
                  leaf engine {
                    type engine-id;
                    description
                      "The value is NA when the service is based on slot or card.";
                  }
    
                  leaf card {
                    type card-id;
                    description
                      "The value is NA when the service is based on slot or engine.";
                  }
    
                  leaf basic-bandwidth {
                    type uint32;
                    units "GB";
                    description
                      "Basic bandwidth.";
                  }
    
                  leaf config-bandwidth {
                    type uint32;
                    units "GB";
                    description
                      "Configured enhanced bandwidth.";
                  }
    
                  leaf total-bandwidth {
                    type uint32;
                    units "GB";
                    description
                      "Total bandwidth.";
                  }
    
                  leaf valid-flag {
                    type valid-flag;
                    description
                      "Whether the bandwidth configuration is valid on the board.";
                  }
    
                  leaf barcode {
                    type string {
                      length "1..32";
                    }
                    description
                      "Barcode of device, presence when in cloud mode.";
                  }
    
                  leaf active-value {
                    type uint32;
                    units "GB";
                    description
                      "Active value of bandwidth, presence when in cloud mode.";
                  }
    
                  leaf usage-value {
                    type uint32;
                    units "GB";
                    description
                      "Usage value of bandwidth, presence when in cloud mode.";
                  }
                }  // list verbose-info
              }  // container verbose-infos
            }  // list bandwidth-capacity
          }  // container bandwidth-capacitys
    
          container lcs-boards {
            description
              "List of license information about all boards capacity improvement.";
            list lcs-board {
              key "position capacity";
              description
                "Configure license information about a board capacity improvement.";
              leaf position {
                type string {
                  length "1..32";
                }
                description
                  "Position which the license for the capacity improvement feature is activated. The position is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices.";
              }
    
              leaf capacity {
                type lcs-improve-capacity-type;
                units "bit/s";
                description
                  "Capacity. The capacity is related to a specific board.";
              }
            }  // list lcs-board
          }  // container lcs-boards
    
          container lcs-usage-board-capacitys {
            config false;
            description
              "List of capacity improvement license usage information.";
            list lcs-usage-board-capacity {
              key "feature-name";
              description
                "Statistics of capacity improvement license usage information.";
              leaf feature-name {
                type string {
                  length "1..31";
                }
                description
                  "Name of the control item corresponding to the board license.";
              }
    
              leaf feature-description {
                type string {
                  length "1..255";
                }
                description
                  "Description of the control item corresponding to the board license.";
              }
    
              leaf offline {
                type uint32;
                description
                  "Number of offline resources to be activated.";
              }
    
              leaf allocated {
                type uint32;
                description
                  "Number of allocated resources to be activated.";
              }
    
              leaf activated {
                type uint32;
                description
                  "Number of activated resources.";
              }
    
              leaf available {
                type uint32;
                description
                  "Number of remaining available resources.";
              }
    
              leaf total {
                type uint32;
                description
                  "Total number of resources.";
              }
    
              container boards {
                description
                  "List of capacity improvement license usage information on all boards.";
                list board {
                  key "position";
                  description
                    "Statistics of capacity improvement license usage information on a board.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description
                      "Position which the license for the capacity improvement feature is activated. The position is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices.";
                  }
    
                  leaf needed {
                    type uint32;
                    description
                      "Number of needed resources.";
                  }
    
                  leaf used {
                    type uint32;
                    description
                      "Number of used resources.";
                  }
    
                  leaf active-status {
                    type lcs-active-status-type;
                    description
                      "License status.";
                  }
                }  // list board
              }  // container boards
            }  // list lcs-usage-board-capacity
          }  // container lcs-usage-board-capacitys
    
          container lcs-ports {
            description
              "List of all Port basic License Information.";
            list port-basic {
              key "position";
              description
                "Configure Port basic License Information.";
              leaf position {
                type string {
                  length "1..32";
                }
                description
                  "Port position. The position is expressed in the format of slotID/cardID/portID. For example, 1/0/1. Here 1/0/1 is an example. The value may vary with devices.";
              }
    
              leaf port-band {
                type enumeration {
                  enum "200G" {
                    value 1;
                    description
                      "Upgrade to 200G.";
                  }
                  enum "400G" {
                    value 2;
                    description
                      "Upgrade to 400G.";
                  }
                }
                description
                  "Port Bandwidth Type.";
              }
    
              leaf active-status {
                type lcs-active-status-type;
                config false;
                description "Activated State.";
              }
            }  // list port-basic
          }  // container lcs-ports
    
          container upgrade-ports {
            description
              "List of all UPGRADE License Information.";
            list port-upgrade {
              key "position";
              description
                "Configure UPGRADE License Information.";
              leaf position {
                type string {
                  length "1..32";
                }
                description
                  "Position. The position is expressed in the format of slotID/cardID/portID. For example, 1/0/1. Here 1/0/1 is an example. The value may vary with devices.";
              }
    
              leaf active-status {
                type lcs-active-status-type;
                config false;
                description "Activated State.";
              }
            }  // list port-upgrade
          }  // container upgrade-ports
    
          container flexe-ports {
            description
              "List of all FlexE License Information.";
            list port-flexe {
              key "position";
              description
                "Configure FlexE License Information.";
              leaf position {
                type string {
                  length "1..32";
                }
                description
                  "Position. The position is expressed in the format of slotID/cardID/portID. For example, 1/0/1. Here 1/0/1 is an example. The value may vary with devices.";
              }
    
              leaf active-status {
                type lcs-active-status-type;
                config false;
                description "Activated State.";
              }
            }  // list port-flexe
          }  // container flexe-ports
    
          container expand-ports {
            description
              "List of all Port Bandwidth Expansion License Information.";
            list port-expand {
              key "position";
              description
                "Configure Port Bandwidth Expansion License Information.";
              leaf position {
                type string {
                  length "1..32";
                }
                description
                  "Port position. The position is expressed in the format of slotID/cardID/portID. For example, 1/0/1. Here 1/0/1 is an example. The value may vary with devices.";
              }
    
              leaf active-count {
                type uint32 {
                  range "1..2";
                }
                mandatory true;
                description
                  "Resources Configured.";
              }
    
              leaf used-count {
                type uint32;
                config false;
                description "Resources Used.";
              }
    
              leaf active-status {
                type lcs-active-status-type;
                config false;
                description "Activated State.";
              }
            }  // list port-expand
          }  // container expand-ports
    
          container rtus {
            description
              "List of all RTU License Information.";
            list rtu {
              key "position";
              description
                "Configure RTU License Information.";
              leaf position {
                type string {
                  length "1..32";
                }
                description
                  "Position. The position is expressed in the format of slotID. For example, 1. Here 1 is an example. The value may vary with devices.";
              }
    
              leaf active-status {
                type lcs-active-status-type;
                config false;
                description "Activated State.";
              }
            }  // list rtu
          }  // container rtus
    
          container rtu-extends {
            config false;
            description
              "List of RTU extended information in cloud mode.";
            list rtu-extend {
              key "feature-name";
              description
                "Statistics of RTU extended information in cloud mode.";
              leaf feature-name {
                type string {
                  length "1..32";
                }
                description
                  "Name of the control item corresponding to the port RTU.";
              }
    
              container feature-infos {
                description
                  "List of RTU extended information in cloud mode of each feature name.";
                list feature-info {
                  key "barcode";
                  description
                    "Statistics of RTU extended information in cloud mode of each feature name.";
                  leaf barcode {
                    type string {
                      length "1..32";
                    }
                    description
                      "Bar code in the electronic label of a board.";
                  }
    
                  leaf allocated-count {
                    type uint32;
                    description
                      "Number of allocated resources to be activated.";
                  }
    
                  leaf activated-count {
                    type uint32;
                    description
                      "Number of activated resources.";
                  }
    
                  leaf available-count {
                    type uint32;
                    description
                      "Number of remaining available resources.";
                  }
    
                  leaf total-count {
                    type uint32;
                    description
                      "Total number of resources.";
                  }
    
                  container ports {
                    description
                      "List of port activation information.";
                    list port {
                      key "position";
                      description
                        "Statistics of port activation information.";
                      leaf position {
                        type string {
                          length "1..32";
                        }
                        description
                          "Physical location information.";
                      }
    
                      leaf needed-count {
                        type uint32;
                        description
                          "Number of needed resources.";
                      }
    
                      leaf used-count {
                        type uint32;
                        description
                          "Number of used resources.";
                      }
    
                      leaf active-status {
                        type ext-lcs-active-status-type;
                        config false;
                        description
                          "License status.";
                      }
                    }  // list port
                  }  // container ports
                }  // list feature-info
              }  // container feature-infos
            }  // list rtu-extend
          }  // container rtu-extends
    
          container lcs-port-evpns {
            description
              "List of evpn port license information.";
            list lcs-port-evpn {
              key "position";
              description
                "Configure evpn port license.";
              leaf position {
                type leafref {
                  path "/lcs:license/pic:lcs-ports/pic:port-basic/pic:position";
                }
                description "Port position.";
              }
    
              leaf active-status {
                type lcs-active-status-type;
                config false;
                description "Activated state.";
              }
            }  // list lcs-port-evpn
          }  // container lcs-port-evpns
    
          container lcs-port-vxlans {
            description
              "List of vxlan port license information.";
            list lcs-port-vxlan {
              key "position";
              description
                "Configure vxlan port license.";
              leaf position {
                type leafref {
                  path "/lcs:license/pic:lcs-ports/pic:port-basic/pic:position";
                }
                description
                  "VXLAN port license interface position, the format is slotid/cardid/portid.";
              }
    
              leaf active-status {
                type lcs-active-status-type;
                config false;
                description "Activated state.";
              }
            }  // list lcs-port-vxlan
          }  // container lcs-port-vxlans
    
          container vm-bandwidths {
            description
              "List of configuration to set the bandwidth or set no rate limit for a VM.";
            list vm-bandwidth {
              ext:generated-by "system" {
                description "The all instances are generated automatically.";
              }
              ext:operation-exclude "create" {
                description "The all instances cannot be created.";
              }
              ext:operation-exclude "update" {
                when "not(/lcs:license/lcs:license-items/lcs:license-item[lcs:name='VR9K00BW0'])";
                description "The all instances cannot be updated when license-item 'VR9K00BW0' does not exist.";
              }
              key "vnfc-name slot-id";
              description
                "Configure the bandwidth or configure no rate limit for a VM.";
              leaf vnfc-name {
                type leafref {
                  path "/devm-vnf:devm-vnf/devm-vnf:vnf-boards/devm-vnf:vnf-board/devm-vnf:vnfc-name";
                }
                must "../vnfc-name = 'brasnls'";
                description
                  "Virtualized network function component (VNFC) name.";
              }
    
              leaf slot-id {
                type leafref {
                  path "/devm-vnf:devm-vnf/devm-vnf:vnf-boards/devm-vnf:vnf-board[devm-vnf:vnfc-name=current()/../vnfc-name]/devm-vnf:id";
                }
                description "Slot ID.";
              }
    
              leaf is-bandwidth-limited {
                type limit-type;
                default "limited";
                description
                  "Is bandwidth limited.";
              }
    
              leaf bandwidth {
                when
                  "../is-bandwidth-limited='limited'";
                type uint32 {
                  range "0..1000000";
                }
                units "Mbit/s";
                default "1";
                description "Bandwidth.";
              }
    
              leaf current-bandwidth {
                type uint32;
                units "Mbit/s";
                config false;
                description "Current Bandwidth.";
              }
            }  // list vm-bandwidth
          }  // container vm-bandwidths
    
          container lcs-network-slices {
            description
              "List of license information about all boards network-slice resources.";
            list lcs-network-slice {
              key "slot-id license-type";
              description
                "Configure license information about a board to active network-slice resources.";
              leaf slot-id {
                type leafref {
                  path "/devm:devm/devm:lpu-boards/devm:lpu-board/devm:position";
                }
                description
                  "Indicates the slot ID of a board.";
              }
    
              leaf license-type {
                type lcs-slice-rtu-type;
                description
                  "Network slice license type.";
              }
    
              leaf resource-size {
                type uint32 {
                  range "1..65535";
                }
                mandatory true;
                description
                  "The number of network-slice resources is related to a specific board.";
              }
            }  // list lcs-network-slice
          }  // container lcs-network-slices
    
          container lcs-usage-slice-items {
            config false;
            description
              "List of network slice license resource usage information.";
            list lcs-usage-slice-item {
              key "feature-name";
              description
                "Statistics of network slice license resource usage information.";
              leaf feature-name {
                type string {
                  length "1..31";
                }
                description
                  "Name of the control item corresponding to the network license.";
              }
    
              leaf feature-description {
                type string {
                  length "1..255";
                }
                description
                  "Description of the control item corresponding to the network license.";
              }
    
              leaf activated-total {
                type uint32;
                description
                  "Number of activated resources.";
              }
    
              leaf available-total {
                type uint32;
                description
                  "Number of remaining available resources.";
              }
    
              leaf total {
                type uint32;
                description
                  "Total number of resources.";
              }
    
              container lcs-info-boards {
                description
                  "List of board network slice license information.";
                list lcs-info-board {
                  key "position";
                  description
                    "Statistics of network slice license usage information on a board.";
                  leaf position {
                    type string {
                      length "1..32";
                    }
                    description
                      "Board position.";
                  }
    
                  leaf barcode {
                    type string {
                      length "1..128";
                    }
                    description
                      "Bar code in the electronic label of a board.";
                  }
    
                  leaf usage-on-board {
                    type uint32;
                    description
                      "Number of used resources on a board.";
                  }
    
                  leaf available-on-board {
                    type uint32;
                    description
                      "Number of remaining available resources on a board.";
                  }
    
                  leaf activated-on-board {
                    type uint32;
                    description
                      "Total number of resources on a board.";
                  }
                }  // list lcs-info-board
              }  // container lcs-info-boards
            }  // list lcs-usage-slice-item
          }  // container lcs-usage-slice-items
        }  // container license
    
        rpc license-active {
          description
            "To active a license file.";
          input {
            leaf filename {
              type string {
                length "5..127";
              }
              description
                "The name of a license file.";
            }
          }
        }  // rpc license-active
    
        rpc license-startup {
          description
            "To set the license file for the next startup.";
          input {
            leaf filename {
              type string {
                length "5..127";
              }
              mandatory true;
              description
                "The name of the license file for the next startup.";
            }
          }
        }  // rpc license-startup
    
        rpc license-revoke {
          description
            "To revoke a license file.";
        }  // rpc license-revoke
    
        rpc license-verify {
          ext:node-ref "/lcs";
          description
            "To verify a license file.";
          input {
            leaf filename {
              type string {
                length "5..127";
              }
              description
                "The name of a license file.";
            }
          }
        }  // rpc license-verify
    
        rpc license-revoke-chassis {
          description
            "To revoke a license file by device ID.";
          input {
            leaf chassis-id {
              type string {
                length "1..31";
              }
              description
                "The device ID of revoke license action.";
            }
          }
        }  // rpc license-revoke-chassis
    
        rpc license-delete {
          description
            "To delete a license file in $_license.";
          input {
            leaf filename {
              type string {
                length "1..127";
              }
              description
                "The name of a license file.";
            }
          }
        }  // rpc license-delete
    
        rpc license-trial {
          description
            "Enable or disable the trial of a specific control item.";
          input {
            leaf trial-switch {
              type boolean;
              mandatory true;
              description
                "Whether to enable or disable the trial function of a control item.";
            }
          }
        }  // rpc license-trial
    
        rpc license-export {
          description
            "Export the license to a file.";
          input {
            leaf filename {
              type string {
                length "5..127";
              }
              description
                "The file name of exporting license.";
            }
          }
        }  // rpc license-export
    
        rpc startup-paf {
          description
            "Configure an existing PAF file as the startup PAF file.";
          input {
            leaf filename {
              type string {
                length "5..48";
              }
              mandatory true;
              description "Name of a PAF file.";
            }
          }
        }  // rpc startup-paf
    
        rpc license-emergency {
          description
            "To activate license emergency mode.";
        }  // rpc license-emergency
    
        rpc license-assign {
          description "Assign cloud license.";
          input {
            leaf item-name {
              type string {
                length "1..31";
              }
              description "License item.";
            }
    
            leaf item-num {
              type uint32;
              description "License number.";
            }
          }
        }  // rpc license-assign
    
        rpc license-smooth {
          description "Smooth license.";
        }  // rpc license-smooth
    
        rpc license-switch-mode {
          description "Switch license mode.";
          input {
            leaf license-mode {
              type mode-type;
              description "License mode.";
            }
          }
        }  // rpc license-switch-mode
      }  // module huawei-license
    

© 2023 YumaWorks, Inc. All rights reserved.