--**MOD+***********************************************************************
-- * Module:    hpicfJobScheduler.mib
-- *
-- * Copyright (C) 2013, 2015 Hewlett Packard Enterprise Development LP
-- * All Rights Reserved.
-- * 
-- * The contents of this software are proprietary and confidential
-- * to the Hewlett Packard Enterprise Development LP. No part of this
-- * program may be photocopied, reproduced, or translated into another
-- * programming language without prior written consent of the
-- * Hewlett Packard Enterprise Development LP.
-- *
-- * Purpose: Contains the mib objects for Job Scheduler. 
-- *
-- **MOD-***********************************************************************/

HP-ICF-JOB-SCHEDULER-MIB DEFINITIONS ::= BEGIN

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

    hpicfJobSchedulerMIB MODULE-IDENTITY
        LAST-UPDATED "201605040000Z"  -- May 04, 2016

        ORGANIZATION "HP Networking"
        CONTACT-INFO "Hewlett-Packard Company
                      8000 Foothills Blvd.
                      Roseville, CA 95747"
        DESCRIPTION  "This MIB module contains HP proprietary objects used to
                      configure Job Scheduling."

        REVISION     "201605040000Z"  -- May 04, 2016
        DESCRIPTION  "Added Object hpicfJobSchedulerSkipCount "

        REVISION     "201604190000Z"  -- Apr 19, 2016
        DESCRIPTION  "Added objects hpicfJobSchedulerRunningStatus,
                      hpicfJobSchedulerLastRunTime"

        REVISION     "201508270000Z"  -- Aug 27, 2015
        DESCRIPTION  "Changed description for the object hpicfJobSchedulerStatus "

        REVISION     "201505130000Z"  -- May 13, 2015
        DESCRIPTION  "Added objects hpicfJobSchedulerDelay,
                      hpicfJobSchedulerCount,
                      hpicfJobSchedulerStatus"

        REVISION     "201310050000Z"  -- October 5, 2013
        DESCRIPTION  "Initial version."

        ::= { hpSwitch 105 }

    hpicfJobSchedulerObjects        OBJECT IDENTIFIER ::= { hpicfJobSchedulerMIB 1 }
    hpicfJobSchedulerConformance    OBJECT IDENTIFIER ::= { hpicfJobSchedulerMIB 2 }


-- ****************************************************************************
-- JobSchedulerTable
-- ****************************************************************************

    hpicfJobSchedulerTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpIcfSwitchJobSchedulerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "This table defines a set of jobs which run as per
                     the schedule or when a particular event occurs."
        ::= { hpicfJobSchedulerObjects 1 }

    hpicfJobSchedulerEntry OBJECT-TYPE
        SYNTAX      HpIcfSwitchJobSchedulerEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the table which provides information about 
                    a scheduled job."
        INDEX       { hpicfJobSchedulerName }
        ::= { hpicfJobSchedulerTable 1 }

    HpIcfSwitchJobSchedulerEntry ::=
        SEQUENCE {
            hpicfJobSchedulerName               DisplayString,
            hpicfJobSchedulerRowStatus          RowStatus,
            hpicfJobSchedulerCommand            OCTET STRING,
            hpicfJobSchedulerConfigSave         TruthValue,
            hpicfJobSchedulerRunCount           Unsigned32,
            hpicfJobSchedulerErrorCount         Unsigned32,
            hpicfJobSchedulerLastOutput         OCTET STRING,
            hpicfJobSchedulerEvent              BITS,
            hpicfJobSchedulerCalendarMonth      BITS,
            hpicfJobSchedulerCalendarDayOfMonth BITS,
            hpicfJobSchedulerCalendarDayOfWeek  BITS,
            hpicfJobSchedulerCalendarHour       BITS,
            hpicfJobSchedulerCalendarMinute     BITS,
            hpicfJobSchedulerDelay              Unsigned32,
            hpicfJobSchedulerCount              Unsigned32,
            hpicfJobSchedulerStatus             TruthValue,
            hpicfJobSchedulerRunningStatus      INTEGER,
            hpicfJobSchedulerLastRunTime        DateAndTime,
            hpicfJobSchedulerSkipCount          Unsigned32
        }

    hpicfJobSchedulerName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(1..40))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A unique name for a scheduled job."
        ::= { hpicfJobSchedulerEntry 1 }

    hpicfJobSchedulerRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The Row Status of this entry.

                     To create a new entry, send an SNMP SET request with a
                     RowStatus of 'createAndGo'.

                     active - the job is ready to run as scheduled.
                     
                     notInService - not valid for this table.

                     notReady - the job is not fully configured.

                     createAndGo - create a new entry.

                     createAndWait - not valid for this table.

                     delete - delete the entry."
        ::= { hpicfJobSchedulerEntry 2 }

    hpicfJobSchedulerCommand OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The CLI command to execute when the job is run."
        ::= { hpicfJobSchedulerEntry 3 }

    hpicfJobSchedulerConfigSave OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This flag causes any configuration changes made by the
                     job to be saved at completion."
        ::= { hpicfJobSchedulerEntry 4 }

    hpicfJobSchedulerRunCount OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of times since the device booted that the
                     job has run."
        ::= { hpicfJobSchedulerEntry 5 }

    hpicfJobSchedulerErrorCount OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of times since the device booted that the
                     job has resulted in an error."
        ::= { hpicfJobSchedulerEntry 6 }

    hpicfJobSchedulerLastOutput OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (0..255))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The first 255 characters of output from the last job
                     execution."
        ::= { hpicfJobSchedulerEntry 7 }

    hpicfJobSchedulerEvent OBJECT-TYPE
        SYNTAX      BITS {
                        reboot (0),
                        failover (1)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A set of events that will cause this job to run.

                     reboot - the job is run as soon as possible after the
                          device boots.

                     failover - the job is executed after failover to a
                          standby management module.  This event only applies
                          to devices that have a standby module and is ignored
                          on other devices.

                     The Calendar schedule objects below are ignored when
                     any event bit is set in this object."
        ::= { hpicfJobSchedulerEntry 8 }

    hpicfJobSchedulerCalendarMonth OBJECT-TYPE
        SYNTAX      BITS {
                        january(0),
                        february(1),
                        march(2),
                        april(3),
                        may(4),
                        june(5),
                        july(6),
                        august(7),
                        september(8),
                        october(9),
                        november(10),
                        december(11)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The set of months when this job should run.  Some devices
                     may allow only a single month to be specified in the bitmap."
        ::= { hpicfJobSchedulerEntry 9 }

    hpicfJobSchedulerCalendarDayOfMonth OBJECT-TYPE
        SYNTAX      BITS {
                        d1(0),   d2(1),   d3(2),   d4(3),   d5(4),
                        d6(5),   d7(6),   d8(7),   d9(8),   d10(9),
                        d11(10), d12(11), d13(12), d14(13), d15(14),
                        d16(15), d17(16), d18(17), d19(18), d20(19),
                        d21(20), d22(21), d23(22), d24(23), d25(24),
                        d26(25), d27(26), d28(27), d29(28), d30(29),
                        d31(30),
                        r1(31),  r2(32),  r3(33),  r4(34),  r5(35),
                        r6(36),  r7(37),  r8(38),  r9(39),  r10(40),
                        r11(41), r12(42), r13(43), r14(44), r15(45),
                        r16(46), r17(47), r18(48), r19(49), r20(50),
                        r21(51), r22(52), r23(53), r24(54), r25(55),
                        r26(56), r27(57), r28(58), r29(59), r30(60),
                        r31(61)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The set of days of the month when this job should run.
                     Bits beginning with 'd' specify a day relative to the
                     first day of the month.  Bits beginning with 'r' specify
                     a day relative to the last day of the month.  Bit 'r1'
                     is the last day of the month, bit 'r2' is the second to
                     last day of the month, etc.

                     Some devices may allow only a single day to be specified
                     in the bitmap."
        ::= { hpicfJobSchedulerEntry 10 }

    hpicfJobSchedulerCalendarDayOfWeek OBJECT-TYPE
        SYNTAX      BITS {
                        sunday(0),
                        monday(1),
                        tuesday(2),
                        wednesday(3),
                        thursday(4),
                        friday(5),
                        saturday(6)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The days of the week when the job is scheduled to run.
                     The Month and DayOfMonth objects above are ignored when
                     any bit is set in this object."
        ::= { hpicfJobSchedulerEntry 11 }

    hpicfJobSchedulerCalendarHour OBJECT-TYPE
        SYNTAX      BITS {
                        h0(0),   h1(1),   h2(2),   h3(3),   h4(4),
                        h5(5),   h6(6),   h7(7),   h8(8),   h9(9),
                        h10(10), h11(11), h12(12), h13(13), h14(14),
                        h15(15), h16(16), h17(17), h18(18), h19(19),
                        h20(20), h21(21), h22(22), h23(23)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A bitmap of hours of the day when the job is scheduled
                     to run.  Times are local.  Some devices may allow only
                     a single hour to be specified in the bitmap."
        ::= { hpicfJobSchedulerEntry 12 }

    hpicfJobSchedulerCalendarMinute OBJECT-TYPE
        SYNTAX      BITS {
                        m0(0),   m1(1),   m2(2),   m3(3),   m4(4),
                        m5(5),   m6(6),   m7(7),   m8(8),   m9(9),
                        m10(10), m11(11), m12(12), m13(13), m14(14),
                        m15(15), m16(16), m17(17), m18(18), m19(19),
                        m20(20), m21(21), m22(22), m23(23), m24(24),
                        m25(25), m26(26), m27(27), m28(28), m29(29),
                        m30(30), m31(31), m32(32), m33(33), m34(34),
                        m35(35), m36(36), m37(37), m38(38), m39(39),
                        m40(40), m41(41), m42(42), m43(43), m44(44),
                        m45(45), m46(46), m47(47), m48(48), m49(49),
                        m50(50), m51(51), m52(52), m53(53), m54(54),
                        m55(55), m56(56), m57(57), m58(58), m59(59)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A bitmap of minutes of the hour when the job is scheduled
                     to run.  Times are local.  This value is combined with the
                     Hour bitmap to create a set of times for the job to run on
                     each scheduled day.  Some devices may allow only a single
                     minute to be specified in the bitmap."
        ::= { hpicfJobSchedulerEntry 13 }

    hpicfJobSchedulerDelay OBJECT-TYPE
        SYNTAX      Unsigned32 (1..527039)
        UNITS       "minutes" 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The delay in minutes before running the job. For recurring
                     jobs, this value is the delay before running 
                     the job again." 
        ::= { hpicfJobSchedulerEntry 14 }

    hpicfJobSchedulerCount OBJECT-TYPE
        SYNTAX      Unsigned32 (0..1000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The object is set to determine the number of times this job would run.
                     The object value is set 0 if the job has no expiration count. "
        ::= { hpicfJobSchedulerEntry 15 }

    hpicfJobSchedulerStatus OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether the job is enabled or disabled.
                     The object has value true(1) if job status is enabled;
                     otherwise the object has value false(2) if job is disabled. "
        ::= { hpicfJobSchedulerEntry 16 }

    hpicfJobSchedulerRunningStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        active(1),
                        inactive(2),
                        expired(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates whether the job running status is Active,
                     Inactive or Expired. If the job is running,
                     the status becomes Active. If the count has Expired,
                     the status becomes Expired and if the job is
                     Disabled, the running status becomes Inactive."
        ::= { hpicfJobSchedulerEntry 17 }

    hpicfJobSchedulerLastRunTime OBJECT-TYPE
        SYNTAX      DateAndTime  
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates the Last Run date and time of the
                     scheduled job.When job has not run even for once,
                     it will show value as 0."
        ::= { hpicfJobSchedulerEntry 18 }

    hpicfJobSchedulerSkipCount OBJECT-TYPE
        SYNTAX      Unsigned32 (0..1000)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This object indicates the number of times this job is skipped for execution. If no job is skipped, the value of this object is set to 0. "
        ::= { hpicfJobSchedulerEntry 19 }



-- ****************************************************************************
-- Conformance Information  
-- ****************************************************************************

-- units of conformance

    hpicfJobSchedulerGroup OBJECT-GROUP
       OBJECTS {
            hpicfJobSchedulerRowStatus,
            hpicfJobSchedulerCommand,
            hpicfJobSchedulerConfigSave,
            hpicfJobSchedulerRunCount,
            hpicfJobSchedulerErrorCount,
            hpicfJobSchedulerLastOutput,
            hpicfJobSchedulerEvent,
            hpicfJobSchedulerCalendarMonth,
            hpicfJobSchedulerCalendarDayOfMonth,
            hpicfJobSchedulerCalendarDayOfWeek,
            hpicfJobSchedulerCalendarHour,
            hpicfJobSchedulerCalendarMinute
        }
        STATUS      deprecated
        DESCRIPTION "A collection of objects providing configuration
                     of scheduled jobs."
        ::= { hpicfJobSchedulerMIBGroups 1 }

    hpicfJobSchedulerGroup1 OBJECT-GROUP
       OBJECTS {
            hpicfJobSchedulerRowStatus,
            hpicfJobSchedulerCommand,
            hpicfJobSchedulerConfigSave,
            hpicfJobSchedulerRunCount,
            hpicfJobSchedulerErrorCount,
            hpicfJobSchedulerLastOutput,
            hpicfJobSchedulerEvent,
            hpicfJobSchedulerCalendarMonth,
            hpicfJobSchedulerCalendarDayOfMonth,
            hpicfJobSchedulerCalendarDayOfWeek,
            hpicfJobSchedulerCalendarHour,
            hpicfJobSchedulerCalendarMinute,
            hpicfJobSchedulerDelay,
            hpicfJobSchedulerCount,
            hpicfJobSchedulerStatus
        }
        STATUS      deprecated
        DESCRIPTION "A collection of objects providing configuration
                     of scheduled jobs."
        ::= { hpicfJobSchedulerMIBGroups 2 }

    hpicfJobSchedulerGroup2 OBJECT-GROUP
       OBJECTS {
            hpicfJobSchedulerRowStatus,
            hpicfJobSchedulerCommand,
            hpicfJobSchedulerConfigSave,
            hpicfJobSchedulerRunCount,
            hpicfJobSchedulerErrorCount,
            hpicfJobSchedulerLastOutput,
            hpicfJobSchedulerEvent,
            hpicfJobSchedulerCalendarMonth,
            hpicfJobSchedulerCalendarDayOfMonth,
            hpicfJobSchedulerCalendarDayOfWeek,
            hpicfJobSchedulerCalendarHour,
            hpicfJobSchedulerCalendarMinute,
            hpicfJobSchedulerDelay,
            hpicfJobSchedulerCount,
            hpicfJobSchedulerStatus,
            hpicfJobSchedulerRunningStatus,
            hpicfJobSchedulerLastRunTime
        }
        STATUS      deprecated
        DESCRIPTION "A collection of objects providing configuration
                     of scheduled jobs."
        ::= { hpicfJobSchedulerMIBGroups 3 }

    hpicfJobSchedulerGroup3 OBJECT-GROUP
       OBJECTS {
            hpicfJobSchedulerRowStatus,
            hpicfJobSchedulerCommand,
            hpicfJobSchedulerConfigSave,
            hpicfJobSchedulerRunCount,
            hpicfJobSchedulerErrorCount,
            hpicfJobSchedulerLastOutput,
            hpicfJobSchedulerEvent,
            hpicfJobSchedulerCalendarMonth,
            hpicfJobSchedulerCalendarDayOfMonth,
            hpicfJobSchedulerCalendarDayOfWeek,
            hpicfJobSchedulerCalendarHour,
            hpicfJobSchedulerCalendarMinute,
            hpicfJobSchedulerDelay,
            hpicfJobSchedulerCount,
            hpicfJobSchedulerStatus,
            hpicfJobSchedulerRunningStatus,
            hpicfJobSchedulerLastRunTime,
            hpicfJobSchedulerSkipCount
        }
        STATUS      current
        DESCRIPTION "A collection of objects providing configuration
                     of scheduled jobs."
        ::= { hpicfJobSchedulerMIBGroups 4 }
 
    hpicfJobSchedulerMIBCompliances OBJECT IDENTIFIER ::= { hpicfJobSchedulerConformance 1 }
    hpicfJobSchedulerMIBGroups      OBJECT IDENTIFIER ::= { hpicfJobSchedulerConformance 2 }

-- compliance statements

    hpicfJobSchedulerMIBCompliance MODULE-COMPLIANCE
        STATUS      deprecated
        DESCRIPTION "The compliance statement for device support of
                     HP-ICF-JOB-SCHEDULER-MIB."
        MODULE -- This Module
        MANDATORY-GROUPS {
            hpicfJobSchedulerGroup
        }
        ::= { hpicfJobSchedulerMIBCompliances 1 }

    hpicfJobSchedulerMIBCompliance1 MODULE-COMPLIANCE
        STATUS      deprecated
        DESCRIPTION "The compliance statement for device support of
                     HP-ICF-JOB-SCHEDULER-MIB."
        MODULE -- This Module
        MANDATORY-GROUPS {
            hpicfJobSchedulerGroup1
        }
        ::= { hpicfJobSchedulerMIBCompliances 2 }

    hpicfJobSchedulerMIBCompliance2 MODULE-COMPLIANCE
        STATUS      deprecated
        DESCRIPTION "The compliance statement for device support of
                     HP-ICF-JOB-SCHEDULER-MIB."
        MODULE -- This Module
        MANDATORY-GROUPS {
            hpicfJobSchedulerGroup2
        }
        ::= { hpicfJobSchedulerMIBCompliances 3 }

    hpicfJobSchedulerMIBCompliance3 MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION "The compliance statement for device support of
                     HP-ICF-JOB-SCHEDULER-MIB."
        MODULE -- This Module
        MANDATORY-GROUPS {
            hpicfJobSchedulerGroup3
        }
        ::= { hpicfJobSchedulerMIBCompliances 4 }

END
