1DISMAN-SCHEDULE-MIB DEFINITIONS ::= BEGIN
2
3IMPORTS
4    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
5    Integer32, Unsigned32, Counter32, mib-2, zeroDotZero
6        FROM SNMPv2-SMI
7
8    TEXTUAL-CONVENTION,
9    DateAndTime, RowStatus, StorageType, VariablePointer
10        FROM SNMPv2-TC
11
12    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
13        FROM SNMPv2-CONF
14
15    SnmpAdminString
16        FROM SNMP-FRAMEWORK-MIB;
17
18schedMIB MODULE-IDENTITY
19    LAST-UPDATED "200201070000Z"
20    ORGANIZATION "IETF Distributed Management Working Group"
21    CONTACT-INFO
22        "WG EMail:  disman@dorothy.bmc.com
23         Subscribe: disman-request@dorothy.bmc.com
24
25         Chair:     Randy Presuhn
26                    BMC Software, Inc.
27         Postal:    Office 1-3141
28                    2141 North First Street
29                    San Jose,  California 95131
30                    USA
31         EMail:     rpresuhn@bmc.com
32         Phone:     +1 408 546-1006
33
34         Editor:    David B. Levi
35                    Nortel Networks
36         Postal:    4401 Great America Parkway
37                    Santa Clara, CA 95052-8185
38                    USA
39         EMail:     dlevi@nortelnetworks.com
40         Phone:     +1 865 686 0432
41
42         Editor:    Juergen Schoenwaelder
43                    TU Braunschweig
44         Postal:    Bueltenweg 74/75
45                    38106 Braunschweig
46                    Germany
47         EMail:     schoenw@ibr.cs.tu-bs.de
48         Phone:     +49 531 391-3283"
49    DESCRIPTION
50        "This MIB module defines a MIB which provides mechanisms to
51         schedule SNMP set operations periodically or at specific
52         points in time."
53    REVISION    "200201070000Z"
54    DESCRIPTION
55        "Revised version, published as RFC 3231.
56
57         This revision introduces a new object type called
58         schedTriggers.  Created new conformance and compliance
59         statements that take care of the new schedTriggers object.
60
61         Several clarifications have been added to remove ambiguities
62         that were discovered and reported by implementors."
63    REVISION    "199811171800Z"
64    DESCRIPTION
65        "Initial version, published as RFC 2591."
66    ::= { mib-2 63 }
67
68--
69-- The various groups defined within this MIB definition:
70--
71
72schedObjects       OBJECT IDENTIFIER ::= { schedMIB 1 }
73schedNotifications OBJECT IDENTIFIER ::= { schedMIB 2 }
74schedConformance   OBJECT IDENTIFIER ::= { schedMIB 3 }
75
76--
77-- Textual Conventions:
78--
79
80SnmpPduErrorStatus ::= TEXTUAL-CONVENTION
81    STATUS       current
82    DESCRIPTION
83        "This TC enumerates the SNMPv1 and SNMPv2 PDU error status
84         codes as defined in RFC 1157 and RFC 1905.  It also adds a
85         pseudo error status code `noResponse' which indicates a
86         timeout condition."
87    SYNTAX      INTEGER {
88                    noResponse(-1),
89                    noError(0),
90                    tooBig(1),
91                    noSuchName(2),
92                    badValue(3),
93                    readOnly(4),
94                    genErr(5),
95                    noAccess(6),
96                    wrongType(7),
97                    wrongLength(8),
98                    wrongEncoding(9),
99                    wrongValue(10),
100                    noCreation(11),
101                    inconsistentValue(12),
102                    resourceUnavailable(13),
103                    commitFailed(14),
104                    undoFailed(15),
105                    authorizationError(16),
106                    notWritable(17),
107                    inconsistentName(18)
108                }
109
110--
111-- Some scalars which provide information about the local time zone.
112--
113
114schedLocalTime OBJECT-TYPE
115    SYNTAX      DateAndTime (SIZE (11))
116    MAX-ACCESS  read-only
117    STATUS      current
118    DESCRIPTION
119        "The local time used by the scheduler.  Schedules which
120         refer to calendar time will use the local time indicated
121         by this object.  An implementation MUST return all 11 bytes
122         of the DateAndTime textual-convention so that a manager
123         may retrieve the offset from GMT time."
124    ::= { schedObjects 1 }
125
126--
127-- The schedule table which controls the scheduler.
128--
129
130schedTable OBJECT-TYPE
131    SYNTAX      SEQUENCE OF SchedEntry
132    MAX-ACCESS  not-accessible
133    STATUS      current
134    DESCRIPTION
135        "This table defines scheduled actions triggered by
136         SNMP set operations."
137    ::= { schedObjects 2 }
138
139schedEntry OBJECT-TYPE
140    SYNTAX      SchedEntry
141    MAX-ACCESS  not-accessible
142    STATUS      current
143    DESCRIPTION
144        "An entry describing a particular scheduled action.
145
146         Unless noted otherwise, writable objects of this row
147         can be modified independent of the current value of
148         schedRowStatus, schedAdminStatus and schedOperStatus.
149         In particular, it is legal to modify schedInterval
150         and the objects in the schedCalendarGroup when
151         schedRowStatus is active and schedAdminStatus and
152         schedOperStatus are both enabled."
153    INDEX { schedOwner, schedName }
154    ::= { schedTable 1 }
155
156SchedEntry ::= SEQUENCE {
157    schedOwner          SnmpAdminString,
158    schedName           SnmpAdminString,
159    schedDescr          SnmpAdminString,
160    schedInterval       Unsigned32,
161    schedWeekDay        BITS,
162    schedMonth          BITS,
163    schedDay            BITS,
164    schedHour           BITS,
165    schedMinute         BITS,
166    schedContextName    SnmpAdminString,
167    schedVariable       VariablePointer,
168    schedValue          Integer32,
169    schedType           INTEGER,
170    schedAdminStatus    INTEGER,
171    schedOperStatus     INTEGER,
172    schedFailures       Counter32,
173    schedLastFailure    SnmpPduErrorStatus,
174    schedLastFailed     DateAndTime,
175    schedStorageType    StorageType,
176    schedRowStatus      RowStatus,
177    schedTriggers       Counter32
178}
179
180schedOwner OBJECT-TYPE
181    SYNTAX      SnmpAdminString (SIZE(0..32))
182    MAX-ACCESS  not-accessible
183    STATUS      current
184    DESCRIPTION
185        "The owner of this scheduling entry.  The exact semantics of
186         this string are subject to the security policy defined by
187
188         the security administrator."
189    ::= { schedEntry 1 }
190
191schedName OBJECT-TYPE
192    SYNTAX      SnmpAdminString (SIZE(1..32))
193    MAX-ACCESS  not-accessible
194    STATUS      current
195    DESCRIPTION
196        "The locally-unique, administratively assigned name for this
197         scheduling entry.  This object allows a schedOwner to have
198         multiple entries in the schedTable."
199    ::= { schedEntry 2 }
200
201schedDescr OBJECT-TYPE
202    SYNTAX      SnmpAdminString
203    MAX-ACCESS  read-create
204    STATUS      current
205    DESCRIPTION
206        "The human readable description of the purpose of this
207         scheduling entry."
208    DEFVAL      { "" }
209    ::= { schedEntry 3 }
210
211schedInterval OBJECT-TYPE
212    SYNTAX      Unsigned32
213    UNITS       "seconds"
214    MAX-ACCESS  read-create
215    STATUS      current
216    DESCRIPTION
217        "The number of seconds between two action invocations of
218         a periodic scheduler.  Implementations must guarantee
219         that action invocations will not occur before at least
220         schedInterval seconds have passed.
221
222         The scheduler must ignore all periodic schedules that
223         have a schedInterval value of 0.  A periodic schedule
224         with a scheduling interval of 0 seconds will therefore
225         never invoke an action.
226
227         Implementations may be forced to delay invocations in the
228         face of local constraints.  A scheduled management function
229         should therefore not rely on the accuracy provided by the
230         scheduler implementation.
231
232         Note that implementations which maintain a list of pending
233         activations must re-calculate them when this object is
234         changed."
235    DEFVAL      { 0 }
236    ::= { schedEntry 4 }
237
238schedWeekDay OBJECT-TYPE
239    SYNTAX      BITS {
240                    sunday(0),
241                    monday(1),
242                    tuesday(2),
243                    wednesday(3),
244                    thursday(4),
245                    friday(5),
246                    saturday(6)
247                }
248    MAX-ACCESS  read-create
249    STATUS      current
250    DESCRIPTION
251        "The set of weekdays on which the scheduled action should
252         take place.  Setting multiple bits will include several
253         weekdays in the set of possible weekdays for this schedule.
254         Setting all bits will cause the scheduler to ignore the
255         weekday.
256
257         Note that implementations which maintain a list of pending
258         activations must re-calculate them when this object is
259         changed."
260    DEFVAL      { {} }
261    ::= { schedEntry 5 }
262
263schedMonth OBJECT-TYPE
264    SYNTAX      BITS {
265                    january(0),
266                    february(1),
267                    march(2),
268                    april(3),
269                    may(4),
270                    june(5),
271                    july(6),
272                    august(7),
273                    september(8),
274                    october(9),
275                    november(10),
276                    december(11)
277                }
278    MAX-ACCESS  read-create
279    STATUS      current
280    DESCRIPTION
281        "The set of months during which the scheduled action should
282         take place.  Setting multiple bits will include several
283         months in the set of possible months for this schedule.
284
285         Setting all bits will cause the scheduler to ignore the
286         month.
287
288         Note that implementations which maintain a list of pending
289         activations must re-calculate them when this object is
290         changed."
291    DEFVAL      { {} }
292    ::= { schedEntry 6 }
293
294schedDay OBJECT-TYPE
295    SYNTAX      BITS {
296                    d1(0),   d2(1),   d3(2),   d4(3),   d5(4),
297                    d6(5),   d7(6),   d8(7),   d9(8),   d10(9),
298                    d11(10), d12(11), d13(12), d14(13), d15(14),
299                    d16(15), d17(16), d18(17), d19(18), d20(19),
300                    d21(20), d22(21), d23(22), d24(23), d25(24),
301                    d26(25), d27(26), d28(27), d29(28), d30(29),
302                    d31(30),
303                    r1(31),  r2(32),  r3(33),  r4(34),  r5(35),
304                    r6(36),  r7(37),  r8(38),  r9(39),  r10(40),
305                    r11(41), r12(42), r13(43), r14(44), r15(45),
306                    r16(46), r17(47), r18(48), r19(49), r20(50),
307                    r21(51), r22(52), r23(53), r24(54), r25(55),
308                    r26(56), r27(57), r28(58), r29(59), r30(60),
309                    r31(61)
310                }
311    MAX-ACCESS  read-create
312    STATUS      current
313    DESCRIPTION
314        "The set of days in a month on which a scheduled action
315         should take place.  There are two sets of bits one can
316         use to define the day within a month:
317
318         Enumerations starting with the letter 'd' indicate a
319         day in a month relative to the first day of a month.
320         The first day of the month can therefore be specified
321         by setting the bit d1(0) and d31(30) means the last
322         day of a month with 31 days.
323
324         Enumerations starting with the letter 'r' indicate a
325         day in a month in reverse order, relative to the last
326         day of a month.  The last day in the month can therefore
327         be specified by setting the bit r1(31) and r31(61) means
328         the first day of a month with 31 days.
329
330         Setting multiple bits will include several days in the set
331         of possible days for this schedule.  Setting all bits will
332         cause the scheduler to ignore the day within a month.
333
334         Setting all bits starting with the letter 'd' or the
335         letter 'r' will also cause the scheduler to ignore the
336         day within a month.
337
338         Note that implementations which maintain a list of pending
339         activations must re-calculate them when this object is
340         changed."
341    DEFVAL      { {} }
342    ::= { schedEntry 7 }
343
344schedHour OBJECT-TYPE
345    SYNTAX      BITS {
346                    h0(0),   h1(1),   h2(2),   h3(3),   h4(4),
347                    h5(5),   h6(6),   h7(7),   h8(8),   h9(9),
348                    h10(10), h11(11), h12(12), h13(13), h14(14),
349                    h15(15), h16(16), h17(17), h18(18), h19(19),
350                    h20(20), h21(21), h22(22), h23(23)
351                }
352    MAX-ACCESS  read-create
353    STATUS      current
354    DESCRIPTION
355        "The set of hours within a day during which the scheduled
356         action should take place.
357
358         Note that implementations which maintain a list of pending
359         activations must re-calculate them when this object is
360         changed."
361    DEFVAL      { {} }
362    ::= { schedEntry 8 }
363
364schedMinute OBJECT-TYPE
365    SYNTAX      BITS {
366                    m0(0),   m1(1),   m2(2),   m3(3),   m4(4),
367                    m5(5),   m6(6),   m7(7),   m8(8),   m9(9),
368                    m10(10), m11(11), m12(12), m13(13), m14(14),
369                    m15(15), m16(16), m17(17), m18(18), m19(19),
370                    m20(20), m21(21), m22(22), m23(23), m24(24),
371                    m25(25), m26(26), m27(27), m28(28), m29(29),
372                    m30(30), m31(31), m32(32), m33(33), m34(34),
373                    m35(35), m36(36), m37(37), m38(38), m39(39),
374                    m40(40), m41(41), m42(42), m43(43), m44(44),
375                    m45(45), m46(46), m47(47), m48(48), m49(49),
376                    m50(50), m51(51), m52(52), m53(53), m54(54),
377                    m55(55), m56(56), m57(57), m58(58), m59(59)
378                }
379    MAX-ACCESS  read-create
380    STATUS      current
381    DESCRIPTION
382        "The set of minutes within an hour when the scheduled action
383         should take place.
384
385         Note that implementations which maintain a list of pending
386         activations must re-calculate them when this object is
387         changed."
388    DEFVAL      { {} }
389    ::= { schedEntry 9 }
390
391schedContextName OBJECT-TYPE
392    SYNTAX      SnmpAdminString (SIZE(0..32))
393    MAX-ACCESS  read-create
394    STATUS      current
395    DESCRIPTION
396        "The context which contains the local MIB variable pointed
397         to by schedVariable."
398    DEFVAL      { "" }
399    ::= { schedEntry 10 }
400
401schedVariable OBJECT-TYPE
402    SYNTAX      VariablePointer
403    MAX-ACCESS  read-create
404    STATUS      current
405    DESCRIPTION
406        "An object identifier pointing to a local MIB variable
407         which resolves to an ASN.1 primitive type of INTEGER."
408    DEFVAL      { zeroDotZero }
409    ::= { schedEntry 11 }
410
411schedValue OBJECT-TYPE
412    SYNTAX      Integer32
413    MAX-ACCESS  read-create
414    STATUS      current
415    DESCRIPTION
416        "The value which is written to the MIB object pointed to by
417         schedVariable when the scheduler invokes an action.  The
418         implementation shall enforce the use of access control
419         rules when performing the set operation on schedVariable.
420         This is accomplished by calling the isAccessAllowed abstract
421         service interface as defined in RFC 2571.
422
423         Note that an implementation may choose to issue an SNMP Set
424         message to the SNMP engine and leave the access control
425         decision to the normal message processing procedure."
426    DEFVAL      { 0 }
427    ::= { schedEntry 12 }
428
429schedType OBJECT-TYPE
430    SYNTAX      INTEGER {
431                    periodic(1),
432                    calendar(2),
433                    oneshot(3)
434                }
435    MAX-ACCESS  read-create
436    STATUS      current
437    DESCRIPTION
438        "The type of this schedule.  The value periodic(1) indicates
439         that this entry specifies a periodic schedule.  A periodic
440         schedule is defined by the value of schedInterval.  The
441         values of schedWeekDay, schedMonth, schedDay, schedHour
442         and schedMinute are ignored.
443
444         The value calendar(2) indicates that this entry describes a
445         calendar schedule.  A calendar schedule is defined by the
446         values of schedWeekDay, schedMonth, schedDay, schedHour and
447         schedMinute.  The value of schedInterval is ignored.  A
448         calendar schedule will trigger on all local times that
449         satisfy the bits set in schedWeekDay, schedMonth, schedDay,
450         schedHour and schedMinute.
451
452         The value oneshot(3) indicates that this entry describes a
453         one-shot schedule.  A one-shot schedule is similar to a
454         calendar schedule with the additional feature that it
455         disables itself by changing in the `finished'
456         schedOperStatus once the schedule triggers an action.
457
458         Note that implementations which maintain a list of pending
459         activations must re-calculate them when this object is
460         changed."
461    DEFVAL      { periodic }
462    ::= { schedEntry 13 }
463
464schedAdminStatus OBJECT-TYPE
465    SYNTAX      INTEGER {
466                    enabled(1),
467                    disabled(2)
468                }
469    MAX-ACCESS  read-create
470    STATUS      current
471    DESCRIPTION
472        "The desired state of the schedule."
473    DEFVAL      { disabled }
474    ::= { schedEntry 14 }
475
476schedOperStatus OBJECT-TYPE
477    SYNTAX      INTEGER {
478
479                    enabled(1),
480                    disabled(2),
481                    finished(3)
482                }
483    MAX-ACCESS  read-only
484    STATUS      current
485    DESCRIPTION
486        "The current operational state of this schedule.  The state
487         enabled(1) indicates this entry is active and that the
488         scheduler will invoke actions at appropriate times.  The
489         disabled(2) state indicates that this entry is currently
490         inactive and ignored by the scheduler.  The finished(3)
491         state indicates that the schedule has ended.  Schedules
492         in the finished(3) state are ignored by the scheduler.
493         A one-shot schedule enters the finished(3) state when it
494         deactivates itself.
495
496         Note that the operational state must not be enabled(1)
497         when the schedRowStatus is not active."
498    ::= { schedEntry 15 }
499
500schedFailures OBJECT-TYPE
501    SYNTAX      Counter32
502    MAX-ACCESS  read-only
503    STATUS      current
504    DESCRIPTION
505        "This variable counts the number of failures while invoking
506         the scheduled action.  This counter at most increments once
507         for a triggered action."
508    ::= { schedEntry 16 }
509
510schedLastFailure OBJECT-TYPE
511    SYNTAX      SnmpPduErrorStatus
512    MAX-ACCESS  read-only
513    STATUS      current
514    DESCRIPTION
515        "The most recent error that occurred during the invocation of
516         a scheduled action.  The value noError(0) is returned
517         if no errors have occurred yet."
518    DEFVAL      { noError }
519    ::= { schedEntry 17 }
520
521schedLastFailed OBJECT-TYPE
522    SYNTAX      DateAndTime
523    MAX-ACCESS  read-only
524    STATUS      current
525    DESCRIPTION
526        "The date and time when the most recent failure occurred.
527
528         The value '0000000000000000'H is returned if no failure
529         occurred since the last re-initialization of the scheduler."
530    DEFVAL      { '0000000000000000'H }
531    ::= { schedEntry 18 }
532
533schedStorageType OBJECT-TYPE
534    SYNTAX      StorageType
535    MAX-ACCESS  read-create
536    STATUS      current
537    DESCRIPTION
538        "This object defines whether this scheduled action is kept
539         in volatile storage and lost upon reboot or if this row is
540         backed up by non-volatile or permanent storage.
541
542         Conceptual rows having the value `permanent' must allow
543         write access to the columnar objects schedDescr,
544         schedInterval, schedContextName, schedVariable, schedValue,
545         and schedAdminStatus.  If an implementation supports the
546         schedCalendarGroup, write access must be also allowed to
547         the columnar objects schedWeekDay, schedMonth, schedDay,
548         schedHour, schedMinute."
549    DEFVAL      { volatile }
550    ::= { schedEntry 19 }
551
552schedRowStatus OBJECT-TYPE
553    SYNTAX      RowStatus
554    MAX-ACCESS  read-create
555    STATUS      current
556    DESCRIPTION
557        "The status of this scheduled action.  A control that allows
558         entries to be added and removed from this table.
559
560         Note that the operational state must change to enabled
561         when the administrative state is enabled and the row
562         status changes to active(1).
563
564         Attempts to destroy(6) a row or to set a row
565         notInService(2) while the operational state is enabled
566         result in inconsistentValue errors.
567
568         The value of this object has no effect on whether other
569         objects in this conceptual row can be modified."
570    ::= { schedEntry 20 }
571
572schedTriggers OBJECT-TYPE
573    SYNTAX      Counter32
574    MAX-ACCESS  read-only
575    STATUS      current
576    DESCRIPTION
577        "This variable counts the number of attempts (either
578         successful or failed) to invoke the scheduled action."
579    ::= { schedEntry 21 }
580
581--
582-- Notifications that are emitted to indicate failures.  The
583-- definition of schedTraps makes notification registrations
584-- reversible (see STD 58, RFC 2578).
585--
586
587schedTraps OBJECT IDENTIFIER ::= { schedNotifications 0 }
588
589schedActionFailure NOTIFICATION-TYPE
590    OBJECTS     { schedLastFailure, schedLastFailed }
591    STATUS      current
592    DESCRIPTION
593        "This notification is generated whenever the invocation of a
594         scheduled action fails."
595    ::= { schedTraps 1 }
596
597-- conformance information
598
599schedCompliances OBJECT IDENTIFIER ::= { schedConformance 1 }
600schedGroups      OBJECT IDENTIFIER ::= { schedConformance 2 }
601
602-- compliance statements
603
604schedCompliance2 MODULE-COMPLIANCE
605    STATUS      current
606    DESCRIPTION
607        "The compliance statement for SNMP entities which implement
608         the scheduling MIB."
609    MODULE      -- this module
610    MANDATORY-GROUPS {
611           schedGroup2, schedNotificationsGroup
612    }
613    GROUP  schedCalendarGroup
614    DESCRIPTION
615        "The schedCalendarGroup is mandatory only for those
616         implementations that support calendar based schedules."
617    OBJECT schedType
618    DESCRIPTION
619        "The values calendar(2) or oneshot(3) are not valid for
620         implementations that do not implement the
621         schedCalendarGroup.  Such an implementation must return
622         inconsistentValue error responses for attempts to set
623         schedAdminStatus to calendar(2) or oneshot(3)."
624    ::= { schedCompliances 2 }
625
626schedGroup2 OBJECT-GROUP
627    OBJECTS {
628        schedDescr, schedInterval, schedContextName,
629        schedVariable, schedValue, schedType,
630        schedAdminStatus, schedOperStatus, schedFailures,
631        schedLastFailure, schedLastFailed, schedStorageType,
632        schedRowStatus, schedTriggers
633    }
634    STATUS      current
635    DESCRIPTION
636        "A collection of objects providing scheduling capabilities."
637    ::= { schedGroups 4 }
638
639schedCalendarGroup OBJECT-GROUP
640    OBJECTS {
641        schedLocalTime, schedWeekDay, schedMonth,
642        schedDay, schedHour, schedMinute
643    }
644    STATUS      current
645    DESCRIPTION
646        "A collection of objects providing calendar based schedules."
647    ::= { schedGroups 2 }
648
649schedNotificationsGroup NOTIFICATION-GROUP
650    NOTIFICATIONS {
651        schedActionFailure
652    }
653    STATUS      current
654    DESCRIPTION
655        "The notifications emitted by the scheduler."
656    ::= { schedGroups 3 }
657
658--
659-- Deprecated compliance and conformance group definitions
660-- from RFC 2591.
661--
662
663schedCompliance MODULE-COMPLIANCE
664    STATUS      deprecated
665    DESCRIPTION
666        "The compliance statement for SNMP entities which implement
667         the scheduling MIB."
668    MODULE      -- this module
669    MANDATORY-GROUPS {
670           schedGroup, schedNotificationsGroup
671    }
672
673    GROUP  schedCalendarGroup
674    DESCRIPTION
675        "The schedCalendarGroup is mandatory only for those
676         implementations that support calendar based schedules."
677    OBJECT schedType
678    DESCRIPTION
679        "The values calendar(2) or oneshot(3) are not valid for
680         implementations that do not implement the
681         schedCalendarGroup.  Such an implementation must return
682         inconsistentValue error responses for attempts to set
683         schedAdminStatus to calendar(2) or oneshot(3)."
684    ::= { schedCompliances 1 }
685
686schedGroup OBJECT-GROUP
687    OBJECTS {
688        schedDescr, schedInterval, schedContextName,
689        schedVariable, schedValue, schedType,
690        schedAdminStatus, schedOperStatus, schedFailures,
691        schedLastFailure, schedLastFailed, schedStorageType,
692        schedRowStatus
693    }
694    STATUS      deprecated
695    DESCRIPTION
696        "A collection of objects providing scheduling capabilities."
697    ::= { schedGroups 1 }
698
699END
700