Proof of permission granted.
Version: 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.