netconfcentral logo

HOST-RESOURCES-MIB.yang



  module HOST-RESOURCES-MIB {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:smiv2:HOST-RESOURCES-MIB";

    prefix host-resources;

    import IF-MIB {
      prefix if-mib;
    }
    import SNMPv2-TC {
      prefix smiv2;
    }
    import yang-smi {
      prefix smi;
    }
    import ietf-yang-types {
      prefix yang;
    }

    organization
      "IETF Host Resources MIB Working Group";

    contact
      "Steve Waldbusser
      Postal: Lucent Technologies, Inc.
              1213 Innsbruck Dr.
              Sunnyvale, CA 94089
              USA
      Phone:  650-318-1251
      Fax:    650-318-1633
      Email:  waldbusser@lucent.com
      
      In addition, the Host Resources MIB mailing list is
      dedicated to discussion of this MIB. To join the
      mailing list, send a request message to
      hostmib-request@andrew.cmu.edu. The mailing list
      address is hostmib@andrew.cmu.edu.";

    description
      "This MIB is for use in managing host systems. The term
      `host' is construed to mean any computer that communicates
      with other similar computers attached to the internet and
      that is directly used by one or more human beings. Although
      this MIB does not necessarily apply to devices whose primary
      function is communications services (e.g., terminal servers,
      routers, bridges, monitoring equipment), such relevance is
      not explicitly precluded.  This MIB instruments attributes
      common to all internet hosts including, for example, both
      personal computers and systems that run variants of Unix.";

    revision "2000-03-06" {
      description
        "Clarifications and bug fixes based on implementation
         experience.  This revision was also reformatted in the SMIv2
         format. The revisions made were:
         
         New RFC document standards:
            Added Copyright notice, updated introduction to SNMP
            Framework, updated references section, added reference to
            RFC 2119, and added a meaningful Security Considerations
            section.
         
         New IANA considerations section for registration of new types
         
         Conversion to new SMIv2 syntax for the following types and
         macros:
             Counter32, Integer32, Gauge32, MODULE-IDENTITY,
             OBJECT-TYPE, TEXTUAL-CONVENTION, OBJECT-IDENTITY,
             MODULE-COMPLIANCE, OBJECT-GROUP
         
         Used new Textual Conventions:
             TruthValue, DateAndTime, AutonomousType,
             InterfaceIndexOrZero
         
         Fixed typo in hrPrinterStatus.
         
         Added missing error bits to hrPrinterDetectedErrorState and
         clarified confusion resulting from suggested mappings to
         hrPrinterStatus.
         
         Clarified that size of objects of type
         InternationalDisplayString is number of octets, not number
         of encoded symbols.
         
         Clarified the use of the following objects based on
         implementation experience:
             hrSystemInitialLoadDevice, hrSystemInitialLoadParameters,
             hrMemorySize, hrStorageSize, hrStorageAllocationFailures,
             hrDeviceErrors, hrProcessorLoad, hrNetworkIfIndex,
             hrDiskStorageCapacity, hrSWRunStatus, hrSWRunPerfCPU,
             and hrSWInstalledDate.
         
         Clarified implementation technique for hrSWInstalledTable.
         
         Used new AUGMENTS clause for hrSWRunPerfTable.
         
         Added Internationalization Considerations section.
         
         This revision published as RFC2790.";
    }

    revision "1999-10-20" {
      description
        "The original version of this MIB, published as
         RFC1514.";
    }


    typedef KBytes {
      type int32 {
        range "0..2147483647";
      }
      description
        "Storage size, expressed in units of 1024 bytes.";
    }

    typedef ProductID {
      type yang:object-identifier;
      description
        "This textual convention is intended to identify the
         
         manufacturer, model, and version of a specific
         hardware or software product.  It is suggested that
         these OBJECT IDENTIFIERs are allocated such that all
         products from a particular manufacturer are registered
         under a subtree distinct to that manufacturer.  In
         addition, all versions of a product should be
         registered under a subtree distinct to that product.
         With this strategy, a management station may uniquely
         determine the manufacturer and/or model of a product
         whose productID is unknown to the management station.
         Objects of this type may be useful for inventory
         purposes or for automatically detecting
         incompatibilities or version mismatches between
         various hardware and software components on a system.
         
         For example, the product ID for the ACME 4860 66MHz
         clock doubled processor might be:
         enterprises.acme.acmeProcessors.a4860DX2.MHz66
         
         A software product might be registered as:
         enterprises.acme.acmeOperatingSystems.acmeDOS.six(6).one(1)";
    }

    typedef InternationalDisplayString {
      type binary;
      description
        "This data type is used to model textual information
         in some character set.  A network management station
         should use a local algorithm to determine which
         character set is in use and how it should be
         displayed.  Note that this character set may be
         encoded with more than one octet per symbol, but will
         most often be NVT ASCII. When a size clause is
         specified for an object of this type, the size refers
         to the length in octets, not the number of symbols.";
    }

    container hrSystem {
      smi:oid "1.3.6.1.2.1.25.1";
      leaf hrSystemUptime {
        smi:oid "1.3.6.1.2.1.25.1.1";
        type yang:timeticks;
        config false;
        description
          "The amount of time since this host was last
            initialized.  Note that this is different from
            sysUpTime in the SNMPv2-MIB [RFC1907] because
            sysUpTime is the uptime of the network management
            portion of the system.";
      }

      leaf hrSystemDate {
        smi:oid "1.3.6.1.2.1.25.1.2";
        type smiv2:DateAndTime;
        description
          "The host's notion of the local date and time of day.";
      }

      leaf hrSystemInitialLoadDevice {
        smi:oid "1.3.6.1.2.1.25.1.3";
        type int32 {
          range "1..2147483647";
        }
        description
          "The index of the hrDeviceEntry for the device from
            which this host is configured to load its initial
            operating system configuration (i.e., which operating
            system code and/or boot parameters).
            
            Note that writing to this object just changes the
            configuration that will be used the next time the
            operating system is loaded and does not actually cause
            the reload to occur.";
      }

      leaf hrSystemInitialLoadParameters {
        smi:oid "1.3.6.1.2.1.25.1.4";
        type InternationalDisplayString {
          length "0..128";
        }
        description
          "This object contains the parameters (e.g. a pathname
            and parameter) supplied to the load device when
            requesting the initial operating system configuration
            from that device.
            
            Note that writing to this object just changes the
            configuration that will be used the next time the
            operating system is loaded and does not actually cause
            the reload to occur.";
      }

      leaf hrSystemNumUsers {
        smi:oid "1.3.6.1.2.1.25.1.5";
        type yang:gauge32;
        config false;
        description
          "The number of user sessions for which this host is
            storing state information.  A session is a collection
            of processes requiring a single act of user
            authentication and possibly subject to collective job
            control.";
      }

      leaf hrSystemProcesses {
        smi:oid "1.3.6.1.2.1.25.1.6";
        type yang:gauge32;
        config false;
        description
          "The number of process contexts currently loaded or
            running on this system.";
      }

      leaf hrSystemMaxProcesses {
        smi:oid "1.3.6.1.2.1.25.1.7";
        type int32 {
          range "0..2147483647";
        }
        config false;
        description
          "The maximum number of process contexts this system
            can support.  If there is no fixed maximum, the value
            should be zero.  On systems that have a fixed maximum,
            this object can help diagnose failures that occur when
            this maximum is reached.";
      }
    }  // container hrSystem

    container hrStorage {
      smi:oid "1.3.6.1.2.1.25.2";
      leaf hrMemorySize {
        smi:oid "1.3.6.1.2.1.25.2.2";
        type KBytes;
        units "KBytes";
        config false;
        description
          "The amount of physical read-write main memory,
            typically RAM, contained by the host.";
      }

      list hrStorageEntry {
        smi:oid "1.3.6.1.2.1.25.2.3.1";
        key "hrStorageIndex";
        description
          "A (conceptual) entry for one logical storage area on
            the host.  As an example, an instance of the
            hrStorageType object might be named hrStorageType.3";
        leaf hrStorageIndex {
          smi:oid "1.3.6.1.2.1.25.2.3.1.1";
          type int32 {
            range "1..2147483647";
          }
          description
            "A unique value for each logical storage area
               contained by the host.";
        }

        leaf hrStorageType {
          smi:oid "1.3.6.1.2.1.25.2.3.1.2";
          type smiv2:AutonomousType;
          config false;
          description
            "The type of storage represented by this entry.";
        }

        leaf hrStorageDescr {
          smi:oid "1.3.6.1.2.1.25.2.3.1.3";
          type smiv2:DisplayString;
          config false;
          description
            "A description of the type and instance of the storage
               described by this entry.";
        }

        leaf hrStorageAllocationUnits {
          smi:oid "1.3.6.1.2.1.25.2.3.1.4";
          type int32 {
            range "1..2147483647";
          }
          units "Bytes";
          config false;
          description
            "The size, in bytes, of the data objects allocated
               from this pool.  If this entry is monitoring sectors,
               blocks, buffers, or packets, for example, this number
               will commonly be greater than one.  Otherwise this
               number will typically be one.";
        }

        leaf hrStorageSize {
          smi:oid "1.3.6.1.2.1.25.2.3.1.5";
          type int32 {
            range "0..2147483647";
          }
          description
            "The size of the storage represented by this entry, in
               units of hrStorageAllocationUnits. This object is
               writable to allow remote configuration of the size of
               the storage area in those cases where such an
               operation makes sense and is possible on the
               underlying system. For example, the amount of main
               memory allocated to a buffer pool might be modified or
               the amount of disk space allocated to virtual memory
               might be modified.";
        }

        leaf hrStorageUsed {
          smi:oid "1.3.6.1.2.1.25.2.3.1.6";
          type int32 {
            range "0..2147483647";
          }
          config false;
          description
            "The amount of the storage represented by this entry
               that is allocated, in units of
               hrStorageAllocationUnits.";
        }

        leaf hrStorageAllocationFailures {
          smi:oid "1.3.6.1.2.1.25.2.3.1.7";
          type yang:counter32;
          config false;
          description
            "The number of requests for storage represented by
               this entry that could not be honored due to not enough
               storage.  It should be noted that as this object has a
               SYNTAX of Counter32, that it does not have a defined
               initial value.  However, it is recommended that this
               object be initialized to zero, even though management
               stations must not depend on such an initialization.";
        }
      }  // list hrStorageEntry
    }  // container hrStorage

    container hrDevice {
      smi:oid "1.3.6.1.2.1.25.3";
      list hrDeviceEntry {
        smi:oid "1.3.6.1.2.1.25.3.2.1";
        key "hrDeviceIndex";
        description
          "A (conceptual) entry for one device contained by the
            host.  As an example, an instance of the hrDeviceType
            object might be named hrDeviceType.3";
        leaf hrDeviceIndex {
          smi:oid "1.3.6.1.2.1.25.3.2.1.1";
          type int32 {
            range "1..2147483647";
          }
          description
            "A unique value for each device contained by the host.
               The value for each device must remain constant at
               least from one re-initialization of the agent to the
               next re-initialization.";
        }

        leaf hrDeviceType {
          smi:oid "1.3.6.1.2.1.25.3.2.1.2";
          type smiv2:AutonomousType;
          config false;
          description
            "An indication of the type of device.
               
               If this value is
               `hrDeviceProcessor { hrDeviceTypes 3 }' then an entry
               exists in the hrProcessorTable which corresponds to
               this device.
               
               If this value is
               `hrDeviceNetwork { hrDeviceTypes 4 }', then an entry
               exists in the hrNetworkTable which corresponds to this
               device.
               
               If this value is
               `hrDevicePrinter { hrDeviceTypes 5 }', then an entry
               exists in the hrPrinterTable which corresponds to this
               device.
               
               If this value is
               `hrDeviceDiskStorage { hrDeviceTypes 6 }', then an
               entry exists in the hrDiskStorageTable which
               corresponds to this device.";
        }

        leaf hrDeviceDescr {
          smi:oid "1.3.6.1.2.1.25.3.2.1.3";
          type smiv2:DisplayString {
            length "0..64";
          }
          config false;
          description
            "A textual description of this device, including the
               device's manufacturer and revision, and optionally,
               its serial number.";
        }

        leaf hrDeviceID {
          smi:oid "1.3.6.1.2.1.25.3.2.1.4";
          type ProductID;
          config false;
          description
            "The product ID for this device.";
        }

        leaf hrDeviceStatus {
          smi:oid "1.3.6.1.2.1.25.3.2.1.5";
          type enumeration {
            enum "unknown" {
              value 1;
            }
            enum "running" {
              value 2;
            }
            enum "warning" {
              value 3;
            }
            enum "testing" {
              value 4;
            }
            enum "down" {
              value 5;
            }
          }
          config false;
          description
            "The current operational state of the device described
               by this row of the table.  A value unknown(1)
               indicates that the current state of the device is
               unknown.  running(2) indicates that the device is up
               and running and that no unusual error conditions are
               known.  The warning(3) state indicates that agent has
               been informed of an unusual error condition by the
               operational software (e.g., a disk device driver) but
               that the device is still 'operational'.  An example
               would be a high number of soft errors on a disk.  A
               value of testing(4), indicates that the device is not
               available for use because it is in the testing state.
               The state of down(5) is used only when the agent has
               been informed that the device is not available for any
               use.";
        }

        leaf hrDeviceErrors {
          smi:oid "1.3.6.1.2.1.25.3.2.1.6";
          type yang:counter32;
          config false;
          description
            "The number of errors detected on this device.  It
               should be noted that as this object has a SYNTAX of
               Counter32, that it does not have a defined initial
               value.  However, it is recommended that this object be
               initialized to zero, even though management stations
               must not depend on such an initialization.";
        }
      }  // list hrDeviceEntry

      list hrProcessorEntry {
        smi:oid "1.3.6.1.2.1.25.3.3.1";
        key "hrDeviceIndex";
        description
          "A (conceptual) entry for one processor contained by
            the host.  The hrDeviceIndex in the index represents
            the entry in the hrDeviceTable that corresponds to the
            hrProcessorEntry.
            
            As an example of how objects in this table are named,
            an instance of the hrProcessorFrwID object might be
            named hrProcessorFrwID.3";
        leaf hrDeviceIndex {
          type leafref {
            path "/host-resources:hrDevice/host-resources:hrDeviceEntry/host-resources:hrDeviceIndex";
          }
          description
            "Automagically generated leafref leaf.";
        }

        leaf hrProcessorFrwID {
          smi:oid "1.3.6.1.2.1.25.3.3.1.1";
          type ProductID;
          config false;
          description
            "The product ID of the firmware associated with the
               processor.";
        }

        leaf hrProcessorLoad {
          smi:oid "1.3.6.1.2.1.25.3.3.1.2";
          type int32 {
            range "0..100";
          }
          config false;
          description
            "The average, over the last minute, of the percentage
               of time that this processor was not idle.
               Implementations may approximate this one minute
               smoothing period if necessary.";
        }
      }  // list hrProcessorEntry

      list hrNetworkEntry {
        smi:oid "1.3.6.1.2.1.25.3.4.1";
        key "hrDeviceIndex";
        description
          "A (conceptual) entry for one network device contained
            by the host.  The hrDeviceIndex in the index
            represents the entry in the hrDeviceTable that
            corresponds to the hrNetworkEntry.
            
            As an example of how objects in this table are named,
            an instance of the hrNetworkIfIndex object might be
            named hrNetworkIfIndex.3";
        leaf hrDeviceIndex {
          type leafref {
            path "/host-resources:hrDevice/host-resources:hrDeviceEntry/host-resources:hrDeviceIndex";
          }
          description
            "Automagically generated leafref leaf.";
        }

        leaf hrNetworkIfIndex {
          smi:oid "1.3.6.1.2.1.25.3.4.1.1";
          type if-mib:InterfaceIndexOrZero;
          config false;
          description
            "The value of ifIndex which corresponds to this
               network device. If this device is not represented in
               the ifTable, then this value shall be zero.";
        }
      }  // list hrNetworkEntry

      list hrPrinterEntry {
        smi:oid "1.3.6.1.2.1.25.3.5.1";
        key "hrDeviceIndex";
        description
          "A (conceptual) entry for one printer local to the
            host.  The hrDeviceIndex in the index represents the
            entry in the hrDeviceTable that corresponds to the
            hrPrinterEntry.
            
            As an example of how objects in this table are named,
            an instance of the hrPrinterStatus object might be
            named hrPrinterStatus.3";
        leaf hrDeviceIndex {
          type leafref {
            path "/host-resources:hrDevice/host-resources:hrDeviceEntry/host-resources:hrDeviceIndex";
          }
          description
            "Automagically generated leafref leaf.";
        }

        leaf hrPrinterStatus {
          smi:oid "1.3.6.1.2.1.25.3.5.1.1";
          type enumeration {
            enum "other" {
              value 1;
            }
            enum "unknown" {
              value 2;
            }
            enum "idle" {
              value 3;
            }
            enum "printing" {
              value 4;
            }
            enum "warmup" {
              value 5;
            }
          }
          config false;
          description
            "The current status of this printer device.";
        }

        leaf hrPrinterDetectedErrorState {
          smi:oid "1.3.6.1.2.1.25.3.5.1.2";
          type binary;
          config false;
          description
            "This object represents any error conditions detected
               by the printer.  The error conditions are encoded as
               bits in an octet string, with the following
               definitions:
               
                    Condition         Bit #
               
                    lowPaper              0
               
                    noPaper               1
                    lowToner              2
                    noToner               3
                    doorOpen              4
                    jammed                5
                    offline               6
                    serviceRequested      7
                    inputTrayMissing      8
                    outputTrayMissing     9
                    markerSupplyMissing  10
                    outputNearFull       11
                    outputFull           12
                    inputTrayEmpty       13
                    overduePreventMaint  14
               
               Bits are numbered starting with the most significant
               bit of the first byte being bit 0, the least
               significant bit of the first byte being bit 7, the
               most significant bit of the second byte being bit 8,
               and so on.  A one bit encodes that the condition was
               detected, while a zero bit encodes that the condition
               was not detected.
               
               This object is useful for alerting an operator to
               specific warning or error conditions that may occur,
               especially those requiring human intervention.";
        }
      }  // list hrPrinterEntry

      list hrDiskStorageEntry {
        smi:oid "1.3.6.1.2.1.25.3.6.1";
        key "hrDeviceIndex";
        description
          "A (conceptual) entry for one long-term storage device
            contained by the host.  The hrDeviceIndex in the index
            represents the entry in the hrDeviceTable that
            corresponds to the hrDiskStorageEntry. As an example,
            an instance of the hrDiskStorageCapacity object might
            be named hrDiskStorageCapacity.3";
        leaf hrDeviceIndex {
          type leafref {
            path "/host-resources:hrDevice/host-resources:hrDeviceEntry/host-resources:hrDeviceIndex";
          }
          description
            "Automagically generated leafref leaf.";
        }

        leaf hrDiskStorageAccess {
          smi:oid "1.3.6.1.2.1.25.3.6.1.1";
          type enumeration {
            enum "readWrite" {
              value 1;
            }
            enum "readOnly" {
              value 2;
            }
          }
          config false;
          description
            "An indication if this long-term storage device is
               readable and writable or only readable.  This should
               reflect the media type, any write-protect mechanism,
               and any device configuration that affects the entire
               device.";
        }

        leaf hrDiskStorageMedia {
          smi:oid "1.3.6.1.2.1.25.3.6.1.2";
          type enumeration {
            enum "other" {
              value 1;
            }
            enum "unknown" {
              value 2;
            }
            enum "hardDisk" {
              value 3;
            }
            enum "floppyDisk" {
              value 4;
            }
            enum "opticalDiskROM" {
              value 5;
            }
            enum "opticalDiskWORM" {
              value 6;
            }
            enum "opticalDiskRW" {
              value 7;
            }
            enum "ramDisk" {
              value 8;
            }
          }
          config false;
          description
            "An indication of the type of media used in this long-
               term storage device.";
        }

        leaf hrDiskStorageRemoveble {
          smi:oid "1.3.6.1.2.1.25.3.6.1.3";
          type smiv2:TruthValue;
          config false;
          description
            "Denotes whether or not the disk media may be removed
               from the drive.";
        }

        leaf hrDiskStorageCapacity {
          smi:oid "1.3.6.1.2.1.25.3.6.1.4";
          type KBytes;
          units "KBytes";
          config false;
          description
            "The total size for this long-term storage device. If
               the media is removable and is currently removed, this
               value should be zero.";
        }
      }  // list hrDiskStorageEntry

      list hrPartitionEntry {
        smi:oid "1.3.6.1.2.1.25.3.7.1";
        key "hrDeviceIndex hrPartitionIndex";
        description
          "A (conceptual) entry for one partition.  The
            hrDeviceIndex in the index represents the entry in the
            hrDeviceTable that corresponds to the
            hrPartitionEntry.
            
            As an example of how objects in this table are named,
            an instance of the hrPartitionSize object might be
            named hrPartitionSize.3.1";
        leaf hrDeviceIndex {
          type leafref {
            path "/host-resources:hrDevice/host-resources:hrDeviceEntry/host-resources:hrDeviceIndex";
          }
          description
            "Automagically generated leafref leaf.";
        }

        leaf hrPartitionIndex {
          smi:oid "1.3.6.1.2.1.25.3.7.1.1";
          type int32 {
            range "1..2147483647";
          }
          description
            "A unique value for each partition on this long-term
               storage device.  The value for each long-term storage
               device must remain constant at least from one re-
               initialization of the agent to the next re-
               initialization.";
        }

        leaf hrPartitionLabel {
          smi:oid "1.3.6.1.2.1.25.3.7.1.2";
          type InternationalDisplayString {
            length "0..128";
          }
          config false;
          description
            "A textual description of this partition.";
        }

        leaf hrPartitionID {
          smi:oid "1.3.6.1.2.1.25.3.7.1.3";
          type binary;
          config false;
          description
            "A descriptor which uniquely represents this partition
               to the responsible operating system.  On some systems,
               this might take on a binary representation.";
        }

        leaf hrPartitionSize {
          smi:oid "1.3.6.1.2.1.25.3.7.1.4";
          type KBytes;
          units "KBytes";
          config false;
          description
            "The size of this partition.";
        }

        leaf hrPartitionFSIndex {
          smi:oid "1.3.6.1.2.1.25.3.7.1.5";
          type int32 {
            range "0..2147483647";
          }
          config false;
          description
            "The index of the file system mounted on this
               partition.  If no file system is mounted on this
               partition, then this value shall be zero.  Note that
               multiple partitions may point to one file system,
               denoting that that file system resides on those
               partitions.  Multiple file systems may not reside on
               one partition.";
        }
      }  // list hrPartitionEntry

      list hrFSEntry {
        smi:oid "1.3.6.1.2.1.25.3.8.1";
        key "hrFSIndex";
        description
          "A (conceptual) entry for one file system local to
            this host or remotely mounted from a file server.
            File systems that are in only one user's environment
            on a multi-user system will not be included in this
            table.
            
            As an example of how objects in this table are named,
            an instance of the hrFSMountPoint object might be
            named hrFSMountPoint.3";
        leaf hrFSIndex {
          smi:oid "1.3.6.1.2.1.25.3.8.1.1";
          type int32 {
            range "1..2147483647";
          }
          description
            "A unique value for each file system local to this
               host.  The value for each file system must remain
               constant at least from one re-initialization of the
               agent to the next re-initialization.";
        }

        leaf hrFSMountPoint {
          smi:oid "1.3.6.1.2.1.25.3.8.1.2";
          type InternationalDisplayString {
            length "0..128";
          }
          config false;
          description
            "The path name of the root of this file system.";
        }

        leaf hrFSRemoteMountPoint {
          smi:oid "1.3.6.1.2.1.25.3.8.1.3";
          type InternationalDisplayString {
            length "0..128";
          }
          config false;
          description
            "A description of the name and/or address of the
               server that this file system is mounted from.  This
               may also include parameters such as the mount point on
               the remote file system.  If this is not a remote file
               system, this string should have a length of zero.";
        }

        leaf hrFSType {
          smi:oid "1.3.6.1.2.1.25.3.8.1.4";
          type smiv2:AutonomousType;
          config false;
          description
            "The value of this object identifies the type of this
               file system.";
        }

        leaf hrFSAccess {
          smi:oid "1.3.6.1.2.1.25.3.8.1.5";
          type enumeration {
            enum "readWrite" {
              value 1;
            }
            enum "readOnly" {
              value 2;
            }
          }
          config false;
          description
            "An indication if this file system is logically
               configured by the operating system to be readable and
               writable or only readable.  This does not represent
               any local access-control policy, except one that is
               applied to the file system as a whole.";
        }

        leaf hrFSBootable {
          smi:oid "1.3.6.1.2.1.25.3.8.1.6";
          type smiv2:TruthValue;
          config false;
          description
            "A flag indicating whether this file system is
               bootable.";
        }

        leaf hrFSStorageIndex {
          smi:oid "1.3.6.1.2.1.25.3.8.1.7";
          type int32 {
            range "0..2147483647";
          }
          config false;
          description
            "The index of the hrStorageEntry that represents
               information about this file system.  If there is no
               such information available, then this value shall be
               zero.  The relevant storage entry will be useful in
               tracking the percent usage of this file system and
               diagnosing errors that may occur when it runs out of
               space.";
        }

        leaf hrFSLastFullBackupDate {
          smi:oid "1.3.6.1.2.1.25.3.8.1.8";
          type smiv2:DateAndTime;
          description
            "The last date at which this complete file system was
               
               copied to another storage device for backup.  This
               information is useful for ensuring that backups are
               being performed regularly.
               
               If this information is not known, then this variable
               shall have the value corresponding to January 1, year
               0000, 00:00:00.0, which is encoded as
               (hex)'00 00 01 01 00 00 00 00'.";
        }

        leaf hrFSLastPartialBackupDate {
          smi:oid "1.3.6.1.2.1.25.3.8.1.9";
          type smiv2:DateAndTime;
          description
            "The last date at which a portion of this file system
               was copied to another storage device for backup.  This
               information is useful for ensuring that backups are
               being performed regularly.
               
               If this information is not known, then this variable
               shall have the value corresponding to January 1, year
               0000, 00:00:00.0, which is encoded as
               (hex)'00 00 01 01 00 00 00 00'.";
        }
      }  // list hrFSEntry
    }  // container hrDevice

    container hrSWRun {
      smi:oid "1.3.6.1.2.1.25.4";
      leaf hrSWOSIndex {
        smi:oid "1.3.6.1.2.1.25.4.1";
        type int32 {
          range "1..2147483647";
        }
        config false;
        description
          "The value of the hrSWRunIndex for the hrSWRunEntry
            that represents the primary operating system running
            on this host.  This object is useful for quickly and
            uniquely identifying that primary operating system.";
      }

      list hrSWRunEntry {
        smi:oid "1.3.6.1.2.1.25.4.2.1";
        key "hrSWRunIndex";
        description
          "A (conceptual) entry for one piece of software
            running on the host Note that because the installed
            software table only contains information for software
            stored locally on this host, not every piece of
            running software will be found in the installed
            software table.  This is true of software that was
            loaded and run from a non-local source, such as a
            network-mounted file system.
            
            As an example of how objects in this table are named,
            an instance of the hrSWRunName object might be named
            hrSWRunName.1287";
        leaf hrSWRunIndex {
          smi:oid "1.3.6.1.2.1.25.4.2.1.1";
          type int32 {
            range "1..2147483647";
          }
          description
            "A unique value for each piece of software running on
               the host.  Wherever possible, this should be the
               system's native, unique identification number.";
        }

        leaf hrSWRunName {
          smi:oid "1.3.6.1.2.1.25.4.2.1.2";
          type InternationalDisplayString {
            length "0..64";
          }
          config false;
          description
            "A textual description of this running piece of
               software, including the manufacturer, revision,  and
               the name by which it is commonly known.  If this
               software was installed locally, this should be the
               same string as used in the corresponding
               hrSWInstalledName.";
        }

        leaf hrSWRunID {
          smi:oid "1.3.6.1.2.1.25.4.2.1.3";
          type ProductID;
          config false;
          description
            "The product ID of this running piece of software.";
        }

        leaf hrSWRunPath {
          smi:oid "1.3.6.1.2.1.25.4.2.1.4";
          type InternationalDisplayString {
            length "0..128";
          }
          config false;
          description
            "A description of the location on long-term storage
               (e.g. a disk drive) from which this software was
               loaded.";
        }

        leaf hrSWRunParameters {
          smi:oid "1.3.6.1.2.1.25.4.2.1.5";
          type InternationalDisplayString {
            length "0..128";
          }
          config false;
          description
            "A description of the parameters supplied to this
               software when it was initially loaded.";
        }

        leaf hrSWRunType {
          smi:oid "1.3.6.1.2.1.25.4.2.1.6";
          type enumeration {
            enum "unknown" {
              value 1;
            }
            enum "operatingSystem" {
              value 2;
            }
            enum "deviceDriver" {
              value 3;
            }
            enum "application" {
              value 4;
            }
          }
          config false;
          description
            "The type of this software.";
        }

        leaf hrSWRunStatus {
          smi:oid "1.3.6.1.2.1.25.4.2.1.7";
          type enumeration {
            enum "running" {
              value 1;
            }
            enum "runnable" {
              value 2;
            }
            enum "notRunnable" {
              value 3;
            }
            enum "invalid" {
              value 4;
            }
          }
          description
            "The status of this running piece of software.
               Setting this value to invalid(4) shall cause this
               software to stop running and to be unloaded. Sets to
               other values are not valid.";
        }
      }  // list hrSWRunEntry
    }  // container hrSWRun

    container hrSWRunPerf {
      smi:oid "1.3.6.1.2.1.25.5";
    }  // container hrSWRunPerf

    container hrSWInstalled {
      smi:oid "1.3.6.1.2.1.25.6";
      leaf hrSWInstalledLastChange {
        smi:oid "1.3.6.1.2.1.25.6.1";
        type yang:timeticks;
        config false;
        description
          "The value of sysUpTime when an entry in the
            hrSWInstalledTable was last added, renamed, or
            deleted.  Because this table is likely to contain many
            entries, polling of this object allows a management
            station to determine when re-downloading of the table
            might be useful.";
      }

      leaf hrSWInstalledLastUpdateTime {
        smi:oid "1.3.6.1.2.1.25.6.2";
        type yang:timeticks;
        config false;
        description
          "The value of sysUpTime when the hrSWInstalledTable
            was last completely updated.  Because caching of this
            data will be a popular implementation strategy,
            retrieval of this object allows a management station
            to obtain a guarantee that no data in this table is
            older than the indicated time.";
      }

      list hrSWInstalledEntry {
        smi:oid "1.3.6.1.2.1.25.6.3.1";
        key "hrSWInstalledIndex";
        description
          "A (conceptual) entry for a piece of software
            installed on this host.
            
            As an example of how objects in this table are named,
            an instance of the hrSWInstalledName object might be
            named hrSWInstalledName.96";
        leaf hrSWInstalledIndex {
          smi:oid "1.3.6.1.2.1.25.6.3.1.1";
          type int32 {
            range "1..2147483647";
          }
          description
            "A unique value for each piece of software installed
               on the host.  This value shall be in the range from 1
               to the number of pieces of software installed on the
               host.";
        }

        leaf hrSWInstalledName {
          smi:oid "1.3.6.1.2.1.25.6.3.1.2";
          type InternationalDisplayString {
            length "0..64";
          }
          config false;
          description
            "A textual description of this installed piece of
               software, including the manufacturer, revision, the
               name by which it is commonly known, and optionally,
               its serial number.";
        }

        leaf hrSWInstalledID {
          smi:oid "1.3.6.1.2.1.25.6.3.1.3";
          type ProductID;
          config false;
          description
            "The product ID of this installed piece of software.";
        }

        leaf hrSWInstalledType {
          smi:oid "1.3.6.1.2.1.25.6.3.1.4";
          type enumeration {
            enum "unknown" {
              value 1;
            }
            enum "operatingSystem" {
              value 2;
            }
            enum "deviceDriver" {
              value 3;
            }
            enum "application" {
              value 4;
            }
          }
          config false;
          description
            "The type of this software.";
        }

        leaf hrSWInstalledDate {
          smi:oid "1.3.6.1.2.1.25.6.3.1.5";
          type smiv2:DateAndTime;
          config false;
          description
            "The last-modification date of this application as it
               would appear in a directory listing.
               
               If this information is not known, then this variable
               shall have the value corresponding to January 1, year
               0000, 00:00:00.0, which is encoded as
               (hex)'00 00 01 01 00 00 00 00'.";
        }
      }  // list hrSWInstalledEntry
    }  // container hrSWInstalled

    augment /host-resources:hrSWRun/host-resources:hrSWRunEntry {
      smi:oid "1.3.6.1.2.1.25.5.1.1";
      description
        "A (conceptual) entry containing software performance
         metrics.  As an example, an instance of the
         hrSWRunPerfCPU object might be named
         hrSWRunPerfCPU.1287";
      leaf hrSWRunPerfCPU {
        smi:oid "1.3.6.1.2.1.25.5.1.1.1";
        type int32 {
          range "0..2147483647";
        }
        config false;
        description
          "The number of centi-seconds of the total system's CPU
            resources consumed by this process.  Note that on a
            multi-processor system, this value may increment by
            more than one centi-second in one centi-second of real
            (wall clock) time.";
      }

      leaf hrSWRunPerfMem {
        smi:oid "1.3.6.1.2.1.25.5.1.1.2";
        type KBytes;
        units "KBytes";
        config false;
        description
          "The total amount of real system memory allocated to
            this process.";
      }
    }
  }  // module HOST-RESOURCES-MIB