This module contains definitions for Equipment Management. Copyright (c) 2015 Fujitsu Ltd. All rights reserved.
Version: 2017-07-10
module fujitsu-equipment { yang-version 1; namespace "urn:fujitsu:params:xml:ns:yang:equipment"; prefix equipment; import fujitsu-shelf { prefix shelf; } import fujitsu-notifications { prefix notifications; } import fujitsu-notification-types { prefix notification-types; } import fujitsu-physical-inventory { prefix pi; } organization "Fujitsu Ltd."; contact "Fujitsu Ltd. Address: 2801 Telecom Parkway Richardson, Texas 75082 Tel: +1-800-USE-FTAC (1-800-873-3822) Email: ftac@fnc.fujitsu.com Web: www.fujitsu.com/us/services/telecom"; description "This module contains definitions for Equipment Management. Copyright (c) 2015 Fujitsu Ltd. All rights reserved. "; revision "2017-07-10" { description "Tailf dependencies added for yang-performance."; } revision "2015-05-07" { description "Initial revision."; } container eqpt { description "The top container for all equipment entities. Contains a list of shelves identified by the 'shelfId'"; list shelf { key "shelfId"; leaf shelfId { type string; description "A unique identifier for the shelf."; } leaf description { type string { length "min..1024"; } description "shelf information"; } leaf oper-status { type oper-status; config false; description "The current operational state of the interface. This leaf has the same semantics as ifOperStatus."; } leaf admin-status { type admin-status; default "down"; description "The desired state of the interface. This leaf has the same read semantics as ifAdminStatus."; } leaf type { type string; mandatory true; description "The shelf type as defined in 'shelfData'."; } leaf shelf-mode { type string; mandatory true; description "Shelf Mode: NORMAL Or REGEN"; } leaf shelf-role { type string; mandatory true; description "Shelf Role: MAIN Or TRIB"; } container supportingRack { description "information about the rack/bay where the shelf is mounted. 'rackId' and 'shelfLocation' are attributes that allow a netmork management system to associate the shelf with a physical location"; leaf rackId { type string; description "descriptive name to associate the shelf to a rack"; } leaf shelfLocation { type string; description "location of the shelf within a rack"; } } // container supportingRack container pi { config false; description "Physical inventory information of the shelf"; leaf vendorName { type string; description "A unique string describing the vendor name."; } leaf unitName { type string; description "A unique string describing the type of unit."; } leaf vendorUnitCode { type string; description "Vendor unit code."; } leaf IssueNumber { type string; description "HW Issue # "; } leaf fcNumber { type string; description "FC Number "; } leaf clei { type string; description "Common Language Equipment Identification"; } leaf dom { type string; description "Date of manufacture. For example, YY.MM or YYMMDD"; } leaf serialNumber { type string; description "Unit serial number"; } leaf usi { type string; description "Unique Serial Identifier which includes the manufacturing location code"; } } // container pi leaf fuse { type uint8 { range "15..45"; } units "A"; default "25"; } leaf supply-current { type decimal64 { fraction-digits 1; range "0..max"; } units "A"; config false; } leaf supply-voltage { type decimal64 { fraction-digits 1; range "0..max"; } units "V"; config false; } leaf currentDrawFeed { type decimal64 { fraction-digits 1; range "0..max"; } units "A"; config false; } container pm { description "Performance Monitoring Info"; list pm-threshold { key "pm-name pm-location pm-direction"; description "List of PMs thresholds for the parent entity."; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-type { type pm-type; } container pm-th-metered { when "../pm-type = 'metered'"; leaf pm-th-type { type enumeration { enum "auto" { value 0; description "HW autoprovisioned"; } enum "user" { value 1; description "User-provisioned"; } } default "auto"; } leaf pm-th-low { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } leaf pm-th-high { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } } // container pm-th-metered container pm-th-binned { when "../pm-type = 'binned'"; list pm-time-periods { key "pm-time-period"; leaf pm-time-period { type pm-time-period; } leaf pm-value { type pm-data-type; mandatory true; } } // list pm-time-periods } // container pm-th-binned } // list pm-threshold list pm-oper-range { key "pm-name pm-location pm-direction"; config false; ordered-by user; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-alarm-low { type pm-data-type; description "PM Alarm Detect Low"; } leaf pm-alarm-high { type pm-data-type; description "PM Alarm Detect High"; } leaf pm-capability-min { type pm-data-type; description "PM Operating Range Low"; } leaf pm-capability-max { type pm-data-type; description "PM Operating Range High"; } leaf pm-warning-low { type pm-data-type; description "PM Threshold Low"; } leaf pm-warning-high { type pm-data-type; description "PM Threshold High"; } } // list pm-oper-range } // container pm list slot { key "slotID"; description "A list of slots per shelf identified by the 'slotID'"; leaf slotID { type string; description "A unique slot ID"; } leaf description { type string { length "min..1024"; } description "slot information"; } leaf oper-status { type oper-status; config false; description "The current operational state of the interface. This leaf has the same semantics as ifOperStatus."; } leaf admin-status { type admin-status; default "down"; description "The desired state of the interface. This leaf has the same read semantics as ifAdminStatus."; } leaf cardType { type string; mandatory true; description "the card type as defined in 'cardData'"; } leaf cardMode { type string; description "the card mode as defined in 'cardData'"; } container pi { config false; description "Physical inventory information of the slot"; leaf vendorName { type string; description "A unique string describing the vendor name."; } leaf unitName { type string; description "A unique string describing the type of unit."; } leaf vendorUnitCode { type string; description "Vendor unit code."; } leaf IssueNumber { type string; description "HW Issue # "; } leaf fcNumber { type string; description "FC Number "; } leaf clei { type string; description "Common Language Equipment Identification"; } leaf dom { type string; description "Date of manufacture. For example, YY.MM or YYMMDD"; } leaf serialNumber { type string; description "Unit serial number"; } leaf usi { type string; description "Unique Serial Identifier which includes the manufacturing location code"; } } // container pi container statistics { config false; description "Shelf/Slot level system statistics"; container cpu-statistics { description "Shelf/Slot level CPU statistics"; leaf user-type { type string; description "CPU user type"; } leaf instant { type decimal64 { fraction-digits 2; } description "Current CPU usage in %"; } leaf avg { type decimal64 { fraction-digits 2; } description "Average CPU usage in %"; } leaf min { type decimal64 { fraction-digits 2; } description "Minimum CPU usage in %"; } leaf max { type decimal64 { fraction-digits 2; } description "Maximum CPU usage in %"; } leaf interval { type uint64; description "CPU statistics computed interval in nanoseconds"; } } // container cpu-statistics container memory-statistics { description "Shelf/slot level memory statistics"; leaf physical { type uint64; description "Total installed physical memory in MegaBytes"; } leaf available { type uint64; description "Total available memory for use by applications in MB"; } leaf utilized { type uint64; description "Total utilized memory by applications in MegaBytes"; } } // container memory-statistics } // container statistics container pm { description "Performance Monitoring Info"; list pm-threshold { key "pm-name pm-location pm-direction"; description "List of PMs thresholds for the parent entity."; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-type { type pm-type; } container pm-th-metered { when "../pm-type = 'metered'"; leaf pm-th-type { type enumeration { enum "auto" { value 0; description "HW autoprovisioned"; } enum "user" { value 1; description "User-provisioned"; } } default "auto"; } leaf pm-th-low { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } leaf pm-th-high { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } } // container pm-th-metered container pm-th-binned { when "../pm-type = 'binned'"; list pm-time-periods { key "pm-time-period"; leaf pm-time-period { type pm-time-period; } leaf pm-value { type pm-data-type; mandatory true; } } // list pm-time-periods } // container pm-th-binned } // list pm-threshold list pm-oper-range { key "pm-name pm-location pm-direction"; config false; ordered-by user; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-alarm-low { type pm-data-type; description "PM Alarm Detect Low"; } leaf pm-alarm-high { type pm-data-type; description "PM Alarm Detect High"; } leaf pm-capability-min { type pm-data-type; description "PM Operating Range Low"; } leaf pm-capability-max { type pm-data-type; description "PM Operating Range High"; } leaf pm-warning-low { type pm-data-type; description "PM Threshold Low"; } leaf pm-warning-high { type pm-data-type; description "PM Threshold High"; } } // list pm-oper-range } // container pm list subslot { key "subslotID"; description "A list of subslots per slot identified by the 'subslotNumber'"; leaf subslotID { type string; description "A unique subslot number"; } leaf description { type string { length "min..1024"; } description "subslot information"; } leaf oper-status { type oper-status; config false; description "The current operational state of the interface. This leaf has the same semantics as ifOperStatus."; } leaf admin-status { type admin-status; default "down"; description "The desired state of the interface. This leaf has the same read semantics as ifAdminStatus."; } container pi { config false; description "Physical inventory information of the subslot"; leaf vendorName { type string; description "A unique string describing the vendor name."; } leaf unitName { type string; description "A unique string describing the type of unit."; } leaf vendorUnitCode { type string; description "Vendor unit code."; } leaf IssueNumber { type string; description "HW Issue # "; } leaf fcNumber { type string; description "FC Number "; } leaf clei { type string; description "Common Language Equipment Identification"; } leaf dom { type string; description "Date of manufacture. For example, YY.MM or YYMMDD"; } leaf serialNumber { type string; description "Unit serial number"; } leaf usi { type string; description "Unique Serial Identifier which includes the manufacturing location code"; } } // container pi container pm { description "Performance Monitoring Info"; list pm-threshold { key "pm-name pm-location pm-direction"; description "List of PMs thresholds for the parent entity."; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-type { type pm-type; } container pm-th-metered { when "../pm-type = 'metered'"; leaf pm-th-type { type enumeration { enum "auto" { value 0; description "HW autoprovisioned"; } enum "user" { value 1; description "User-provisioned"; } } default "auto"; } leaf pm-th-low { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } leaf pm-th-high { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } } // container pm-th-metered container pm-th-binned { when "../pm-type = 'binned'"; list pm-time-periods { key "pm-time-period"; leaf pm-time-period { type pm-time-period; } leaf pm-value { type pm-data-type; mandatory true; } } // list pm-time-periods } // container pm-th-binned } // list pm-threshold list pm-oper-range { key "pm-name pm-location pm-direction"; config false; ordered-by user; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-alarm-low { type pm-data-type; description "PM Alarm Detect Low"; } leaf pm-alarm-high { type pm-data-type; description "PM Alarm Detect High"; } leaf pm-capability-min { type pm-data-type; description "PM Operating Range Low"; } leaf pm-capability-max { type pm-data-type; description "PM Operating Range High"; } leaf pm-warning-low { type pm-data-type; description "PM Threshold Low"; } leaf pm-warning-high { type pm-data-type; description "PM Threshold High"; } } // list pm-oper-range } // container pm list port { key "portID"; description "A list of ports per subslot identified by the 'portID'"; leaf portID { type string; description "A unique port ID."; } leaf description { type string { length "min..1024"; } description "circuit-name/customer-name of the port."; } leaf connection-type { if-feature fiber-connection-type; type string { length "min..1024"; } default "not-applicable"; description "Attribute to provide extra information to interfacing parties such as SDN controllers."; } leaf pg-name { if-feature protection-group; type string; description "Protection group name."; } leaf pluggableInterfaceType { type string; description "Interface type of the pluggable/fixed unit."; } leaf num-lanes { type string; description "Num of lanes for the port, auto create num-lanes of subports when num-lanes > 1."; } leaf oper-status { type oper-status; config false; description "The current operational state of the interface. This leaf has the same semantics as ifOperStatus."; } leaf admin-status { type admin-status; default "down"; description "The desired state of the interface. This leaf has the same read semantics as ifAdminStatus."; } container pi { config false; leaf vendorName { type string; description "A unique string describing the vendor name."; } leaf unitName { type string; description "A unique string describing the type of unit."; } leaf vendorUnitCode { type string; description "Vendor unit code."; } leaf IssueNumber { type string; description "HW Issue # "; } leaf fcNumber { type string; description "FC Number "; } leaf clei { type string; description "Common Language Equipment Identification"; } leaf dom { type string; description "Date of manufacture. For example, YY.MM or YYMMDD"; } leaf serialNumber { type string; description "Unit serial number"; } leaf usi { type string; description "Unique Serial Identifier which includes the manufacturing location code"; } leaf is-tunable { type boolean; description "Describes if the port supports tunable transmitter technology"; } leaf transmitter-wavelength { type decimal64 { fraction-digits 5; } description "Transmitter wavelength"; } leaf laser-first-frequency { type decimal64 { fraction-digits 5; } description "Laser first frequency in THz"; } leaf laser-last-frequency { type decimal64 { fraction-digits 5; } description "Laser last frequency in THz"; } leaf laser-min-grid-space { type decimal64 { fraction-digits 5; } description "Laser's minimum supporting grid spacing (GHz*10), i.e., in units of 0.1 GHz"; } } // container pi container pm { description "Performance Monitoring Info"; list pm-threshold { key "pm-name pm-location pm-direction"; description "List of PMs thresholds for the parent entity."; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-type { type pm-type; } container pm-th-metered { when "../pm-type = 'metered'"; leaf pm-th-type { type enumeration { enum "auto" { value 0; description "HW autoprovisioned"; } enum "user" { value 1; description "User-provisioned"; } } default "auto"; } leaf pm-th-low { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } leaf pm-th-high { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } } // container pm-th-metered container pm-th-binned { when "../pm-type = 'binned'"; list pm-time-periods { key "pm-time-period"; leaf pm-time-period { type pm-time-period; } leaf pm-value { type pm-data-type; mandatory true; } } // list pm-time-periods } // container pm-th-binned } // list pm-threshold list pm-oper-range { key "pm-name pm-location pm-direction"; config false; ordered-by user; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-alarm-low { type pm-data-type; description "PM Alarm Detect Low"; } leaf pm-alarm-high { type pm-data-type; description "PM Alarm Detect High"; } leaf pm-capability-min { type pm-data-type; description "PM Operating Range Low"; } leaf pm-capability-max { type pm-data-type; description "PM Operating Range High"; } leaf pm-warning-low { type pm-data-type; description "PM Threshold Low"; } leaf pm-warning-high { type pm-data-type; description "PM Threshold High"; } } // list pm-oper-range } // container pm leaf remoteSrcPeerPort-id { type string; default ""; description "The port ID of the remote source port to be associated with local destination port. Shall be specified in the format of <system name SID>/<shelf>/<slot>/<subslot>/<port>."; } leaf remoteDestPeerPort-id { type string; default ""; description "The port ID of the remote destination port to be associated with local source port. Shall be specified in the format of <system name SID>/<shelf>/<slot>/<subslot>/<port>."; } list subport { key "subPortID"; description "List of subport identified by subPortID."; leaf subPortID { type string; description "subport identifier"; } leaf description { type string { length "min..1024"; } description "subport information"; } list xconRef { key "xconID"; max-elements 2; leaf xconID { type string; description "och connection id"; } leaf srcOch { type string; description "src och aid"; } leaf dstOch { type string; description "dst och aid"; } } // list xconRef container pm { description "Performance Monitoring Info"; list pm-threshold { key "pm-name pm-location pm-direction"; description "List of PMs thresholds for the parent entity."; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-type { type pm-type; } container pm-th-metered { when "../pm-type = 'metered'"; leaf pm-th-type { type enumeration { enum "auto" { value 0; description "HW autoprovisioned"; } enum "user" { value 1; description "User-provisioned"; } } default "auto"; } leaf pm-th-low { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } leaf pm-th-high { when "../pm-th-type = 'user'"; type pm-data-type; mandatory true; } } // container pm-th-metered container pm-th-binned { when "../pm-type = 'binned'"; list pm-time-periods { key "pm-time-period"; leaf pm-time-period { type pm-time-period; } leaf pm-value { type pm-data-type; mandatory true; } } // list pm-time-periods } // container pm-th-binned } // list pm-threshold list pm-oper-range { key "pm-name pm-location pm-direction"; config false; ordered-by user; leaf pm-name { type pm-identity; } leaf pm-location { type pm-location; } leaf pm-direction { type pm-direction; } leaf pm-alarm-low { type pm-data-type; description "PM Alarm Detect Low"; } leaf pm-alarm-high { type pm-data-type; description "PM Alarm Detect High"; } leaf pm-capability-min { type pm-data-type; description "PM Operating Range Low"; } leaf pm-capability-max { type pm-data-type; description "PM Operating Range High"; } leaf pm-warning-low { type pm-data-type; description "PM Threshold Low"; } leaf pm-warning-high { type pm-data-type; description "PM Threshold High"; } } // list pm-oper-range } // container pm leaf oper-status { type oper-status; config false; description "The current operational state of the interface. This leaf has the same semantics as ifOperStatus."; } leaf admin-status { type admin-status; default "down"; description "The desired state of the interface. This leaf has the same read semantics as ifAdminStatus."; } } // list subport leaf ains { type ains-state; must "(current()='disabled' or (current()='enabled' and current()/../eqpt:admin-status='down'))" { error-message "admin-status cannot be up when AINS is enabled"; } default "disabled"; } leaf vstimer { when "../ains = 'enabled'"; type vstimer; } leaf ACTVST { when "../ains = 'enabled'"; type string; config false; } } // list port leaf mac-address-max { type yang:mac-address; default "00:00:00:00:00:00"; config false; description "Maximum value of MAC-address "; } leaf mac-address-min { type yang:mac-address; default "00:00:00:00:00:00"; config false; description "Minimum value of MAC-address "; } } // list subslot leaf mac-address-max { type yang:mac-address; default "00:00:00:00:00:00"; config false; description "Maximum value of MAC-address "; } leaf mac-address-min { type yang:mac-address; default "00:00:00:00:00:00"; config false; description "Minimum value of MAC-address "; } leaf powerDraw { type uint16; config false; description "powerDraw is defined as 'PowerDraw'"; } } // list slot } // list shelf } // container eqpt } // module fujitsu-equipment
© 2023 YumaWorks, Inc. All rights reserved.