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 {
         leaf hrSystemUptime {
            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.";
            smi:oid "1.3.6.1.2.1.25.1.1";
         }

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

         leaf hrSystemInitialLoadDevice {
            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.";
            smi:oid "1.3.6.1.2.1.25.1.3";
         }

         leaf hrSystemInitialLoadParameters {
            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.";
            smi:oid "1.3.6.1.2.1.25.1.4";
         }

         leaf hrSystemNumUsers {
            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.";
            smi:oid "1.3.6.1.2.1.25.1.5";
         }

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

         leaf hrSystemMaxProcesses {
            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.";
            smi:oid "1.3.6.1.2.1.25.1.7";
         }
         smi:oid "1.3.6.1.2.1.25.1";
      }  // container hrSystem

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

         list hrStorageEntry {
            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 {
               type int32 {
                  range "1..2147483647";
               }
               description
                  "A unique value for each logical storage area
                  contained by the host.";
               smi:oid "1.3.6.1.2.1.25.2.3.1.1";
            }

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

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

            leaf hrStorageAllocationUnits {
               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.";
               smi:oid "1.3.6.1.2.1.25.2.3.1.4";
            }

            leaf hrStorageSize {
               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.";
               smi:oid "1.3.6.1.2.1.25.2.3.1.5";
            }

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

            leaf hrStorageAllocationFailures {
               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.";
               smi:oid "1.3.6.1.2.1.25.2.3.1.7";
            }
            smi:oid "1.3.6.1.2.1.25.2.3.1";
         }  // list hrStorageEntry
         smi:oid "1.3.6.1.2.1.25.2";
      }  // container hrStorage

      container hrDevice {
         list hrDeviceEntry {
            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 {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.2.1.1";
            }

            leaf hrDeviceType {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.2.1.2";
            }

            leaf hrDeviceDescr {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.2.1.3";
            }

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

            leaf hrDeviceStatus {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.2.1.5";
            }

            leaf hrDeviceErrors {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.2.1.6";
            }
            smi:oid "1.3.6.1.2.1.25.3.2.1";
         }  // list hrDeviceEntry

         list hrProcessorEntry {
            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 {
               type ProductID;
               config "false";
               description
                  "The product ID of the firmware associated with the
                  processor.";
               smi:oid "1.3.6.1.2.1.25.3.3.1.1";
            }

            leaf hrProcessorLoad {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.3.1.2";
            }
            smi:oid "1.3.6.1.2.1.25.3.3.1";
         }  // list hrProcessorEntry

         list hrNetworkEntry {
            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 {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.4.1.1";
            }
            smi:oid "1.3.6.1.2.1.25.3.4.1";
         }  // list hrNetworkEntry

         list hrPrinterEntry {
            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 {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.5.1.1";
            }

            leaf hrPrinterDetectedErrorState {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.5.1.2";
            }
            smi:oid "1.3.6.1.2.1.25.3.5.1";
         }  // list hrPrinterEntry

         list hrDiskStorageEntry {
            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 {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.6.1.1";
            }

            leaf hrDiskStorageMedia {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.6.1.2";
            }

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

            leaf hrDiskStorageCapacity {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.6.1.4";
            }
            smi:oid "1.3.6.1.2.1.25.3.6.1";
         }  // list hrDiskStorageEntry

         list hrPartitionEntry {
            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 {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.7.1.1";
            }

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

            leaf hrPartitionID {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.7.1.3";
            }

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

            leaf hrPartitionFSIndex {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.7.1.5";
            }
            smi:oid "1.3.6.1.2.1.25.3.7.1";
         }  // list hrPartitionEntry

         list hrFSEntry {
            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 {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.8.1.1";
            }

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

            leaf hrFSRemoteMountPoint {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.8.1.3";
            }

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

            leaf hrFSAccess {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.8.1.5";
            }

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

            leaf hrFSStorageIndex {
               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.";
               smi:oid "1.3.6.1.2.1.25.3.8.1.7";
            }

            leaf hrFSLastFullBackupDate {
               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'.";
               smi:oid "1.3.6.1.2.1.25.3.8.1.8";
            }

            leaf hrFSLastPartialBackupDate {
               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'.";
               smi:oid "1.3.6.1.2.1.25.3.8.1.9";
            }
            smi:oid "1.3.6.1.2.1.25.3.8.1";
         }  // list hrFSEntry
         smi:oid "1.3.6.1.2.1.25.3";
      }  // container hrDevice

      container hrSWRun {
         leaf hrSWOSIndex {
            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.";
            smi:oid "1.3.6.1.2.1.25.4.1";
         }

         list hrSWRunEntry {
            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 {
               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.";
               smi:oid "1.3.6.1.2.1.25.4.2.1.1";
            }

            leaf hrSWRunName {
               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.";
               smi:oid "1.3.6.1.2.1.25.4.2.1.2";
            }

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

            leaf hrSWRunPath {
               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.";
               smi:oid "1.3.6.1.2.1.25.4.2.1.4";
            }

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

            leaf hrSWRunType {
               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.";
               smi:oid "1.3.6.1.2.1.25.4.2.1.6";
            }

            leaf hrSWRunStatus {
               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.";
               smi:oid "1.3.6.1.2.1.25.4.2.1.7";
            }
            smi:oid "1.3.6.1.2.1.25.4.2.1";
         }  // list hrSWRunEntry
         smi:oid "1.3.6.1.2.1.25.4";
      }  // container hrSWRun

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

      container hrSWInstalled {
         leaf hrSWInstalledLastChange {
            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.";
            smi:oid "1.3.6.1.2.1.25.6.1";
         }

         leaf hrSWInstalledLastUpdateTime {
            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.";
            smi:oid "1.3.6.1.2.1.25.6.2";
         }

         list hrSWInstalledEntry {
            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 {
               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.";
               smi:oid "1.3.6.1.2.1.25.6.3.1.1";
            }

            leaf hrSWInstalledName {
               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.";
               smi:oid "1.3.6.1.2.1.25.6.3.1.2";
            }

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

            leaf hrSWInstalledType {
               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.";
               smi:oid "1.3.6.1.2.1.25.6.3.1.4";
            }

            leaf hrSWInstalledDate {
               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'.";
               smi:oid "1.3.6.1.2.1.25.6.3.1.5";
            }
            smi:oid "1.3.6.1.2.1.25.6.3.1";
         }  // list hrSWInstalledEntry
         smi:oid "1.3.6.1.2.1.25.6";
      }  // container hrSWInstalled

      augment /host-resources:hrSWRun/host-resources:hrSWRunEntry {
         description
            "A (conceptual) entry containing software performance
            metrics.  As an example, an instance of the
            hrSWRunPerfCPU object might be named
            hrSWRunPerfCPU.1287";
         leaf hrSWRunPerfCPU {
            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.";
            smi:oid "1.3.6.1.2.1.25.5.1.1.1";
         }

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