HP-ICF-SVCS-APP-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE, 
        Integer32
            FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP
            FROM SNMPv2-CONF
        RowStatus,
        MacAddress,
        TEXTUAL-CONVENTION,
        AutonomousType,
        TruthValue 
            FROM SNMPv2-TC
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
        PortList
            FROM Q-BRIDGE-MIB
        InetAddressType,
        InetAddress
            FROM INET-ADDRESS-MIB
        entPhysicalIndex
            FROM ENTITY-MIB
        hpSwitch
            FROM HP-ICF-OID;

    hpicfSvcsAppMIB MODULE-IDENTITY
        LAST-UPDATED "201105270000Z"
        ORGANIZATION "HP Networking"
        CONTACT-INFO "Hewlett Packard Company
                      8000 Foothills Blvd.
                      Roseville, CA 95747"
        DESCRIPTION  "This MIB manages various parameters of 
                      services module applications."
                        
        REVISION     "201105270000Z"
        DESCRIPTION  "Initial revision."

        ::= { hpSwitch 86 }


    hpicfSvcsAppNotifications OBJECT IDENTIFIER ::= { hpicfSvcsAppMIB 0 }
    hpicfSvcsAppObjects       OBJECT IDENTIFIER ::= { hpicfSvcsAppMIB 1 }
    hpicfSvcsAppConformance   OBJECT IDENTIFIER ::= { hpicfSvcsAppMIB 2 }

-- ****************************************************************************
-- Textual Conventions
-- ****************************************************************************

    AppStatus ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "Status of the Services module application.

                     The value other(1) represents the application status is 
                     other than one of the states below.

                     The value unknown(2) represents the application status is in
                     Unknown state such as uninitialized.

                     The value bootinit(3) represents the boot process is initializing.

                     The value booting(4) represents the application is in
                     Process of booting.

                     The value boot failure(5) represents the application has failed to 
                     Boot for some reason.

                     The value halted(6) represents the application has been shutdown                  
                     and/or halted.

                     The value rebooting(7) represents the application is rebooting.

                     The value ready(8) represents the platform OS is ready to run an               
                     application.

                     The value appInit(9) represents the application is initializing.

                     The value appError(10) represents the application has errored/failed.

                     The value appRunning(11) represents the application is running.

                     The value shuttingDown(12) represents the application is shutting down." 

      SYNTAX     INTEGER {
                      other(1),
                      unknown(2),
                      bootInit(3),
                      booting(4),
                      bootFailure(5),
                      halted(6),
                      rebooting(7),
                      ready(8),
                      appInit(9),
                      appError(10),
                      appRunning(11),
                      shuttingDown(12)
                    }

-- ****************************************************************************
--  SERVICES MODULE INSTALLED APPLICATION TABLE
-- ****************************************************************************

    hpicfSvcsInstalledAppTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfSvcsInstalledAppEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table of installed services application images."
        ::= { hpicfSvcsAppObjects 1 }

    hpicfSvcsInstalledAppEntry OBJECT-TYPE
        SYNTAX      HpicfSvcsInstalledAppEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the services installed application table."
        INDEX { entPhysicalIndex }
        ::= { hpicfSvcsInstalledAppTable 1 }


    HpicfSvcsInstalledAppEntry ::= SEQUENCE {
           hpicfSvcsInstalledAppPlatformType      AutonomousType,
           hpicfSvcsInstalledAppDescription       SnmpAdminString,
           hpicfSvcsInstalledAppVersion           SnmpAdminString,
           hpicfSvcsInstalledAppStatus            AppStatus,
           hpicfSvcsInstalledAppJNumber           SnmpAdminString,
           hpicfSvcsInstalledAppLicensingStatus   INTEGER,
           hpicfSvcsInstalledAppRowStatus         RowStatus
       }

    hpicfSvcsInstalledAppPlatformType OBJECT-TYPE
        SYNTAX      AutonomousType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "An object that points to the Services platform type.
                     If the value is unknown by this agent, then the 
                     value { 0 0 } is returned."
    ::= { hpicfSvcsInstalledAppEntry 1 }

    hpicfSvcsInstalledAppDescription OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Description of the application.
                     Can include specific information regarding this 
                     application including model or product name."
    ::= { hpicfSvcsInstalledAppEntry 2 }

    hpicfSvcsInstalledAppVersion OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Version of the installed application."
    ::= { hpicfSvcsInstalledAppEntry 3 }

    hpicfSvcsInstalledAppStatus OBJECT-TYPE
        SYNTAX      AppStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Status of the installed services application."
       ::= { hpicfSvcsInstalledAppEntry 4 }

    hpicfSvcsInstalledAppJNumber OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "J-Number of the installed services application."
    ::= { hpicfSvcsInstalledAppEntry 5 }

    hpicfSvcsInstalledAppLicensingStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                      active (1),
                      expired (2),
                      unknown (3)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Licensing status of the installed services application.
                    A value active(1), represents the licensing
                    status is available and active.
                    A value expired(2), represents the licensing
                    status is available and expired.
                    A value unknown(3), represents the  licensing
                    status is not available."
    ::= { hpicfSvcsInstalledAppEntry 6 }

    hpicfSvcsInstalledAppRowStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION  "This object permits management of the table by
                      facilitating actions such as row creation,
                      construction, and destruction.
                      The value of this object has no effect on
                      whether other objects in this conceptual row can be
                      modified."
    ::= { hpicfSvcsInstalledAppEntry 7 }


-- ****************************************************************************
--  SERVICES VERSION 1 APPLICATION TABLE
-- ****************************************************************************

    hpicfSvcsV1AppTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfSvcsV1AppEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Version 1 table of Active application connections to 
                     Switch services."	
        ::= { hpicfSvcsAppObjects 2 }

    hpicfSvcsV1AppEntry OBJECT-TYPE
        SYNTAX      HpicfSvcsV1AppEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the version 1 application table."
        INDEX { entPhysicalIndex }
        ::= { hpicfSvcsV1AppTable 1 }


    HpicfSvcsV1AppEntry ::= SEQUENCE {
           hpicfSvcsV1AppIndex              Integer32,
           hpicfSvcsV1AppCLIAvailable       TruthValue,
           hpicfSvcsV1AppName               SnmpAdminString,
           hpicfSvcsV1AppDescription        SnmpAdminString,
           hpicfSvcsV1AppVersion            SnmpAdminString,
           hpicfSvcsV1AppStatus             AppStatus,
           hpicfSvcsV1AppJNumber            SnmpAdminString,
           hpicfSvcsV1AppURL                SnmpAdminString,
           hpicfSvcsV1AppRowStatus          RowStatus
       }

    hpicfSvcsV1AppIndex OBJECT-TYPE
        SYNTAX      Integer32 (1..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Index of the Version 1 services application."
    ::= { hpicfSvcsV1AppEntry 1 }

    hpicfSvcsV1AppCLIAvailable OBJECT-TYPE
        SYNTAX      TruthValue  
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "CLI status of the Version 1 services application."
    ::= { hpicfSvcsV1AppEntry 2 }

    hpicfSvcsV1AppName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..64))
        MAX-ACCESS  read-create 
        STATUS      current
        DESCRIPTION "Name of the application.  Each application is uniquely
                     identified by its name. If application name is not available,
                     a string of size zero will be returned."
        ::= { hpicfSvcsV1AppEntry 3 }

    hpicfSvcsV1AppDescription OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Description of the application.
                     Can include specific information regarding this 
                     application including model or product name."
    ::= { hpicfSvcsV1AppEntry 4 }

    hpicfSvcsV1AppVersion OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Version of the Version 1 application. 
                     A string of size zero will be returned if the 
                     Version 1 application version is not available,."
    ::= { hpicfSvcsV1AppEntry 5 }

    hpicfSvcsV1AppStatus OBJECT-TYPE
        SYNTAX      AppStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Status of the Version 1 services application."
       ::= { hpicfSvcsV1AppEntry 6 }

    hpicfSvcsV1AppJNumber OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "J-Number of the Version 1 services application."
    ::= { hpicfSvcsV1AppEntry 7 }

    hpicfSvcsV1AppURL OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..128))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "URL of the Version 1 services application.
                    A string of size zero will be returned if the 
                    Version 1 application URL is not available."
    ::= { hpicfSvcsV1AppEntry 8 }

    hpicfSvcsV1AppRowStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION  "This object permits management of the table by
                      facilitating actions such as row creation,
                      construction, and destruction.
                      The value of this object has no effect on
                      whether other objects in this conceptual row can be
                      modified."
    ::= { hpicfSvcsV1AppEntry 9 }

-- ****************************************************************************
-- Conformance Groups
-- ****************************************************************************
    hpicfSvcsAppCompliances   OBJECT IDENTIFIER ::= { hpicfSvcsAppConformance 1 }
    hpicfSvcsAppGroups        OBJECT IDENTIFIER ::= { hpicfSvcsAppConformance 2 }

    hpicfSvcsAppCompliance MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION "The compliance statement for HP routers
                     implementing the HP-ICF-SVCS-APP-MIB."
        MODULE
            MANDATORY-GROUPS { hpicfSvcsInstalledAppGroup, 
                               hpicfSvcsV1AppGroup }
            GROUP       hpicfSvcsInstalledAppGroup 
            DESCRIPTION "Support for this group is required for HP routers
                         that implement Services Installed applications."

            OBJECT    hpicfSvcsInstalledAppPlatformType 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsInstalledAppDescription 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsInstalledAppVersion 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsInstalledAppStatus 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsInstalledAppJNumber 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsInstalledAppLicensingStatus 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsInstalledAppRowStatus 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT hpicfSvcsV1AppIndex
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT     hpicfSvcsV1AppCLIAvailable
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT     hpicfSvcsV1AppName
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT   hpicfSvcsV1AppDescription  
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsV1AppVersion 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsV1AppStatus 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsV1AppJNumber 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsV1AppURL 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

            OBJECT    hpicfSvcsV1AppRowStatus 
            MIN-ACCESS read-only
            DESCRIPTION "Write access is not required."

        ::= { hpicfSvcsAppCompliances 1 }

    
    hpicfSvcsInstalledAppGroup OBJECT-GROUP
        OBJECTS     { hpicfSvcsInstalledAppPlatformType,
                      hpicfSvcsInstalledAppDescription,
                      hpicfSvcsInstalledAppVersion,
                      hpicfSvcsInstalledAppStatus,
                      hpicfSvcsInstalledAppJNumber,
                      hpicfSvcsInstalledAppLicensingStatus,
                      hpicfSvcsInstalledAppRowStatus
                    }
        STATUS      current
        DESCRIPTION "Services installed application group objects."
        ::= { hpicfSvcsAppGroups 1 }

    hpicfSvcsV1AppGroup OBJECT-GROUP
        OBJECTS     { hpicfSvcsV1AppIndex,
                      hpicfSvcsV1AppCLIAvailable,
                      hpicfSvcsV1AppName,
                      hpicfSvcsV1AppDescription,
                      hpicfSvcsV1AppVersion,
                      hpicfSvcsV1AppStatus,
                      hpicfSvcsV1AppJNumber,
                      hpicfSvcsV1AppURL,
                      hpicfSvcsV1AppRowStatus
                    }
        STATUS      current
        DESCRIPTION "Services Version 1 application group objects."
        ::= { hpicfSvcsAppGroups 2 }

END
