HP-SWITCH-IMAGE-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
            FROM SNMPv2-SMI
        DisplayString
            FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF
        hpSwitch
            FROM HP-ICF-OID;


    hpSwitchImage MODULE-IDENTITY
       	LAST-UPDATED "201304010000Z" --Apr 01, 2013
        ORGANIZATION "HP Networking"
        CONTACT-INFO "Hewlett Packard Company
                      8000 Foothills Blvd.
                      Roseville, CA 95747"
        DESCRIPTION  "This MIB describes information like build
                      date, image version, build number, image size
                      for the images in the flash(non-volatile
                      memory). This mib will also give similar 
                      details for running software version."
     	REVISION     "201304010000Z" --Apr 01, 2013
        DESCRIPTION  "Added INTEGER named syncing in hpSwitchMgmtModuleStatus."

	REVISION     "200812150000Z" --Dec 15, 2008
        DESCRIPTION  "Initial revision."
        ::= {hpSwitch 59}



    hpSwitchImageObject
        OBJECT IDENTIFIER ::= {hpSwitchImage 1}
    hpSwitchImageConformance
        OBJECT IDENTIFIER ::= {hpSwitchImage 2}
  

----------------------------------------------------------------------
-- Flash Objects
------------------------------------------------------------------------
  
  hpSwitchDefaultBoot     OBJECT-TYPE
        SYNTAX       INTEGER{
                        primary(1),
                        secondary(2)
                        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This object describes the default flash boot image.
                      It may be either primary or secondary image."
        ::= {hpSwitchImageObject 1}


    hpSwitchBootRomVersion  OBJECT-TYPE
        SYNTAX       DisplayString
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This object describes version details of
                      Monitor Rom Console."
        ::= {hpSwitchImageObject 2}


---------------------------------------------------------------
-- Switch Flash Images Table
----------------------------------------------------------------

    hpSwitchFlashImageTable  OBJECT-TYPE
        SYNTAX       SEQUENCE  OF  HpSwitchFlashImageEntry
        MAX-ACCESS   not-accessible 
        STATUS       current
        DESCRIPTION  "Each entry of this table describes
                      information like size of image, build date,
                      image version and build number for the images
                      that are present in the flash. Build number
                      is accessible only in debug build."
        ::= {hpSwitchImageObject 3}

    hpSwitchFlashImageEntry  OBJECT-TYPE
        SYNTAX       HpSwitchFlashImageEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION  "Each entry describes information like size
                      of image, build date, version and build 
                      number. Build number is accessible only in
                      debug build."
        INDEX        {hpSwitchFlashImageType}
        ::= {hpSwitchFlashImageTable 1}


    HpSwitchFlashImageEntry  ::= SEQUENCE{
        hpSwitchFlashImageType         INTEGER,
        hpSwitchFlashImageSize         Unsigned32,
        hpSwitchFlashImageBuildDate    DisplayString,
        hpSwitchFlashImageVersion      DisplayString,
        hpSwitchFlashImageBuildNumber  DisplayString
    }


    hpSwitchFlashImageType OBJECT-TYPE
        SYNTAX       INTEGER{
                      primary(1),
                      secondary(2)
                     }
        MAX-ACCESS   not-accessible 
        STATUS       current
        DESCRIPTION  "This object describes flash image type. It may be 
                      primary or secondary image."
        ::= {hpSwitchFlashImageEntry 1}

    hpSwitchFlashImageSize  OBJECT-TYPE
        SYNTAX       Unsigned32
        UNITS        "Bytes"
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This object describes the image size in
                      bytes." 
        ::= {hpSwitchFlashImageEntry 2}


    hpSwitchFlashImageBuildDate OBJECT-TYPE
        SYNTAX       DisplayString
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This object describes the date on which this
                      image is built."
        ::= {hpSwitchFlashImageEntry 3}



    hpSwitchFlashImageVersion OBJECT-TYPE
        SYNTAX       DisplayString 
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This object describes the version number."
        ::= {hpSwitchFlashImageEntry 4}



    hpSwitchFlashImageBuildNumber OBJECT-TYPE
        SYNTAX       DisplayString
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This object describes the build number. This
                      object is accessible only in debug build."
        ::= {hpSwitchFlashImageEntry 5}



-------------------------------------------------------------------
-- Switch Management Module  Version Table
------------------------------------------------------------------

    hpSwitchMgmtModuleVersionTable  OBJECT-TYPE
        SYNTAX       SEQUENCE  OF  HpSwitchMgmtModuleVersionEntry
        MAX-ACCESS   not-accessible 
        STATUS       current
        DESCRIPTION  "Each entry of this table describes 
                      information like status, image directory
                      path, build date, image version, image build
                      number, boot-image type, build options and
                      watchdog status of the running software version for
                      management modules.
                      In switches other than 8200, only
                      one management module is present. In 8200
                      switches, two management modules are 
                      present." 
        ::= {hpSwitchImageObject 4}

    hpSwitchMgmtModuleVersionEntry  OBJECT-TYPE
        SYNTAX       HpSwitchMgmtModuleVersionEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION  "This entry describes information like status,
                      image directory, build date, image version,
                      image build number, boot-image type, build
                      options and watchdog status of the running software
                      version for management modules."
        INDEX        {hpSwitchMgmtModuleID}
        ::= {hpSwitchMgmtModuleVersionTable 1}


    HpSwitchMgmtModuleVersionEntry  ::= SEQUENCE{
        hpSwitchMgmtModuleID             INTEGER,
        hpSwitchMgmtModuleStatus         INTEGER,
        hpSwitchMgmtModuleDirectory      DisplayString,
        hpSwitchMgmtModuleDate           DisplayString,
        hpSwitchMgmtModuleVersion        DisplayString,
        hpSwitchMgmtModuleBuildNumber    DisplayString,
        hpSwitchMgmtModuleBootImage      INTEGER,
        hpSwitchMgmtModuleBuildOptions   INTEGER,
        hpSwitchMgmtModuleWatchDog       INTEGER
}

    hpSwitchMgmtModuleID    OBJECT-TYPE
        SYNTAX      INTEGER{
                      mgmtModule1(1),
                      mgmtModule2(2)
                    }
        MAX-ACCESS   not-accessible 
        STATUS       current
        DESCRIPTION  "This module ID object is used to uniquely
                      identify the entry in the table."
        ::= {hpSwitchMgmtModuleVersionEntry 1} 

    hpSwitchMgmtModuleStatus  OBJECT-TYPE
        SYNTAX       INTEGER{
                       unknown(1),
                       active(2),
                       redundancyDisabled(3),
                       standby(4),
                       offline(5),
                       failed(6),
                       syncing(7)
                      }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This object describes the status of the running
                      software version for management module.
                      This status can be active,
                      disabled, standby, offline, failed, syncing or 
                      unknown."
        ::= {hpSwitchMgmtModuleVersionEntry 2}
  
 

    hpSwitchMgmtModuleDirectory  OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "This object describes the directory path
                        of the running software version."
        ::= {hpSwitchMgmtModuleVersionEntry 3}

    hpSwitchMgmtModuleDate       OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION   "This object describes the build date
                       of the running software version."
        ::= {hpSwitchMgmtModuleVersionEntry 4}


    hpSwitchMgmtModuleVersion     OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION  "This object describes the version number
                      of the running software version."
        ::={ hpSwitchMgmtModuleVersionEntry 5}


    hpSwitchMgmtModuleBuildNumber OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This object describes the build number of
                         the running software version. This object is 
                         accessible only in debug build."
        ::= {hpSwitchMgmtModuleVersionEntry 6}


    hpSwitchMgmtModuleBootImage   OBJECT-TYPE
        SYNTAX          INTEGER{
                          unknown(1),
                          primary(2),
                          secondary(3)
                          }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "This object gives the image type in which switch
                         is booted up recently. It may be primary or 
                         secondary image. It gives unknown if neither
                         primary nor secondary image is present."
        ::= {hpSwitchMgmtModuleVersionEntry 7}


    hpSwitchMgmtModuleBuildOptions    OBJECT-TYPE
        SYNTAX          INTEGER{
                           unknown(1),
                           qa(2),
                           hubmode(3),
                           debug(4),
                           asicLogging(5)
                           }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This object describes the build options of
                      the running software version."
        ::={ hpSwitchMgmtModuleVersionEntry 8}

 
    hpSwitchMgmtModuleWatchDog        OBJECT-TYPE
        SYNTAX       INTEGER{
                          unknown(1),
                          enabled(2),
                          disabled(3)
                          }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "This object describes whether watchdog is
                      enabled or disabled for the running software version.
                      This gives unknown if not available."
        ::={ hpSwitchMgmtModuleVersionEntry 9}




--------------------------------------------------------------
--
-- Conformance Information
----------------------------------------------------------------
--
     hpSwitchImageGroups    
         OBJECT IDENTIFIER ::= {hpSwitchImageConformance 1}
     hpSwitchImageCompliances 
         OBJECT IDENTIFIER ::= {hpSwitchImageConformance 2}


-- Compliance statements

    hpSwitchImageCompliance MODULE-COMPLIANCE 
        STATUS         current
        DESCRIPTION    "The compliance statement is for
                        hpSwitchFlashImagesGroup,
                        hpSwitchMgmtModuleGroup and
                        hpSwitchBuildGroup."
        MODULE          --this module   
        MANDATORY-GROUPS  { hpSwitchFlashImagesGroup,
                            hpSwitchMgmtModuleGroup}
        GROUP               hpSwitchBuildGroup
        DESCRIPTION    "hpSwitchBuildGroup is an optional group
                        which is accessible only in debug build."
        ::= {hpSwitchImageCompliances 1}

-- MIB Groupings 

    hpSwitchFlashImagesGroup  OBJECT-GROUP 
        OBJECTS {
             hpSwitchFlashImageSize,
             hpSwitchFlashImageBuildDate,
             hpSwitchFlashImageVersion,
             hpSwitchBootRomVersion,
             hpSwitchDefaultBoot
        }
        STATUS         current
        DESCRIPTION    "A mandatory group which is required to 
                        give the details like image size, image 
                        build date, image version, default boot
                        image for the images in the flash. This
                        also gives version of monitor rom console."
        ::= {hpSwitchImageGroups 1}

    hpSwitchMgmtModuleGroup     OBJECT-GROUP
        OBJECTS {
               hpSwitchMgmtModuleStatus,  
               hpSwitchMgmtModuleDirectory,
               hpSwitchMgmtModuleDate,
               hpSwitchMgmtModuleVersion,
               hpSwitchMgmtModuleBootImage
             }
        STATUS        current
        DESCRIPTION   "A mandatory group which is required to
                       give the details like status, boot 
                       directory-path, image build date, image 
                       version and boot-image of the running
                       software version for the management
                       modules."
       ::={hpSwitchImageGroups 2}


    hpSwitchBuildGroup    OBJECT-GROUP
        OBJECTS {
          hpSwitchMgmtModuleBuildNumber,
          hpSwitchFlashImageBuildNumber,
          hpSwitchMgmtModuleBuildOptions,
          hpSwitchMgmtModuleWatchDog
  
       }
        STATUS        current
        DESCRIPTION   "This optional group is accessible only
                       in debug build."
        ::={hpSwitchImageGroups 3}

 END
