telemetry-snmp 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/rspec.yml +44 -0
  3. data/.github/workflows/rubocop.yml +28 -0
  4. data/.github/workflows/sourcehawk-scan.yml +20 -0
  5. data/.gitignore +14 -0
  6. data/.rspec +4 -0
  7. data/.rubocop.yml +26 -0
  8. data/CHANGELOG.md +4 -0
  9. data/CODE_OF_CONDUCT.md +75 -0
  10. data/CONTRIBUTING.md +54 -0
  11. data/Gemfile +10 -0
  12. data/INDIVIDUAL_CONTRIBUTOR_LICENSE.md +30 -0
  13. data/LICENSE +201 -0
  14. data/NOTICE.txt +9 -0
  15. data/README.md +54 -0
  16. data/attribution.txt +1 -0
  17. data/config.ru +15 -0
  18. data/exe/snmp_collector +55 -0
  19. data/lib/telemetry/snmp.rb +23 -0
  20. data/lib/telemetry/snmp/api.rb +55 -0
  21. data/lib/telemetry/snmp/auth.rb +54 -0
  22. data/lib/telemetry/snmp/auth/defaults.rb +41 -0
  23. data/lib/telemetry/snmp/client.rb +104 -0
  24. data/lib/telemetry/snmp/controllers/device_creds.rb +105 -0
  25. data/lib/telemetry/snmp/controllers/devices.rb +94 -0
  26. data/lib/telemetry/snmp/controllers/oid_groups.rb +71 -0
  27. data/lib/telemetry/snmp/controllers/oids.rb +80 -0
  28. data/lib/telemetry/snmp/controllers/users.rb +81 -0
  29. data/lib/telemetry/snmp/controllers/walks.rb +89 -0
  30. data/lib/telemetry/snmp/data.rb +69 -0
  31. data/lib/telemetry/snmp/data/default_opts.rb +73 -0
  32. data/lib/telemetry/snmp/data/migrations/001_device_creds.rb +19 -0
  33. data/lib/telemetry/snmp/data/migrations/002_create_devices_table.rb +31 -0
  34. data/lib/telemetry/snmp/data/migrations/003_create_oids_tables.rb +16 -0
  35. data/lib/telemetry/snmp/data/migrations/004_create_oid_groups.rb +15 -0
  36. data/lib/telemetry/snmp/data/migrations/005_create_oids_oid_groups.rb +17 -0
  37. data/lib/telemetry/snmp/data/migrations/006_device_to_oid_group.rb +15 -0
  38. data/lib/telemetry/snmp/data/migrations/007_create_users.rb +20 -0
  39. data/lib/telemetry/snmp/data/migrations/008_create_walks_table.rb +14 -0
  40. data/lib/telemetry/snmp/data/migrations/009_create_tag_name_column.rb +7 -0
  41. data/lib/telemetry/snmp/data/migrations/010_create_user_audit_table.rb +18 -0
  42. data/lib/telemetry/snmp/data/models/device.rb +11 -0
  43. data/lib/telemetry/snmp/data/models/device_cred.rb +11 -0
  44. data/lib/telemetry/snmp/data/models/oid.rb +10 -0
  45. data/lib/telemetry/snmp/data/models/oid_group.rb +10 -0
  46. data/lib/telemetry/snmp/data/models/oid_oid_groups.rb +10 -0
  47. data/lib/telemetry/snmp/data/models/oid_walk.rb +10 -0
  48. data/lib/telemetry/snmp/data/models/user.rb +10 -0
  49. data/lib/telemetry/snmp/data/models/user_audit_log.rb +19 -0
  50. data/lib/telemetry/snmp/mibs/AGENTX-MIB.txt +527 -0
  51. data/lib/telemetry/snmp/mibs/AIRPORT-BASESTATION-3-MIB.txt +461 -0
  52. data/lib/telemetry/snmp/mibs/BRIDGE-MIB.txt +1472 -0
  53. data/lib/telemetry/snmp/mibs/DISMAN-EVENT-MIB.txt +1882 -0
  54. data/lib/telemetry/snmp/mibs/DISMAN-SCHEDULE-MIB.txt +699 -0
  55. data/lib/telemetry/snmp/mibs/DISMAN-SCRIPT-MIB.txt +1764 -0
  56. data/lib/telemetry/snmp/mibs/EtherLike-MIB.txt +1862 -0
  57. data/lib/telemetry/snmp/mibs/HCNUM-TC.txt +118 -0
  58. data/lib/telemetry/snmp/mibs/HOST-RESOURCES-MIB.txt +1540 -0
  59. data/lib/telemetry/snmp/mibs/HOST-RESOURCES-TYPES.txt +389 -0
  60. data/lib/telemetry/snmp/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt +123 -0
  61. data/lib/telemetry/snmp/mibs/IANA-LANGUAGE-MIB.txt +123 -0
  62. data/lib/telemetry/snmp/mibs/IANA-RTPROTO-MIB.txt +91 -0
  63. data/lib/telemetry/snmp/mibs/IANAifType-MIB.txt +619 -0
  64. data/lib/telemetry/snmp/mibs/IF-INVERTED-STACK-MIB.txt +149 -0
  65. data/lib/telemetry/snmp/mibs/IF-MIB.txt +1814 -0
  66. data/lib/telemetry/snmp/mibs/INET-ADDRESS-MIB.txt +402 -0
  67. data/lib/telemetry/snmp/mibs/IP-FORWARD-MIB.txt +1277 -0
  68. data/lib/telemetry/snmp/mibs/IP-MIB.txt +4993 -0
  69. data/lib/telemetry/snmp/mibs/IPV6-FLOW-LABEL-MIB.txt +58 -0
  70. data/lib/telemetry/snmp/mibs/IPV6-ICMP-MIB.txt +529 -0
  71. data/lib/telemetry/snmp/mibs/IPV6-MIB.txt +1443 -0
  72. data/lib/telemetry/snmp/mibs/IPV6-TC.txt +67 -0
  73. data/lib/telemetry/snmp/mibs/IPV6-TCP-MIB.txt +211 -0
  74. data/lib/telemetry/snmp/mibs/IPV6-UDP-MIB.txt +141 -0
  75. data/lib/telemetry/snmp/mibs/NET-SNMP-AGENT-MIB.txt +554 -0
  76. data/lib/telemetry/snmp/mibs/NET-SNMP-EXAMPLES-MIB.txt +285 -0
  77. data/lib/telemetry/snmp/mibs/NET-SNMP-EXTEND-MIB.txt +325 -0
  78. data/lib/telemetry/snmp/mibs/NET-SNMP-MIB.txt +67 -0
  79. data/lib/telemetry/snmp/mibs/NET-SNMP-PASS-MIB.txt +124 -0
  80. data/lib/telemetry/snmp/mibs/NET-SNMP-TC.txt +128 -0
  81. data/lib/telemetry/snmp/mibs/NET-SNMP-VACM-MIB.txt +154 -0
  82. data/lib/telemetry/snmp/mibs/NOTIFICATION-LOG-MIB.txt +753 -0
  83. data/lib/telemetry/snmp/mibs/PAN-COMMON-MIB.md5 +1 -0
  84. data/lib/telemetry/snmp/mibs/PAN-COMMON-MIB.my +2293 -0
  85. data/lib/telemetry/snmp/mibs/PAN-ENTITY-EXT-MIB.md5 +1 -0
  86. data/lib/telemetry/snmp/mibs/PAN-ENTITY-EXT-MIB.my +293 -0
  87. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-REG-MIB.md5 +1 -0
  88. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-REG-MIB.my +84 -0
  89. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-TC-MIB.md5 +1 -0
  90. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-TC-MIB.my +68 -0
  91. data/lib/telemetry/snmp/mibs/PAN-LC-MIB.md5 +1 -0
  92. data/lib/telemetry/snmp/mibs/PAN-LC-MIB.my +204 -0
  93. data/lib/telemetry/snmp/mibs/PAN-PRODUCT-MIB.md5 +1 -0
  94. data/lib/telemetry/snmp/mibs/PAN-PRODUCT-MIB.my +305 -0
  95. data/lib/telemetry/snmp/mibs/PAN-TRAPS.md5 +1 -0
  96. data/lib/telemetry/snmp/mibs/PAN-TRAPS.my +7809 -0
  97. data/lib/telemetry/snmp/mibs/RFC-1215.txt +38 -0
  98. data/lib/telemetry/snmp/mibs/RFC1155-SMI.txt +119 -0
  99. data/lib/telemetry/snmp/mibs/RFC1213-MIB.txt +2613 -0
  100. data/lib/telemetry/snmp/mibs/RMON-MIB.txt +3980 -0
  101. data/lib/telemetry/snmp/mibs/SCTP-MIB.txt +1342 -0
  102. data/lib/telemetry/snmp/mibs/SMUX-MIB.txt +160 -0
  103. data/lib/telemetry/snmp/mibs/SNMP-COMMUNITY-MIB.txt +429 -0
  104. data/lib/telemetry/snmp/mibs/SNMP-FRAMEWORK-MIB.txt +526 -0
  105. data/lib/telemetry/snmp/mibs/SNMP-MPD-MIB.txt +145 -0
  106. data/lib/telemetry/snmp/mibs/SNMP-NOTIFICATION-MIB.txt +589 -0
  107. data/lib/telemetry/snmp/mibs/SNMP-PROXY-MIB.txt +294 -0
  108. data/lib/telemetry/snmp/mibs/SNMP-TARGET-MIB.txt +660 -0
  109. data/lib/telemetry/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt +912 -0
  110. data/lib/telemetry/snmp/mibs/SNMP-USM-AES-MIB.txt +62 -0
  111. data/lib/telemetry/snmp/mibs/SNMP-USM-DH-OBJECTS-MIB.txt +532 -0
  112. data/lib/telemetry/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt +830 -0
  113. data/lib/telemetry/snmp/mibs/SNMPv2-CONF.txt +322 -0
  114. data/lib/telemetry/snmp/mibs/SNMPv2-MIB.txt +854 -0
  115. data/lib/telemetry/snmp/mibs/SNMPv2-SMI.txt +344 -0
  116. data/lib/telemetry/snmp/mibs/SNMPv2-TC.txt +772 -0
  117. data/lib/telemetry/snmp/mibs/SNMPv2-TM.txt +176 -0
  118. data/lib/telemetry/snmp/mibs/TCP-MIB.txt +785 -0
  119. data/lib/telemetry/snmp/mibs/TRANSPORT-ADDRESS-MIB.txt +421 -0
  120. data/lib/telemetry/snmp/mibs/TUNNEL-MIB.txt +738 -0
  121. data/lib/telemetry/snmp/mibs/UCD-DEMO-MIB.txt +74 -0
  122. data/lib/telemetry/snmp/mibs/UCD-DISKIO-MIB.txt +171 -0
  123. data/lib/telemetry/snmp/mibs/UCD-DLMOD-MIB.txt +124 -0
  124. data/lib/telemetry/snmp/mibs/UCD-IPFWACC-MIB.txt +327 -0
  125. data/lib/telemetry/snmp/mibs/UCD-SNMP-MIB.txt +1712 -0
  126. data/lib/telemetry/snmp/mibs/UDP-MIB.txt +549 -0
  127. data/lib/telemetry/snmp/publisher.rb +130 -0
  128. data/lib/telemetry/snmp/version.rb +7 -0
  129. data/sourcehawk.yml +4 -0
  130. data/telemetry-snmp.gemspec +48 -0
  131. metadata +456 -0
@@ -0,0 +1,699 @@
1
+ DISMAN-SCHEDULE-MIB DEFINITIONS ::= BEGIN
2
+
3
+ IMPORTS
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
+
18
+ schedMIB 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
+
72
+ schedObjects OBJECT IDENTIFIER ::= { schedMIB 1 }
73
+ schedNotifications OBJECT IDENTIFIER ::= { schedMIB 2 }
74
+ schedConformance OBJECT IDENTIFIER ::= { schedMIB 3 }
75
+
76
+ --
77
+ -- Textual Conventions:
78
+ --
79
+
80
+ SnmpPduErrorStatus ::= 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
+
114
+ schedLocalTime 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
+
130
+ schedTable 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
+
139
+ schedEntry 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
+
156
+ SchedEntry ::= 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
+
180
+ schedOwner 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
+
191
+ schedName 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
+
201
+ schedDescr 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
+
211
+ schedInterval 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
+
238
+ schedWeekDay 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
+
263
+ schedMonth 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
+
294
+ schedDay 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
+
344
+ schedHour 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
+
364
+ schedMinute 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
+
391
+ schedContextName 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
+
401
+ schedVariable 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
+
411
+ schedValue 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
+
429
+ schedType 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
+
464
+ schedAdminStatus 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
+
476
+ schedOperStatus 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
+
500
+ schedFailures 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
+
510
+ schedLastFailure 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
+
521
+ schedLastFailed 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
+
533
+ schedStorageType 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
+
552
+ schedRowStatus 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
+
572
+ schedTriggers 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
+
587
+ schedTraps OBJECT IDENTIFIER ::= { schedNotifications 0 }
588
+
589
+ schedActionFailure 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
+
599
+ schedCompliances OBJECT IDENTIFIER ::= { schedConformance 1 }
600
+ schedGroups OBJECT IDENTIFIER ::= { schedConformance 2 }
601
+
602
+ -- compliance statements
603
+
604
+ schedCompliance2 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
+
626
+ schedGroup2 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
+
639
+ schedCalendarGroup 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
+
649
+ schedNotificationsGroup 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
+
663
+ schedCompliance 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
+
686
+ schedGroup 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
+
699
+ END