telemetry-snmp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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