fujitsu-equipment

This module contains definitions for Equipment Management. Copyright (c) 2015 Fujitsu Ltd. All rights reserved.

  • Version: 2017-07-10

    fujitsu-equipment@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.