and added files
[bcm963xx.git] / userapps / opensource / net-snmp / mibs / DISMAN-SCRIPT-MIB.txt
1 DISMAN-SCRIPT-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4     MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
5     Integer32, Unsigned32, mib-2
6         FROM SNMPv2-SMI
7
8     RowStatus, TimeInterval, DateAndTime, StorageType, DisplayString
9         FROM SNMPv2-TC
10
11     MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
12         FROM SNMPv2-CONF
13
14     SnmpAdminString
15         FROM SNMP-FRAMEWORK-MIB;
16
17 scriptMIB MODULE-IDENTITY
18     LAST-UPDATED "200108210000Z"
19     ORGANIZATION "IETF Distributed Management Working Group"
20     CONTACT-INFO
21         "WG EMail:  disman@dorothy.bmc.com
22          Subscribe: disman-request@dorothy.bmc.com
23
24          Chair:     Randy Presuhn
25                     BMC Software, Inc.
26
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 423 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 set of objects that allow to
51          delegate management scripts to distributed managers."
52     REVISION    "200108210000Z"
53     DESCRIPTION
54         "Revised version, published as RFC 3165.
55
56          This revision introduces several new objects: smScriptError,
57          smScriptLastChange, smLaunchError, smLaunchLastChange,
58          smLaunchRowExpireTime, smRunResultTime, and smRunErrorTime.
59
60          The following existing objects were updated: the maximum
61          value of smRunLifeTime now disables the timer, an
62          autostart value was added to the smLaunchAdminStatus
63          object, and a new expired state was added to the
64          smLaunchOperStatus object.
65
66          A new smScriptException notification has been added to
67          support runtime error notifications.
68
69          Created new conformance and compliance statements that
70          take care of the new objects and notifications.
71
72          Clarifications have been added in several places to remove
73          ambiguities or contradictions that were discovered and
74          reported by implementors."
75
76     REVISION    "199902221800Z"
77     DESCRIPTION
78         "Initial version, published as RFC 2592."
79     ::= { mib-2 64 }
80
81 --
82 -- The groups defined within this MIB module:
83 --
84
85 smObjects       OBJECT IDENTIFIER ::= { scriptMIB 1 }
86 smNotifications OBJECT IDENTIFIER ::= { scriptMIB 2 }
87 smConformance   OBJECT IDENTIFIER ::= { scriptMIB 3 }
88
89 --
90 -- Script language and language extensions.
91 --
92 -- This group defines tables which list the languages and the
93 -- language extensions supported by a Script MIB implementation.
94 -- Languages are uniquely identified by object identifier values.
95 --
96
97 smLangTable OBJECT-TYPE
98     SYNTAX      SEQUENCE OF SmLangEntry
99     MAX-ACCESS  not-accessible
100     STATUS      current
101     DESCRIPTION
102         "This table lists supported script languages."
103     ::= { smObjects 1 }
104
105 smLangEntry OBJECT-TYPE
106     SYNTAX      SmLangEntry
107     MAX-ACCESS  not-accessible
108     STATUS      current
109     DESCRIPTION
110         "An entry describing a particular language."
111     INDEX { smLangIndex }
112     ::= { smLangTable 1 }
113
114 SmLangEntry ::= SEQUENCE {
115     smLangIndex         Integer32,
116     smLangLanguage      OBJECT IDENTIFIER,
117     smLangVersion       SnmpAdminString,
118     smLangVendor        OBJECT IDENTIFIER,
119     smLangRevision      SnmpAdminString,
120     smLangDescr         SnmpAdminString
121 }
122
123 smLangIndex OBJECT-TYPE
124     SYNTAX      Integer32 (1..2147483647)
125     MAX-ACCESS  not-accessible
126     STATUS      current
127     DESCRIPTION
128         "The locally arbitrary, but unique identifier associated
129          with this language entry.
130
131          The value is expected to remain constant at least from one
132          re-initialization of the entity's network management system
133          to the next re-initialization.
134
135          Note that the data type and the range of this object must
136          be consistent with the definition of smScriptLanguage."
137     ::= { smLangEntry 1 }
138
139 smLangLanguage OBJECT-TYPE
140     SYNTAX      OBJECT IDENTIFIER
141     MAX-ACCESS  read-only
142     STATUS      current
143     DESCRIPTION
144         "The globally unique identification of the language."
145     ::= { smLangEntry 2 }
146
147 smLangVersion OBJECT-TYPE
148     SYNTAX      SnmpAdminString (SIZE (0..32))
149     MAX-ACCESS  read-only
150     STATUS      current
151     DESCRIPTION
152         "The version number of the language. The zero-length string
153          shall be used if the language does not have a version
154          number.
155
156          It is suggested that the version number consist of one or
157          more decimal numbers separated by dots, where the first
158          number is called the major version number."
159     ::= { smLangEntry 3 }
160
161 smLangVendor OBJECT-TYPE
162     SYNTAX      OBJECT IDENTIFIER
163     MAX-ACCESS  read-only
164     STATUS      current
165     DESCRIPTION
166         "An object identifier which identifies the vendor who
167          provides the implementation of the language. This object
168          identifier SHALL point to the object identifier directly
169          below the enterprise object identifier {1 3 6 1 4 1}
170          allocated for the vendor. The value must be the object
171          identifier {0 0} if the vendor is not known."
172     ::= { smLangEntry 4 }
173
174 smLangRevision OBJECT-TYPE
175     SYNTAX      SnmpAdminString (SIZE (0..32))
176     MAX-ACCESS  read-only
177     STATUS      current
178     DESCRIPTION
179         "The version number of the language implementation.
180          The value of this object must be an empty string if
181          version number of the implementation is unknown.
182
183          It is suggested that the value consist of one or more
184          decimal numbers separated by dots, where the first
185          number is called the major version number."
186     ::= { smLangEntry 5 }
187
188 smLangDescr OBJECT-TYPE
189     SYNTAX      SnmpAdminString
190     MAX-ACCESS  read-only
191     STATUS      current
192     DESCRIPTION
193         "A textual description of the language."
194     ::= { smLangEntry 6 }
195
196 smExtsnTable OBJECT-TYPE
197     SYNTAX      SEQUENCE OF SmExtsnEntry
198     MAX-ACCESS  not-accessible
199     STATUS      current
200     DESCRIPTION
201         "This table lists supported language extensions."
202     ::= { smObjects 2 }
203
204 smExtsnEntry OBJECT-TYPE
205     SYNTAX      SmExtsnEntry
206     MAX-ACCESS  not-accessible
207     STATUS      current
208     DESCRIPTION
209         "An entry describing a particular language extension."
210     INDEX { smLangIndex, smExtsnIndex }
211     ::= { smExtsnTable 1 }
212
213 SmExtsnEntry ::= SEQUENCE {
214     smExtsnIndex        Integer32,
215     smExtsnExtension    OBJECT IDENTIFIER,
216     smExtsnVersion      SnmpAdminString,
217     smExtsnVendor       OBJECT IDENTIFIER,
218     smExtsnRevision     SnmpAdminString,
219     smExtsnDescr        SnmpAdminString
220 }
221
222 smExtsnIndex OBJECT-TYPE
223     SYNTAX      Integer32 (1..2147483647)
224     MAX-ACCESS  not-accessible
225     STATUS      current
226     DESCRIPTION
227         "The locally arbitrary, but unique identifier associated
228          with this language extension entry.
229
230          The value is expected to remain constant at least from one
231          re-initialization of the entity's network management system
232          to the next re-initialization."
233     ::= { smExtsnEntry 1}
234
235 smExtsnExtension OBJECT-TYPE
236     SYNTAX      OBJECT IDENTIFIER
237     MAX-ACCESS  read-only
238     STATUS      current
239     DESCRIPTION
240         "The globally unique identification of the language
241          extension."
242     ::= { smExtsnEntry 2 }
243
244 smExtsnVersion OBJECT-TYPE
245     SYNTAX      SnmpAdminString (SIZE (0..32))
246     MAX-ACCESS  read-only
247     STATUS      current
248     DESCRIPTION
249         "The version number of the language extension.
250          It is suggested that the version number consist of one or
251          more decimal numbers separated by dots, where the first
252          number is called the major version number."
253     ::= { smExtsnEntry 3 }
254
255 smExtsnVendor OBJECT-TYPE
256     SYNTAX      OBJECT IDENTIFIER
257     MAX-ACCESS  read-only
258     STATUS      current
259     DESCRIPTION
260         "An object identifier which identifies the vendor who
261          provides the implementation of the extension. The
262          object identifier value should point to the OID node
263          directly below the enterprise OID {1 3 6 1 4 1}
264          allocated for the vendor. The value must by the object
265          identifier {0 0} if the vendor is not known."
266     ::= { smExtsnEntry 4 }
267
268 smExtsnRevision OBJECT-TYPE
269     SYNTAX      SnmpAdminString (SIZE (0..32))
270     MAX-ACCESS  read-only
271     STATUS      current
272     DESCRIPTION
273         "The version number of the extension implementation.
274          The value of this object must be an empty string if
275          version number of the implementation is unknown.
276
277          It is suggested that the value consist of one or more
278          decimal numbers separated by dots, where the first
279          number is called the major version number."
280     ::= { smExtsnEntry 5 }
281
282 smExtsnDescr OBJECT-TYPE
283     SYNTAX      SnmpAdminString
284     MAX-ACCESS  read-only
285     STATUS      current
286     DESCRIPTION
287         "A textual description of the language extension."
288     ::= { smExtsnEntry 6 }
289
290 --
291 -- Scripts known by the Script MIB implementation.
292 --
293 -- This group defines a table which lists all known scripts.
294 -- Scripts can be added and removed through manipulation of the
295 -- smScriptTable.
296 --
297
298 smScriptObjects OBJECT IDENTIFIER ::= { smObjects 3 }
299
300 smScriptTable OBJECT-TYPE
301     SYNTAX      SEQUENCE OF SmScriptEntry
302     MAX-ACCESS  not-accessible
303     STATUS      current
304     DESCRIPTION
305         "This table lists and describes locally known scripts."
306     ::= { smScriptObjects 1 }
307
308 smScriptEntry OBJECT-TYPE
309     SYNTAX      SmScriptEntry
310     MAX-ACCESS  not-accessible
311     STATUS      current
312     DESCRIPTION
313         "An entry describing a particular script. Every script that
314          is stored in non-volatile memory is required to appear in
315          this script table."
316     INDEX { smScriptOwner, smScriptName }
317     ::= { smScriptTable 1 }
318
319 SmScriptEntry ::= SEQUENCE {
320     smScriptOwner       SnmpAdminString,
321     smScriptName        SnmpAdminString,
322     smScriptDescr       SnmpAdminString,
323     smScriptLanguage    Integer32,
324     smScriptSource      DisplayString,
325     smScriptAdminStatus INTEGER,
326     smScriptOperStatus  INTEGER,
327     smScriptStorageType StorageType,
328     smScriptRowStatus   RowStatus,
329     smScriptError       SnmpAdminString,
330     smScriptLastChange  DateAndTime
331 }
332
333 smScriptOwner OBJECT-TYPE
334     SYNTAX      SnmpAdminString (SIZE (0..32))
335     MAX-ACCESS  not-accessible
336     STATUS      current
337     DESCRIPTION
338         "The manager who owns this row in the smScriptTable."
339     ::= { smScriptEntry 1 }
340
341 smScriptName OBJECT-TYPE
342     SYNTAX      SnmpAdminString (SIZE (1..32))
343     MAX-ACCESS  not-accessible
344     STATUS      current
345     DESCRIPTION
346         "The locally-unique, administratively assigned name for this
347          script. This object allows an smScriptOwner to have multiple
348          entries in the smScriptTable.
349
350          This value of this object may be used to derive the name
351          (e.g. a file name) which is used by the Script MIB
352          implementation to access the script in non-volatile
353          storage. The details of this mapping are implementation
354          specific. However, the mapping needs to ensure that scripts
355          created by different owners with the same script name do not
356          map to the same name in non-volatile storage."
357     ::= { smScriptEntry 2 }
358
359 smScriptDescr OBJECT-TYPE
360     SYNTAX      SnmpAdminString
361     MAX-ACCESS  read-create
362     STATUS      current
363     DESCRIPTION
364         "A description of the purpose of the script."
365     ::= { smScriptEntry 3 }
366
367 smScriptLanguage OBJECT-TYPE
368     SYNTAX      Integer32 (0..2147483647)
369     MAX-ACCESS  read-create
370     STATUS      current
371     DESCRIPTION
372         "The value of this object type identifies an entry in the
373          smLangTable which is used to execute this script.
374          The special value 0 may be used by hard-wired scripts
375          that can not be modified and that are executed by
376          internal functions.
377
378          Set requests to change this object are invalid if the
379          value of smScriptOperStatus is `enabled' or `compiling'
380          and will result in an inconsistentValue error.
381
382          Note that the data type and the range of this object must
383          be consistent with the definition of smLangIndex."
384     ::= { smScriptEntry 4 }
385
386 smScriptSource OBJECT-TYPE
387     SYNTAX      DisplayString
388     MAX-ACCESS  read-create
389     STATUS      current
390     DESCRIPTION
391         "This object either contains a reference to the script
392          source or an empty string. A reference must be given
393          in the form of a Uniform Resource Locator (URL) as
394          defined in RFC 2396. The allowed character sets and the
395          encoding rules defined in RFC 2396 section 2 apply.
396
397          When the smScriptAdminStatus object is set to `enabled',
398          the Script MIB implementation will `pull' the script
399          source from the URL contained in this object if the URL
400          is not empty.
401
402          An empty URL indicates that the script source is loaded
403          from local storage. The script is read from the smCodeTable
404          if the value of smScriptStorageType is volatile. Otherwise,
405          the script is read from non-volatile storage.
406
407          Note: This document does not mandate implementation of any
408          specific URL scheme. An attempt to load a script from a
409          nonsupported URL scheme will cause the smScriptOperStatus
410          to report an `unknownProtocol' error.
411
412          Set requests to change this object are invalid if the
413          value of smScriptOperStatus is `enabled', `editing',
414          `retrieving' or `compiling' and will result in an
415          inconsistentValue error."
416     DEFVAL { ''H }
417     ::= { smScriptEntry 5 }
418
419 smScriptAdminStatus OBJECT-TYPE
420     SYNTAX      INTEGER {
421                     enabled(1),
422                     disabled(2),
423                     editing(3)
424                 }
425     MAX-ACCESS  read-create
426     STATUS      current
427     DESCRIPTION
428         "The value of this object indicates the desired status of
429          the script. See the definition of smScriptOperStatus for
430          a description of the values.
431
432          When the smScriptAdminStatus object is set to `enabled' and
433          the smScriptOperStatus is `disabled' or one of the error
434          states, the Script MIB implementation will `pull' the script
435          source from the URL contained in the smScriptSource object
436          if the URL is not empty."
437     DEFVAL { disabled }
438     ::= { smScriptEntry 6 }
439
440 smScriptOperStatus OBJECT-TYPE
441     SYNTAX      INTEGER {
442                     enabled(1),
443                     disabled(2),
444                     editing(3),
445                     retrieving(4),
446                     compiling(5),
447                     noSuchScript(6),
448                     accessDenied(7),
449                     wrongLanguage(8),
450                     wrongVersion(9),
451                     compilationFailed(10),
452                     noResourcesLeft(11),
453                     unknownProtocol(12),
454                     protocolFailure(13),
455                     genericError(14)
456                 }
457     MAX-ACCESS  read-only
458     STATUS      current
459     DESCRIPTION
460         "The actual status of the script in the runtime system. The
461          value of this object is only meaningful when the value of
462          the smScriptRowStatus object is `active'.
463
464          The smScriptOperStatus object may have the following values:
465
466          - `enabled' indicates that the script is available and can
467             be started by a launch table entry.
468
469          - `disabled' indicates that the script can not be used.
470
471          - `editing' indicates that the script can be modified in the
472            smCodeTable.
473
474          - `retrieving' indicates that the script is currently being
475            loaded from non-volatile storage or a remote system.
476
477          - `compiling' indicates that the script is currently being
478            compiled by the runtime system.
479
480          - `noSuchScript' indicates that the script does not exist
481            at the smScriptSource.
482
483          - `accessDenied' indicates that the script can not be loaded
484            from the smScriptSource due to a lack of permissions.
485
486          - `wrongLanguage' indicates that the script can not be
487             loaded from the smScriptSource because of a language
488             mismatch.
489
490          - `wrongVersion' indicates that the script can not be loaded
491            from the smScriptSource because of a language version
492            mismatch.
493
494          - `compilationFailed' indicates that the compilation failed.
495
496          - `noResourcesLeft' indicates that the runtime system does
497            not have enough resources to load the script.
498
499          - `unknownProtocol' indicates that the script could not be
500            loaded from the smScriptSource because the requested
501            protocol is not supported.
502
503          - `protocolFailure' indicates that the script could not be
504            loaded from the smScriptSource because of a protocol
505            failure.
506
507          - `genericError' indicates that the script could not be
508
509            loaded due to an error condition not listed above.
510
511          The `retrieving' and `compiling' states are transient states
512          which will either lead to one of the error states or the
513          `enabled' state. The `disabled' and `editing' states are
514          administrative states which are only reached by explicit
515          management operations.
516
517          All launch table entries that refer to this script table
518          entry shall have an smLaunchOperStatus value of `disabled'
519          when the value of this object is not `enabled'."
520     DEFVAL { disabled }
521     ::= { smScriptEntry 7 }
522
523 smScriptStorageType OBJECT-TYPE
524     SYNTAX      StorageType
525     MAX-ACCESS  read-create
526     STATUS      current
527     DESCRIPTION
528         "This object defines whether this row and the script
529          controlled by this row are kept in volatile storage and
530          lost upon reboot or if this row is backed up by
531          non-volatile or permanent storage.
532
533          The storage type of this row always complies with the value
534          of this entry if the value of the corresponding RowStatus
535          object is `active'.
536
537          However, the storage type of the script controlled by this
538          row may be different, if the value of this entry is
539          `non-volatile'. The script controlled by this row is written
540          into local non-volatile storage if the following condition
541          becomes true:
542
543          (a) the URL contained in the smScriptSource object is empty
544              and
545          (b) the smScriptStorageType is `nonVolatile'
546              and
547          (c) the smScriptOperStatus is `enabled'
548
549          Setting this object to `volatile' removes a script from
550          non-volatile storage if the script controlled by this row
551          has been in non-volatile storage before. Attempts to set
552          this object to permanent will always fail with an
553          inconsistentValue error.
554
555          The value of smScriptStorageType is only meaningful if the
556          value of the corresponding RowStatus object is `active'.
557
558          If smScriptStorageType has the value permanent(4), then all
559          objects whose MAX-ACCESS value is read-create must be
560          writable, with the exception of the smScriptStorageType and
561          smScriptRowStatus objects, which shall be read-only."
562     DEFVAL { volatile }
563     ::= { smScriptEntry 8 }
564
565 smScriptRowStatus OBJECT-TYPE
566     SYNTAX      RowStatus
567     MAX-ACCESS  read-create
568     STATUS      current
569     DESCRIPTION
570         "A control that allows entries to be added and removed from
571          this table.
572
573          Changing the smScriptRowStatus from `active' to
574          `notInService' will remove the associated script from the
575          runtime system.
576
577          Deleting conceptual rows from this table may affect the
578          deletion of other resources associated with this row. For
579          example, a script stored in non-volatile storage may be
580          removed from non-volatile storage.
581
582          An entry may not exist in the `active' state unless all
583          required objects in the entry have appropriate values. Rows
584          that are not complete or not in service are not known by the
585          script runtime system.
586
587          Attempts to `destroy' a row or to set a row `notInService'
588          while the smScriptOperStatus is `enabled' will result in an
589          inconsistentValue error.
590
591          Attempts to `destroy' a row or to set a row `notInService'
592          where the value of the smScriptStorageType object is
593          `permanent' or `readOnly' will result in an
594          inconsistentValue error.
595
596          The value of this object has no effect on whether other
597          objects in this conceptual row can be modified."
598     ::= { smScriptEntry 9 }
599
600 smScriptError OBJECT-TYPE
601     SYNTAX      SnmpAdminString
602     MAX-ACCESS  read-only
603     STATUS      current
604     DESCRIPTION
605         "This object contains a descriptive error message if the
606
607          transition into the operational status `enabled' failed.
608          Implementations must reset the error message to a
609          zero-length string when a new attempt to change the
610          script status to `enabled' is started."
611     DEFVAL { ''H }
612     ::= { smScriptEntry 10 }
613
614 smScriptLastChange OBJECT-TYPE
615     SYNTAX      DateAndTime
616     MAX-ACCESS  read-only
617     STATUS      current
618     DESCRIPTION
619         "The date and time when this script table entry was last
620          modified. The value '0000000000000000'H is returned if
621          the script table entry has not yet been modified.
622
623          Note that the resetting of smScriptError is not considered
624          a change of the script table entry."
625     DEFVAL { '0000000000000000'H }
626     ::= { smScriptEntry 11 }
627
628 --
629 -- Access to script code via SNMP
630 --
631 -- The smCodeTable allows script code to be read and modified
632 -- via SNMP.
633 --
634
635 smCodeTable OBJECT-TYPE
636     SYNTAX      SEQUENCE OF SmCodeEntry
637     MAX-ACCESS  not-accessible
638     STATUS      current
639     DESCRIPTION
640         "This table contains the script code for scripts that are
641          written via SNMP write operations."
642     ::= { smScriptObjects 2 }
643
644 smCodeEntry OBJECT-TYPE
645     SYNTAX      SmCodeEntry
646     MAX-ACCESS  not-accessible
647     STATUS      current
648     DESCRIPTION
649         "An entry describing a particular fragment of a script."
650     INDEX { smScriptOwner, smScriptName, smCodeIndex }
651     ::= { smCodeTable 1 }
652
653 SmCodeEntry ::= SEQUENCE {
654     smCodeIndex         Unsigned32,
655     smCodeText          OCTET STRING,
656     smCodeRowStatus     RowStatus
657 }
658
659 smCodeIndex OBJECT-TYPE
660     SYNTAX      Unsigned32 (1..4294967295)
661     MAX-ACCESS  not-accessible
662     STATUS      current
663     DESCRIPTION
664         "The index value identifying this code fragment."
665     ::= { smCodeEntry 1 }
666
667 smCodeText OBJECT-TYPE
668     SYNTAX      OCTET STRING (SIZE (1..1024))
669     MAX-ACCESS  read-create
670     STATUS      current
671     DESCRIPTION
672         "The code that makes up a fragment of a script. The format
673          of this code fragment depends on the script language which
674          is identified by the associated smScriptLanguage object."
675     ::= { smCodeEntry 2 }
676
677 smCodeRowStatus OBJECT-TYPE
678     SYNTAX      RowStatus
679     MAX-ACCESS  read-create
680     STATUS      current
681     DESCRIPTION
682         "A control that allows entries to be added and removed from
683          this table.
684
685          The value of this object has no effect on whether other
686          objects in this conceptual row can be modified."
687     ::= { smCodeEntry 3 }
688
689 --
690 -- Script execution.
691 --
692 -- This group defines tables which allow script execution to be
693 -- initiated, suspended, resumed, and terminated.  It also provides
694 -- a mechanism for keeping a history of recent script executions
695 -- and their results.
696 --
697
698 smRunObjects OBJECT IDENTIFIER ::= { smObjects 4 }
699
700 smLaunchTable OBJECT-TYPE
701     SYNTAX      SEQUENCE OF SmLaunchEntry
702     MAX-ACCESS  not-accessible
703     STATUS      current
704     DESCRIPTION
705         "This table lists and describes scripts that are ready
706          to be executed together with their parameters."
707     ::= { smRunObjects 1 }
708
709 smLaunchEntry OBJECT-TYPE
710     SYNTAX      SmLaunchEntry
711     MAX-ACCESS  not-accessible
712     STATUS      current
713     DESCRIPTION
714         "An entry describing a particular executable script."
715     INDEX { smLaunchOwner, smLaunchName }
716     ::= { smLaunchTable 1 }
717
718 SmLaunchEntry ::= SEQUENCE {
719     smLaunchOwner               SnmpAdminString,
720     smLaunchName                SnmpAdminString,
721     smLaunchScriptOwner         SnmpAdminString,
722     smLaunchScriptName          SnmpAdminString,
723     smLaunchArgument            OCTET STRING,
724     smLaunchMaxRunning          Unsigned32,
725     smLaunchMaxCompleted        Unsigned32,
726     smLaunchLifeTime            TimeInterval,
727     smLaunchExpireTime          TimeInterval,
728     smLaunchStart               Integer32,
729     smLaunchControl             INTEGER,
730     smLaunchAdminStatus         INTEGER,
731     smLaunchOperStatus          INTEGER,
732     smLaunchRunIndexNext        Integer32,
733     smLaunchStorageType         StorageType,
734     smLaunchRowStatus           RowStatus,
735     smLaunchError               SnmpAdminString,
736     smLaunchLastChange          DateAndTime,
737     smLaunchRowExpireTime       TimeInterval
738 }
739
740 smLaunchOwner OBJECT-TYPE
741     SYNTAX      SnmpAdminString (SIZE (0..32))
742     MAX-ACCESS  not-accessible
743     STATUS      current
744     DESCRIPTION
745         "The manager who owns this row in the smLaunchTable. Every
746          instance of a running script started from a particular entry
747          in the smLaunchTable (i.e. entries in the smRunTable) will
748          be owned by the same smLaunchOwner used to index the entry
749          in the smLaunchTable. This owner is not necessarily the same
750          as the owner of the script itself (smLaunchScriptOwner)."
751     ::= { smLaunchEntry 1 }
752
753 smLaunchName OBJECT-TYPE
754     SYNTAX      SnmpAdminString (SIZE (1..32))
755     MAX-ACCESS  not-accessible
756     STATUS      current
757     DESCRIPTION
758         "The locally-unique, administratively assigned name for this
759          launch table entry. This object allows an smLaunchOwner to
760          have multiple entries in the smLaunchTable. The smLaunchName
761          is an arbitrary name that must be different from any other
762          smLaunchTable entries with the same smLaunchOwner but can be
763          the same as other entries in the smLaunchTable with
764          different smLaunchOwner values. Note that the value of
765          smLaunchName is not related in any way to the name of the
766          script being launched."
767     ::= { smLaunchEntry 2 }
768
769 smLaunchScriptOwner OBJECT-TYPE
770     SYNTAX      SnmpAdminString (SIZE (0..32))
771     MAX-ACCESS  read-create
772     STATUS      current
773     DESCRIPTION
774         "The value of this object in combination with the value of
775          smLaunchScriptName identifies the script that can be
776          launched from this smLaunchTable entry. Attempts to write
777          this object will fail with an inconsistentValue error if
778          the value of smLaunchOperStatus is `enabled'."
779     ::= { smLaunchEntry 3 }
780
781 smLaunchScriptName OBJECT-TYPE
782     SYNTAX      SnmpAdminString (SIZE (0..32))
783     MAX-ACCESS  read-create
784     STATUS      current
785     DESCRIPTION
786         "The value of this object in combination with the value of
787          the smLaunchScriptOwner identifies the script that can be
788          launched from this smLaunchTable entry. The zero-length
789          string may be used to point to a non-existing script.
790
791          Attempts to write this object will fail with an
792          inconsistentValue error if the value of smLaunchOperStatus
793          is `enabled'."
794     DEFVAL { ''H }
795     ::= { smLaunchEntry 4 }
796
797 smLaunchArgument OBJECT-TYPE
798     SYNTAX      OCTET STRING
799     MAX-ACCESS  read-create
800     STATUS      current
801     DESCRIPTION
802         "The argument supplied to the script. When a script is
803          invoked, the value of this object is used to initialize
804          the smRunArgument object."
805     DEFVAL { ''H }
806     ::= { smLaunchEntry 5 }
807
808 smLaunchMaxRunning OBJECT-TYPE
809     SYNTAX      Unsigned32 (1..4294967295)
810     MAX-ACCESS  read-create
811     STATUS      current
812     DESCRIPTION
813         "The maximum number of concurrently running scripts that may
814          be invoked from this entry in the smLaunchTable. Lowering
815          the current value of this object does not affect any scripts
816          that are already executing."
817     DEFVAL { 1 }
818     ::= { smLaunchEntry 6 }
819
820 smLaunchMaxCompleted OBJECT-TYPE
821     SYNTAX      Unsigned32 (1..4294967295)
822     MAX-ACCESS  read-create
823     STATUS      current
824     DESCRIPTION
825         "The maximum number of finished scripts invoked from this
826          entry in the smLaunchTable allowed to be retained in the
827          smRunTable. Whenever the value of this object is changed
828          and whenever a script terminates, entries in the smRunTable
829          are deleted if necessary until the number of completed
830          scripts is smaller than the value of this object. Scripts
831          whose smRunEndTime value indicates the oldest completion
832          time are deleted first."
833     DEFVAL { 1 }
834     ::= { smLaunchEntry 7 }
835
836 smLaunchLifeTime OBJECT-TYPE
837     SYNTAX      TimeInterval
838     UNITS       "centi-seconds"
839     MAX-ACCESS  read-create
840     STATUS      current
841     DESCRIPTION
842         "The default maximum amount of time a script launched
843          from this entry may run. The value of this object is used
844          to initialize the smRunLifeTime object when a script is
845          launched. Changing the value of an smLaunchLifeTime
846          instance does not affect scripts previously launched from
847
848          this entry."
849     DEFVAL { 360000 }
850     ::= { smLaunchEntry 8 }
851
852 smLaunchExpireTime OBJECT-TYPE
853     SYNTAX      TimeInterval
854     UNITS       "centi-seconds"
855     MAX-ACCESS  read-create
856     STATUS      current
857     DESCRIPTION
858         "The default maximum amount of time information about a
859          script launched from this entry is kept in the smRunTable
860          after the script has completed execution.  The value of
861          this object is used to initialize the smRunExpireTime
862          object when a script is launched. Changing the value of an
863          smLaunchExpireTime instance does not affect scripts
864          previously launched from this entry."
865     DEFVAL { 360000 }
866     ::= { smLaunchEntry 9 }
867
868 smLaunchStart OBJECT-TYPE
869     SYNTAX      Integer32 (0..2147483647)
870     MAX-ACCESS  read-create
871     STATUS      current
872     DESCRIPTION
873         "This object is used to start the execution of scripts.
874          When retrieved, the value will be the value of smRunIndex
875          for the last script that started execution by manipulating
876          this object. The value will be zero if no script started
877          execution yet.
878
879          A script is started by setting this object to an unused
880          smRunIndex value. A new row in the smRunTable will be
881          created which is indexed by the value supplied by the
882          set-request in addition to the value of smLaunchOwner and
883          smLaunchName. An unused value can be obtained by reading
884          the smLaunchRunIndexNext object.
885
886          Setting this object to the special value 0 will start
887          the script with a self-generated smRunIndex value. The
888          consequence is that the script invoker has no reliable
889          way to determine the smRunIndex value for this script
890          invocation and that the invoker has therefore no way
891          to obtain the results from this script invocation. The
892          special value 0 is however useful for scheduled script
893          invocations.
894
895          If this object is set, the following checks must be
896
897          performed:
898
899          1) The value of the smLaunchOperStatus object in this
900             entry of the smLaunchTable must be `enabled'.
901          2) The values of smLaunchScriptOwner and
902             smLaunchScriptName of this row must identify an
903             existing entry in the smScriptTable.
904          3) The value of smScriptOperStatus of this entry must
905             be `enabled'.
906          4) The principal performing the set operation must have
907             read access to the script. This must be checked by
908             calling the isAccessAllowed abstract service interface
909             defined in RFC 2271 on the row in the smScriptTable
910             identified by smLaunchScriptOwner and smLaunchScriptName.
911             The isAccessAllowed abstract service interface must be
912             called on all columnar objects in the smScriptTable with
913             a MAX-ACCESS value different than `not-accessible'. The
914             test fails as soon as a call indicates that access is
915             not allowed.
916          5) If the value provided by the set operation is not 0,
917             a check must be made that the value is currently not
918             in use. Otherwise, if the value provided by the set
919             operation is 0, a suitable unused value must be
920             generated.
921          6) The number of currently executing scripts invoked
922             from this smLaunchTable entry must be less than
923             smLaunchMaxRunning.
924
925          Attempts to start a script will fail with an
926          inconsistentValue error if one of the checks described
927          above fails.
928
929          Otherwise, if all checks have been passed, a new entry
930          in the smRunTable will be created indexed by smLaunchOwner,
931          smLaunchName and the new value for smRunIndex. The value
932          of smLaunchArgument will be copied into smRunArgument,
933          the value of smLaunchLifeTime will be copied to
934          smRunLifeTime, and the value of smLaunchExpireTime
935          will be copied to smRunExpireTime.
936
937          The smRunStartTime will be set to the current time and
938          the smRunState will be set to `initializing' before the
939          script execution is initiated in the appropriate runtime
940          system.
941
942          Note that the data type and the range of this object must
943          be consistent with the smRunIndex object. Since this
944          object might be written from the scheduling MIB, the
945
946          data type Integer32 rather than Unsigned32 is used."
947     DEFVAL { 0 }
948     ::= { smLaunchEntry 10 }
949
950 smLaunchControl OBJECT-TYPE
951     SYNTAX      INTEGER {
952                     abort(1),
953                     suspend(2),
954                     resume(3),
955                     nop(4)
956                 }
957     MAX-ACCESS  read-create
958     STATUS      current
959     DESCRIPTION
960         "This object is used to request a state change for all
961          running scripts in the smRunTable that were started from
962          this row in the smLaunchTable.
963
964          Setting this object to abort(1), suspend(2) or resume(3)
965          will set the smRunControl object of all applicable rows
966          in the smRunTable to abort(1), suspend(2) or resume(3)
967          respectively. The phrase `applicable rows' means the set of
968          rows which were created from this entry in the smLaunchTable
969          and whose value of smRunState allows the corresponding
970          state change as described in the definition of the
971          smRunControl object. Setting this object to nop(4) has no
972          effect.
973
974          Attempts to set this object lead to an inconsistentValue
975          error only if all implicated sets on all the applicable
976          rows lead to inconsistentValue errors. It is not allowed
977          to return an inconsistentValue error if at least one state
978          change on one of the applicable rows was successful."
979     DEFVAL { nop }
980     ::= { smLaunchEntry 11 }
981
982 smLaunchAdminStatus OBJECT-TYPE
983     SYNTAX      INTEGER {
984                     enabled(1),
985                     disabled(2),
986                     autostart(3)
987                 }
988     MAX-ACCESS  read-create
989     STATUS      current
990     DESCRIPTION
991         "The value of this object indicates the desired status of
992          this launch table entry. The values enabled(1) and
993          autostart(3) both indicate that the launch table entry
994
995          should transition into the operational enabled(1) state as
996          soon as the associated script table entry is enabled(1).
997
998          The value autostart(3) further indicates that the script
999          is started automatically by conceptually writing the
1000          value 0 into the associated smLaunchStart object during
1001          the transition from the `disabled' into the `enabled'
1002          operational state. This is useful for scripts that are
1003          to be launched on system start-up."
1004     DEFVAL { disabled }
1005     ::= { smLaunchEntry 12 }
1006
1007 smLaunchOperStatus OBJECT-TYPE
1008     SYNTAX      INTEGER {
1009                     enabled(1),
1010                     disabled(2),
1011                     expired(3)
1012                 }
1013     MAX-ACCESS  read-only
1014     STATUS      current
1015     DESCRIPTION
1016         "The value of this object indicates the actual status of
1017          this launch table entry.  The smLaunchOperStatus object
1018          may have the following values:
1019
1020          - `enabled' indicates that the launch table entry is
1021            available and can be used to start scripts.
1022
1023          - `disabled' indicates that the launch table entry can
1024            not be used to start scripts.
1025
1026          - `expired' indicates that the launch table entry can
1027            not be used to start scripts and will disappear as
1028            soon as all smRunTable entries associated with this
1029            launch table entry have disappeared.
1030
1031          The value `enabled' requires that the smLaunchRowStatus
1032          object is active. The value `disabled' requires that there
1033          are no entries in the smRunTable associated with this
1034          smLaunchTable entry."
1035     DEFVAL { disabled }
1036     ::= { smLaunchEntry 13 }
1037
1038 smLaunchRunIndexNext OBJECT-TYPE
1039     SYNTAX      Integer32 (1..2147483647)
1040     MAX-ACCESS  read-only
1041     STATUS      current
1042     DESCRIPTION
1043         "This variable is used for creating rows in the smRunTable.
1044          The value of this variable is a currently unused value
1045          for smRunIndex, which can be written into the smLaunchStart
1046          object associated with this row to launch a script.
1047
1048          The value returned when reading this variable must be unique
1049          for the smLaunchOwner and smLaunchName associated with this
1050          row. Subsequent attempts to read this variable must return
1051          different values.
1052
1053          This variable will return the special value 0 if no new rows
1054          can be created.
1055
1056          Note that the data type and the range of this object must be
1057          consistent with the definition of smRunIndex."
1058     ::= { smLaunchEntry 14 }
1059
1060 smLaunchStorageType OBJECT-TYPE
1061     SYNTAX      StorageType
1062     MAX-ACCESS  read-create
1063     STATUS      current
1064     DESCRIPTION
1065         "This object defines if this row is kept in volatile storage
1066          and lost upon reboot or if this row is backed up by stable
1067          storage.
1068
1069          The value of smLaunchStorageType is only meaningful if the
1070          value of the corresponding RowStatus object is active.
1071
1072          If smLaunchStorageType has the value permanent(4), then all
1073          objects whose MAX-ACCESS value is read-create must be
1074          writable, with the exception of the smLaunchStorageType and
1075          smLaunchRowStatus objects, which shall be read-only."
1076     DEFVAL { volatile }
1077     ::= { smLaunchEntry 15 }
1078
1079 smLaunchRowStatus OBJECT-TYPE
1080     SYNTAX      RowStatus
1081     MAX-ACCESS  read-create
1082     STATUS      current
1083     DESCRIPTION
1084         "A control that allows entries to be added and removed from
1085          this table.
1086
1087          Attempts to `destroy' a row or to set a row `notInService'
1088          while the smLaunchOperStatus is `enabled' will result in
1089          an inconsistentValue error.
1090
1091          Attempts to `destroy' a row or to set a row `notInService'
1092          where the value of the smLaunchStorageType object is
1093          `permanent' or `readOnly' will result in an
1094          inconsistentValue error.
1095
1096          The value of this object has no effect on whether other
1097          objects in this conceptual row can be modified."
1098     ::= { smLaunchEntry 16 }
1099
1100 smLaunchError OBJECT-TYPE
1101     SYNTAX      SnmpAdminString
1102     MAX-ACCESS  read-only
1103     STATUS      current
1104     DESCRIPTION
1105         "This object contains a descriptive error message if an
1106          attempt to launch a script fails. Implementations must reset
1107          the error message to a zero-length string when a new attempt
1108          to launch a script is started."
1109     DEFVAL { ''H }
1110     ::= { smLaunchEntry 17 }
1111
1112 smLaunchLastChange OBJECT-TYPE
1113     SYNTAX      DateAndTime
1114     MAX-ACCESS  read-only
1115     STATUS      current
1116     DESCRIPTION
1117         "The date and time when this launch table entry was last
1118          modified. The value '0000000000000000'H is returned if
1119          the launch table entry has not yet been modified.
1120
1121          Note that a change of smLaunchStart, smLaunchControl,
1122          smLaunchRunIndexNext, smLaunchRowExpireTime, or the
1123          resetting of smLaunchError is not considered a change
1124          of this launch table entry."
1125     DEFVAL { '0000000000000000'H }
1126     ::= { smLaunchEntry 18 }
1127
1128 smLaunchRowExpireTime OBJECT-TYPE
1129     SYNTAX      TimeInterval
1130     UNITS       "centi-seconds"
1131     MAX-ACCESS  read-create
1132     STATUS      current
1133     DESCRIPTION
1134         "The value of this object specifies how long this row remains
1135          in the `enabled' or `disabled' operational state. The value
1136          reported by this object ticks backwards. When the value
1137          reaches 0, it stops ticking backward and the row is
1138          deleted if there are no smRunTable entries associated with
1139
1140          this smLaunchTable entry. Otherwise, the smLaunchOperStatus
1141          changes to `expired' and the row deletion is deferred
1142          until there are no smRunTable entries associated with this
1143          smLaunchTable entry.
1144
1145          The smLaunchRowExpireTime will not tick backwards if it is
1146          set to its maximum value (2147483647). In other words,
1147          setting this object to its maximum value turns the timer
1148          off.
1149
1150          The value of this object may be set in order to increase
1151          or reduce the remaining time that the launch table entry
1152          may be used. Setting the value to 0 will cause an immediate
1153          row deletion or transition into the `expired' operational
1154          state.
1155
1156          It is not possible to set this object while the operational
1157          status is `expired'. Attempts to modify this object while
1158          the operational status is `expired' leads to an
1159          inconsistentValue error.
1160
1161          Note that the timer ticks backwards independent of the
1162          operational state of the launch table entry."
1163     DEFVAL { 2147483647 }
1164     ::= { smLaunchEntry 19 }
1165
1166 smRunTable OBJECT-TYPE
1167     SYNTAX      SEQUENCE OF SmRunEntry
1168     MAX-ACCESS  not-accessible
1169     STATUS      current
1170     DESCRIPTION
1171         "This table lists and describes scripts that are currently
1172          running or have been running in the past."
1173     ::= { smRunObjects 2 }
1174
1175 smRunEntry OBJECT-TYPE
1176     SYNTAX      SmRunEntry
1177     MAX-ACCESS  not-accessible
1178     STATUS      current
1179     DESCRIPTION
1180         "An entry describing a particular running or finished
1181          script."
1182     INDEX { smLaunchOwner, smLaunchName, smRunIndex }
1183     ::= { smRunTable 1 }
1184
1185 SmRunEntry ::= SEQUENCE {
1186     smRunIndex          Integer32,
1187     smRunArgument       OCTET STRING,
1188     smRunStartTime      DateAndTime,
1189     smRunEndTime        DateAndTime,
1190     smRunLifeTime       TimeInterval,
1191     smRunExpireTime     TimeInterval,
1192     smRunExitCode       INTEGER,
1193     smRunResult         OCTET STRING,
1194     smRunControl        INTEGER,
1195     smRunState          INTEGER,
1196     smRunError          SnmpAdminString,
1197     smRunResultTime     DateAndTime,
1198     smRunErrorTime      DateAndTime
1199 }
1200
1201 smRunIndex OBJECT-TYPE
1202     SYNTAX      Integer32 (1..2147483647)
1203     MAX-ACCESS  not-accessible
1204     STATUS      current
1205     DESCRIPTION
1206         "The locally arbitrary, but unique identifier associated
1207          with this running or finished script. This value must be
1208          unique for all rows in the smRunTable with the same
1209          smLaunchOwner and smLaunchName.
1210
1211          Note that the data type and the range of this object must
1212          be consistent with the definition of smLaunchRunIndexNext
1213          and smLaunchStart."
1214     ::= { smRunEntry 1 }
1215
1216 smRunArgument OBJECT-TYPE
1217     SYNTAX      OCTET STRING
1218     MAX-ACCESS  read-only
1219     STATUS      current
1220     DESCRIPTION
1221         "The argument supplied to the script when it started."
1222     DEFVAL { ''H }
1223     ::= { smRunEntry 2 }
1224
1225 smRunStartTime OBJECT-TYPE
1226     SYNTAX      DateAndTime
1227     MAX-ACCESS  read-only
1228     STATUS      current
1229     DESCRIPTION
1230         "The date and time when the execution started. The value
1231          '0000000000000000'H is returned if the script has not
1232          started yet."
1233     DEFVAL { '0000000000000000'H }
1234     ::= { smRunEntry 3 }
1235
1236 smRunEndTime OBJECT-TYPE
1237     SYNTAX      DateAndTime
1238     MAX-ACCESS  read-only
1239     STATUS      current
1240     DESCRIPTION
1241         "The date and time when the execution terminated. The value
1242          '0000000000000000'H is returned if the script has not
1243          terminated yet."
1244     DEFVAL { '0000000000000000'H }
1245     ::= { smRunEntry 4 }
1246
1247 smRunLifeTime OBJECT-TYPE
1248     SYNTAX      TimeInterval
1249     UNITS       "centi-seconds"
1250     MAX-ACCESS  read-write
1251     STATUS      current
1252     DESCRIPTION
1253         "This object specifies how long the script can execute.
1254          This object returns the remaining time that the script
1255          may run. The object is initialized with the value of the
1256          associated smLaunchLifeTime object and ticks backwards.
1257          The script is aborted immediately when the value reaches 0.
1258
1259          The value of this object may be set in order to increase or
1260          reduce the remaining time that the script may run. Setting
1261          this value to 0 will abort script execution immediately,
1262          and, if the value of smRunExpireTime is also 0, will remove
1263          this entry from the smRunTable once it has terminated.
1264
1265          If smRunLifeTime is set to its maximum value (2147483647),
1266          either by a set operation or by its initialization from the
1267          smLaunchLifeTime object, then it will not tick backwards.
1268          A running script with a maximum smRunLifeTime value will
1269          thus never be terminated with a `lifeTimeExceeded' exit
1270          code.
1271
1272          The value of smRunLifeTime reflects the real-time execution
1273          time as seen by the outside world. The value of this object
1274          will always be 0 for a script that finished execution, that
1275          is smRunState has the value `terminated'.
1276
1277          The value of smRunLifeTime does not change while a script
1278          is suspended, that is smRunState has the value `suspended'.
1279          Note that this does not affect set operations. It is legal
1280          to modify smRunLifeTime via set operations while a script
1281          is suspended."
1282     ::= { smRunEntry 5 }
1283
1284 smRunExpireTime OBJECT-TYPE
1285     SYNTAX      TimeInterval
1286     UNITS       "centi-seconds"
1287     MAX-ACCESS  read-write
1288     STATUS      current
1289     DESCRIPTION
1290         "The value of this object specifies how long this row can
1291          exist in the smRunTable after the script has terminated.
1292          This object returns the remaining time that the row may
1293          exist before it is aged out. The object is initialized with
1294          the value of the associated smLaunchExpireTime object and
1295          ticks backwards. The entry in the smRunTable is destroyed
1296          when the value reaches 0 and the smRunState has the value
1297          `terminated'.
1298
1299          The value of this object may be set in order to increase or
1300          reduce the remaining time that the row may exist.  Setting
1301          the value to 0 will destroy this entry as soon as the
1302          smRunState has the value `terminated'."
1303     ::= { smRunEntry 6 }
1304
1305 smRunExitCode OBJECT-TYPE
1306     SYNTAX      INTEGER {
1307                     noError(1),
1308                     halted(2),
1309                     lifeTimeExceeded(3),
1310                     noResourcesLeft(4),
1311                     languageError(5),
1312                     runtimeError(6),
1313                     invalidArgument(7),
1314                     securityViolation(8),
1315                     genericError(9)
1316                 }
1317     MAX-ACCESS  read-only
1318     STATUS      current
1319     DESCRIPTION
1320         "The value of this object indicates the reason why a
1321          script finished execution. The smRunExitCode code may have
1322          one of the following values:
1323
1324          - `noError', which indicates that the script completed
1325             successfully without errors;
1326
1327          - `halted', which indicates that the script was halted
1328             by a request from an authorized manager;
1329
1330          - `lifeTimeExceeded', which indicates that the script
1331             exited because a time limit was exceeded;
1332
1333          - `noResourcesLeft', which indicates that the script
1334             exited because it ran out of resources (e.g. memory);
1335
1336          - `languageError', which indicates that the script exited
1337             because of a language error (e.g. a syntax error in an
1338             interpreted language);
1339
1340          - `runtimeError', which indicates that the script exited
1341             due to a runtime error (e.g. a division by zero);
1342
1343          - `invalidArgument', which indicates that the script could
1344             not be run because of invalid script arguments;
1345
1346          - `securityViolation', which indicates that the script
1347             exited due to a security violation;
1348
1349          - `genericError', which indicates that the script exited
1350             for an unspecified reason.
1351
1352          If the script has not yet begun running, or is currently
1353          running, the value will be `noError'."
1354     DEFVAL { noError }
1355     ::= { smRunEntry 7 }
1356
1357 smRunResult OBJECT-TYPE
1358     SYNTAX      OCTET STRING
1359     MAX-ACCESS  read-only
1360     STATUS      current
1361     DESCRIPTION
1362         "The result value produced by the running script. Note that
1363          the result may change while the script is executing."
1364     DEFVAL { ''H }
1365     ::= { smRunEntry 8 }
1366
1367 smRunControl OBJECT-TYPE
1368     SYNTAX      INTEGER {
1369                     abort(1),
1370                     suspend(2),
1371                     resume(3),
1372                     nop(4)
1373                 }
1374     MAX-ACCESS  read-write
1375     STATUS      current
1376     DESCRIPTION
1377         "The value of this object indicates the desired status of the
1378          script execution defined by this row.
1379
1380          Setting this object to `abort' will abort execution if the
1381
1382          value of smRunState is `initializing', `executing',
1383          `suspending', `suspended' or `resuming'. Setting this object
1384          to `abort' when the value of smRunState is `aborting' or
1385          `terminated', or if the implementation can determine that
1386          the attempt to abort the execution would fail, will result
1387          in an inconsistentValue error.
1388
1389          Setting this object to `suspend' will suspend execution
1390          if the value of smRunState is `executing'. Setting this
1391          object to `suspend' will cause an inconsistentValue error
1392          if the value of smRunState is not `executing' or if the
1393          implementation can determine that the attempt to suspend
1394          the execution would fail.
1395
1396          Setting this object to `resume' will resume execution
1397          if the value of smRunState is `suspending' or
1398          `suspended'. Setting this object to `resume' will cause an
1399          inconsistentValue error if the value of smRunState is
1400          not `suspended' or if the implementation can determine
1401          that the attempt to resume the execution would fail.
1402
1403          Setting this object to nop(4) has no effect."
1404     DEFVAL { nop }
1405     ::= { smRunEntry 9 }
1406
1407 smRunState OBJECT-TYPE
1408     SYNTAX      INTEGER {
1409                     initializing(1),
1410                     executing(2),
1411                     suspending(3),
1412                     suspended(4),
1413                     resuming(5),
1414                     aborting(6),
1415                     terminated(7)
1416                 }
1417     MAX-ACCESS  read-only
1418     STATUS      current
1419     DESCRIPTION
1420         "The value of this object indicates the script's execution
1421          state. If the script has been invoked but has not yet
1422          begun execution, the value will be `initializing'. If the
1423          script is running, the value will be `executing'.
1424
1425          A running script which received a request to suspend
1426          execution first transitions into a temporary `suspending'
1427          state.  The temporary `suspending' state changes to
1428          `suspended' when the script has actually been suspended. The
1429          temporary `suspending' state changes back to `executing' if
1430
1431          the attempt to suspend the running script fails.
1432
1433          A suspended script which received a request to resume
1434          execution first transitions into a temporary `resuming'
1435          state. The temporary `resuming' state changes to `running'
1436          when the script has actually been resumed. The temporary
1437          `resuming' state changes back to `suspended' if the attempt
1438          to resume the suspended script fails.
1439
1440          A script which received a request to abort execution but
1441          which is still running first transitions into a temporary
1442          `aborting' state.
1443
1444          A script which has finished its execution is `terminated'."
1445     ::= { smRunEntry 10 }
1446
1447 smRunError OBJECT-TYPE
1448     SYNTAX      SnmpAdminString
1449     MAX-ACCESS  read-only
1450     STATUS      current
1451     DESCRIPTION
1452         "This object contains a descriptive error message if the
1453          script startup or execution raised an abnormal condition.
1454          An implementation must store a descriptive error message
1455          in this object if the script exits with the smRunExitCode
1456          `genericError'."
1457     DEFVAL { ''H }
1458     ::= { smRunEntry 11 }
1459
1460 smRunResultTime OBJECT-TYPE
1461     SYNTAX      DateAndTime
1462     MAX-ACCESS  read-only
1463     STATUS      current
1464     DESCRIPTION
1465         "The date and time when the smRunResult was last updated.
1466          The value '0000000000000000'H is returned if smRunResult
1467          has not yet been updated after the creation of this
1468          smRunTable entry."
1469     DEFVAL { '0000000000000000'H }
1470     ::= { smRunEntry 12 }
1471
1472 smRunErrorTime OBJECT-TYPE
1473     SYNTAX      DateAndTime
1474     MAX-ACCESS  read-only
1475     STATUS      current
1476     DESCRIPTION
1477         "The date and time when the smRunError was last updated.
1478          The value '0000000000000000'H is returned if smRunError
1479
1480          has not yet been updated after the creation of this
1481          smRunTable entry."
1482     DEFVAL { '0000000000000000'H }
1483     ::= { smRunEntry 13 }
1484
1485 --
1486 -- Notifications. The definition of smTraps makes notification
1487 -- registrations reversible (see STD 58, RFC 2578).
1488 --
1489
1490 smTraps OBJECT IDENTIFIER ::= { smNotifications 0 }
1491
1492 smScriptAbort NOTIFICATION-TYPE
1493     OBJECTS     { smRunExitCode, smRunEndTime, smRunError }
1494     STATUS      current
1495     DESCRIPTION
1496         "This notification is generated whenever a running script
1497          terminates with an smRunExitCode unequal to `noError'."
1498     ::= { smTraps 1 }
1499
1500 smScriptResult NOTIFICATION-TYPE
1501     OBJECTS     { smRunResult }
1502     STATUS      current
1503     DESCRIPTION
1504         "This notification can be used by scripts to notify other
1505          management applications about results produced by the
1506          script.
1507
1508          This notification is not automatically generated by the
1509          Script MIB implementation. It is the responsibility of
1510          the executing script to emit this notification where it
1511          is appropriate to do so."
1512     ::= { smTraps 2 }
1513
1514 smScriptException NOTIFICATION-TYPE
1515     OBJECTS     { smRunError }
1516     STATUS      current
1517     DESCRIPTION
1518         "This notification can be used by scripts to notify other
1519          management applications about script errors.
1520
1521          This notification is not automatically generated by the
1522          Script MIB implementation. It is the responsibility of
1523          the executing script or the runtime system to emit this
1524          notification where it is appropriate to do so."
1525     ::= { smTraps 3 }
1526
1527 -- conformance information
1528
1529 smCompliances OBJECT IDENTIFIER ::= { smConformance 1 }
1530 smGroups      OBJECT IDENTIFIER ::= { smConformance 2 }
1531
1532 -- compliance statements
1533
1534 smCompliance2 MODULE-COMPLIANCE
1535     STATUS      current
1536     DESCRIPTION
1537         "The compliance statement for SNMP entities which implement
1538          the Script MIB."
1539     MODULE      -- this module
1540     MANDATORY-GROUPS {
1541             smLanguageGroup, smScriptGroup2, smLaunchGroup2,
1542             smRunGroup2, smNotificationsGroup2
1543     }
1544     GROUP   smCodeGroup
1545     DESCRIPTION
1546         "The smCodeGroup is mandatory only for those implementations
1547          that support the downloading of scripts via SNMP."
1548     OBJECT  smScriptSource
1549     MIN-ACCESS  read-only
1550     DESCRIPTION
1551         "The smScriptSource object is read-only for implementations
1552          that are not able to download script code from a URL."
1553     OBJECT smCodeText
1554     DESCRIPTION
1555         "A compliant implementation need only support write access to
1556          the smCodeText object only during row creation."
1557     OBJECT smLaunchArgument
1558     DESCRIPTION
1559         "A compliant implementation has to support a minimum size
1560          for smLaunchArgument of 255 octets."
1561     OBJECT smRunArgument
1562     DESCRIPTION
1563         "A compliant implementation has to support a minimum size
1564          for smRunArgument of 255 octets."
1565     OBJECT smRunResult
1566     DESCRIPTION
1567         "A compliant implementation has to support a minimum size
1568          for smRunResult of 255 octets."
1569     OBJECT smRunState
1570     DESCRIPTION
1571         "A compliant implementation does not have to support script
1572          suspension and the smRunState `suspended'. Such an
1573          implementation will change into the `suspending' state
1574          when the smRunControl is set to `suspend' and remain in this
1575          state until smRunControl is set to `resume' or the script
1576          terminates."
1577     ::= { smCompliances 2 }
1578
1579 smLanguageGroup OBJECT-GROUP
1580     OBJECTS {
1581         smLangLanguage, smLangVersion,
1582         smLangVendor, smLangRevision,
1583         smLangDescr, smExtsnExtension,
1584         smExtsnVersion, smExtsnVendor,
1585         smExtsnRevision, smExtsnDescr
1586     }
1587     STATUS      current
1588     DESCRIPTION
1589         "A collection of objects providing information about the
1590          capabilities of the scripting engine."
1591     ::= { smGroups 1 }
1592
1593 smScriptGroup2 OBJECT-GROUP
1594     OBJECTS {
1595         smScriptDescr, smScriptLanguage,
1596         smScriptSource, smScriptAdminStatus,
1597         smScriptOperStatus, smScriptStorageType,
1598         smScriptRowStatus, smScriptError,
1599         smScriptLastChange
1600     }
1601     STATUS      current
1602     DESCRIPTION
1603         "A collection of objects providing information about
1604          installed scripts."
1605     ::= { smGroups 7 }
1606
1607 smCodeGroup OBJECT-GROUP
1608     OBJECTS {
1609         smCodeText, smCodeRowStatus
1610     }
1611     STATUS      current
1612     DESCRIPTION
1613         "A collection of objects used to download or modify scripts
1614          by using SNMP set requests."
1615     ::= { smGroups 3 }
1616
1617 smLaunchGroup2 OBJECT-GROUP
1618     OBJECTS {
1619         smLaunchScriptOwner, smLaunchScriptName,
1620         smLaunchArgument, smLaunchMaxRunning,
1621         smLaunchMaxCompleted, smLaunchLifeTime,
1622         smLaunchExpireTime, smLaunchStart,
1623         smLaunchControl, smLaunchAdminStatus,
1624         smLaunchOperStatus, smLaunchRunIndexNext,
1625         smLaunchStorageType, smLaunchRowStatus,
1626         smLaunchError, smLaunchLastChange,
1627         smLaunchRowExpireTime
1628     }
1629     STATUS      current
1630     DESCRIPTION
1631         "A collection of objects providing information about scripts
1632          that can be launched."
1633     ::= { smGroups 8 }
1634
1635 smRunGroup2 OBJECT-GROUP
1636     OBJECTS {
1637         smRunArgument, smRunStartTime,
1638         smRunEndTime, smRunLifeTime,
1639         smRunExpireTime, smRunExitCode,
1640         smRunResult, smRunState,
1641         smRunControl, smRunError,
1642         smRunResultTime, smRunErrorTime
1643     }
1644     STATUS      current
1645     DESCRIPTION
1646         "A collection of objects providing information about running
1647          scripts."
1648     ::= { smGroups 9 }
1649
1650 smNotificationsGroup2 NOTIFICATION-GROUP
1651     NOTIFICATIONS {
1652         smScriptAbort,
1653         smScriptResult,
1654         smScriptException
1655     }
1656     STATUS      current
1657     DESCRIPTION
1658         "The notifications emitted by the Script MIB."
1659     ::= { smGroups 10 }
1660
1661 --
1662 -- Deprecated compliance and conformance group definitions
1663 -- from RFC 2592.
1664 --
1665
1666 smCompliance MODULE-COMPLIANCE
1667     STATUS      deprecated
1668     DESCRIPTION
1669         "The compliance statement for SNMP entities which implement
1670          the Script MIB."
1671     MODULE      -- this module
1672     MANDATORY-GROUPS {
1673
1674             smLanguageGroup, smScriptGroup, smLaunchGroup, smRunGroup
1675     }
1676     GROUP   smCodeGroup
1677     DESCRIPTION
1678         "The smCodeGroup is mandatory only for those implementations
1679          that support the downloading of scripts via SNMP."
1680     OBJECT  smScriptSource
1681     MIN-ACCESS  read-only
1682     DESCRIPTION
1683         "The smScriptSource object is read-only for implementations
1684          that are not able to download script code from a URL."
1685     OBJECT smCodeText
1686     DESCRIPTION
1687         "A compliant implementation need only support write access
1688          to the smCodeText object during row creation."
1689     OBJECT smLaunchArgument
1690     DESCRIPTION
1691         "A compliant implementation has to support a minimum size
1692          for smLaunchArgument of 255 octets."
1693     OBJECT smRunArgument
1694     DESCRIPTION
1695         "A compliant implementation has to support a minimum size
1696          for smRunArgument of 255 octets."
1697     OBJECT smRunResult
1698     DESCRIPTION
1699         "A compliant implementation has to support a minimum size
1700          for smRunResult of 255 octets."
1701     OBJECT smRunState
1702     DESCRIPTION
1703         "A compliant implementation does not have to support script
1704          suspension and the smRunState `suspended'. Such an
1705          implementation will change into the `suspending' state
1706          when the smRunControl is set to `suspend' and remain in this
1707          state until smRunControl is set to `resume' or the script
1708          terminates."
1709     ::= { smCompliances 1 }
1710
1711 smScriptGroup OBJECT-GROUP
1712     OBJECTS {
1713         smScriptDescr, smScriptLanguage,
1714         smScriptSource, smScriptAdminStatus,
1715         smScriptOperStatus, smScriptStorageType,
1716         smScriptRowStatus
1717     }
1718     STATUS      deprecated
1719     DESCRIPTION
1720         "A collection of objects providing information about
1721          installed scripts."
1722     ::= { smGroups 2 }
1723
1724 smLaunchGroup OBJECT-GROUP
1725     OBJECTS {
1726         smLaunchScriptOwner, smLaunchScriptName,
1727         smLaunchArgument, smLaunchMaxRunning,
1728         smLaunchMaxCompleted, smLaunchLifeTime,
1729         smLaunchExpireTime, smLaunchStart,
1730         smLaunchControl, smLaunchAdminStatus,
1731         smLaunchOperStatus, smLaunchRunIndexNext,
1732         smLaunchStorageType, smLaunchRowStatus
1733     }
1734     STATUS      deprecated
1735     DESCRIPTION
1736         "A collection of objects providing information about scripts
1737          that can be launched."
1738     ::= { smGroups 4 }
1739
1740 smRunGroup OBJECT-GROUP
1741     OBJECTS {
1742         smRunArgument, smRunStartTime,
1743         smRunEndTime, smRunLifeTime,
1744         smRunExpireTime, smRunExitCode,
1745         smRunResult, smRunState,
1746         smRunControl, smRunError
1747     }
1748     STATUS      deprecated
1749     DESCRIPTION
1750         "A collection of objects providing information about running
1751          scripts."
1752     ::= { smGroups 5 }
1753
1754 smNotificationsGroup NOTIFICATION-GROUP
1755     NOTIFICATIONS {
1756         smScriptAbort,
1757         smScriptResult
1758     }
1759     STATUS      deprecated
1760     DESCRIPTION
1761         "The notifications emitted by the Script MIB."
1762     ::= { smGroups 6 }
1763
1764 END