1
DISMAN-SCRIPT-MIB DEFINITIONS ::= BEGIN
4
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
5
Integer32, Unsigned32, mib-2
8
RowStatus, TimeInterval, DateAndTime, StorageType, DisplayString
11
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
15
FROM SNMP-FRAMEWORK-MIB;
17
scriptMIB MODULE-IDENTITY
18
LAST-UPDATED "200108210000Z"
19
ORGANIZATION "IETF Distributed Management Working Group"
21
"WG EMail: disman@dorothy.bmc.com
22
Subscribe: disman-request@dorothy.bmc.com
28
2141 North First Street
29
San Jose, California 95131
31
EMail: rpresuhn@bmc.com
32
Phone: +1 408 546-1006
36
Postal: 4401 Great America Parkway
37
Santa Clara, CA 95052-8185
39
EMail: dlevi@nortelnetworks.com
40
Phone: +1 423 686 0432
42
Editor: Juergen Schoenwaelder
44
Postal: Bueltenweg 74/75
47
EMail: schoenw@ibr.cs.tu-bs.de
48
Phone: +49 531 391-3283"
50
"This MIB module defines a set of objects that allow to
51
delegate management scripts to distributed managers."
52
REVISION "200108210000Z"
54
"Revised version, published as RFC 3165.
56
This revision introduces several new objects: smScriptError,
57
smScriptLastChange, smLaunchError, smLaunchLastChange,
58
smLaunchRowExpireTime, smRunResultTime, and smRunErrorTime.
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.
66
A new smScriptException notification has been added to
67
support runtime error notifications.
69
Created new conformance and compliance statements that
70
take care of the new objects and notifications.
72
Clarifications have been added in several places to remove
73
ambiguities or contradictions that were discovered and
74
reported by implementors."
76
REVISION "199902221800Z"
78
"Initial version, published as RFC 2592."
84
smObjects OBJECT IDENTIFIER ::= { scriptMIB 1 }
85
smNotifications OBJECT IDENTIFIER ::= { scriptMIB 2 }
86
smConformance OBJECT IDENTIFIER ::= { scriptMIB 3 }
92
smLangTable OBJECT-TYPE
93
SYNTAX SEQUENCE OF SmLangEntry
94
MAX-ACCESS not-accessible
97
"This table lists supported script languages."
100
smLangEntry OBJECT-TYPE
102
MAX-ACCESS not-accessible
105
"An entry describing a particular language."
106
INDEX { smLangIndex }
107
::= { smLangTable 1 }
109
SmLangEntry ::= SEQUENCE {
110
smLangIndex Integer32,
111
smLangLanguage OBJECT IDENTIFIER,
112
smLangVersion SnmpAdminString,
113
smLangVendor OBJECT IDENTIFIER,
114
smLangRevision SnmpAdminString,
115
smLangDescr SnmpAdminString
118
smLangIndex OBJECT-TYPE
119
SYNTAX Integer32 (1..2147483647)
120
MAX-ACCESS not-accessible
123
"The locally arbitrary, but unique identifier associated
124
with this language entry.
126
The value is expected to remain constant at least from one
127
re-initialization of the entity's network management system
128
to the next re-initialization.
130
Note that the data type and the range of this object must
131
be consistent with the definition of smScriptLanguage."
132
::= { smLangEntry 1 }
134
smLangLanguage OBJECT-TYPE
135
SYNTAX OBJECT IDENTIFIER
139
"The globally unique identification of the language."
140
::= { smLangEntry 2 }
142
smLangVersion OBJECT-TYPE
143
SYNTAX SnmpAdminString (SIZE (0..32))
147
"The version number of the language. The zero-length string
148
shall be used if the language does not have a version
151
It is suggested that the version number consist of one or
152
more decimal numbers separated by dots, where the first
153
number is called the major version number."
154
::= { smLangEntry 3 }
156
smLangVendor OBJECT-TYPE
157
SYNTAX OBJECT IDENTIFIER
161
"An object identifier which identifies the vendor who
162
provides the implementation of the language. This object
163
identifier SHALL point to the object identifier directly
164
below the enterprise object identifier {1 3 6 1 4 1}
165
allocated for the vendor. The value must be the object
166
identifier {0 0} if the vendor is not known."
167
::= { smLangEntry 4 }
169
smLangRevision OBJECT-TYPE
170
SYNTAX SnmpAdminString (SIZE (0..32))
174
"The version number of the language implementation.
175
The value of this object must be an empty string if
176
version number of the implementation is unknown.
178
It is suggested that the value consist of one or more
179
decimal numbers separated by dots, where the first
180
number is called the major version number."
181
::= { smLangEntry 5 }
183
smLangDescr OBJECT-TYPE
184
SYNTAX SnmpAdminString
188
"A textual description of the language."
189
::= { smLangEntry 6 }
191
smExtsnTable OBJECT-TYPE
192
SYNTAX SEQUENCE OF SmExtsnEntry
193
MAX-ACCESS not-accessible
196
"This table lists supported language extensions."
199
smExtsnEntry OBJECT-TYPE
201
MAX-ACCESS not-accessible
204
"An entry describing a particular language extension."
205
INDEX { smLangIndex, smExtsnIndex }
206
::= { smExtsnTable 1 }
208
SmExtsnEntry ::= SEQUENCE {
209
smExtsnIndex Integer32,
210
smExtsnExtension OBJECT IDENTIFIER,
211
smExtsnVersion SnmpAdminString,
212
smExtsnVendor OBJECT IDENTIFIER,
213
smExtsnRevision SnmpAdminString,
214
smExtsnDescr SnmpAdminString
217
smExtsnIndex OBJECT-TYPE
218
SYNTAX Integer32 (1..2147483647)
219
MAX-ACCESS not-accessible
222
"The locally arbitrary, but unique identifier associated
223
with this language extension entry.
225
The value is expected to remain constant at least from one
226
re-initialization of the entity's network management system
227
to the next re-initialization."
228
::= { smExtsnEntry 1}
230
smExtsnExtension OBJECT-TYPE
231
SYNTAX OBJECT IDENTIFIER
235
"The globally unique identification of the language
237
::= { smExtsnEntry 2 }
239
smExtsnVersion OBJECT-TYPE
240
SYNTAX SnmpAdminString (SIZE (0..32))
244
"The version number of the language extension.
245
It is suggested that the version number consist of one or
246
more decimal numbers separated by dots, where the first
247
number is called the major version number."
248
::= { smExtsnEntry 3 }
250
smExtsnVendor OBJECT-TYPE
251
SYNTAX OBJECT IDENTIFIER
255
"An object identifier which identifies the vendor who
256
provides the implementation of the extension. The
257
object identifier value should point to the OID node
258
directly below the enterprise OID {1 3 6 1 4 1}
259
allocated for the vendor. The value must by the object
260
identifier {0 0} if the vendor is not known."
261
::= { smExtsnEntry 4 }
263
smExtsnRevision OBJECT-TYPE
264
SYNTAX SnmpAdminString (SIZE (0..32))
268
"The version number of the extension implementation.
269
The value of this object must be an empty string if
270
version number of the implementation is unknown.
272
It is suggested that the value consist of one or more
273
decimal numbers separated by dots, where the first
274
number is called the major version number."
275
::= { smExtsnEntry 5 }
277
smExtsnDescr OBJECT-TYPE
278
SYNTAX SnmpAdminString
282
"A textual description of the language extension."
283
::= { smExtsnEntry 6 }
289
smScriptObjects OBJECT IDENTIFIER ::= { smObjects 3 }
291
smScriptTable OBJECT-TYPE
292
SYNTAX SEQUENCE OF SmScriptEntry
293
MAX-ACCESS not-accessible
296
"This table lists and describes locally known scripts."
297
::= { smScriptObjects 1 }
299
smScriptEntry OBJECT-TYPE
301
MAX-ACCESS not-accessible
304
"An entry describing a particular script. Every script that
305
is stored in non-volatile memory is required to appear in
307
INDEX { smScriptOwner, smScriptName }
308
::= { smScriptTable 1 }
310
SmScriptEntry ::= SEQUENCE {
311
smScriptOwner SnmpAdminString,
312
smScriptName SnmpAdminString,
313
smScriptDescr SnmpAdminString,
314
smScriptLanguage Integer32,
315
smScriptSource DisplayString,
316
smScriptAdminStatus INTEGER,
317
smScriptOperStatus INTEGER,
318
smScriptStorageType StorageType,
319
smScriptRowStatus RowStatus,
320
smScriptError SnmpAdminString,
321
smScriptLastChange DateAndTime
324
smScriptOwner OBJECT-TYPE
325
SYNTAX SnmpAdminString (SIZE (0..32))
326
MAX-ACCESS not-accessible
329
"The manager who owns this row in the smScriptTable."
330
::= { smScriptEntry 1 }
332
smScriptName OBJECT-TYPE
333
SYNTAX SnmpAdminString (SIZE (1..32))
334
MAX-ACCESS not-accessible
337
"The locally-unique, administratively assigned name for this
338
script. This object allows an smScriptOwner to have multiple
339
entries in the smScriptTable.
341
This value of this object may be used to derive the name
342
(e.g. a file name) which is used by the Script MIB
343
implementation to access the script in non-volatile
344
storage. The details of this mapping are implementation
345
specific. However, the mapping needs to ensure that scripts
346
created by different owners with the same script name do not
347
map to the same name in non-volatile storage."
348
::= { smScriptEntry 2 }
350
smScriptDescr OBJECT-TYPE
351
SYNTAX SnmpAdminString
352
MAX-ACCESS read-create
355
"A description of the purpose of the script."
356
::= { smScriptEntry 3 }
358
smScriptLanguage OBJECT-TYPE
359
SYNTAX Integer32 (0..2147483647)
360
MAX-ACCESS read-create
363
"The value of this object type identifies an entry in the
364
smLangTable which is used to execute this script.
365
The special value 0 may be used by hard-wired scripts
366
that can not be modified and that are executed by
369
Set requests to change this object are invalid if the
370
value of smScriptOperStatus is `enabled' or `compiling'
371
and will result in an inconsistentValue error.
373
Note that the data type and the range of this object must
374
be consistent with the definition of smLangIndex."
375
::= { smScriptEntry 4 }
377
smScriptSource OBJECT-TYPE
379
MAX-ACCESS read-create
382
"This object either contains a reference to the script
383
source or an empty string. A reference must be given
384
in the form of a Uniform Resource Locator (URL) as
385
defined in RFC 2396. The allowed character sets and the
386
encoding rules defined in RFC 2396 section 2 apply.
388
When the smScriptAdminStatus object is set to `enabled',
389
the Script MIB implementation will `pull' the script
390
source from the URL contained in this object if the URL
393
An empty URL indicates that the script source is loaded
394
from local storage. The script is read from the smCodeTable
395
if the value of smScriptStorageType is volatile. Otherwise,
396
the script is read from non-volatile storage.
398
Note: This document does not mandate implementation of any
399
specific URL scheme. An attempt to load a script from a
400
nonsupported URL scheme will cause the smScriptOperStatus
401
to report an `unknownProtocol' error.
403
Set requests to change this object are invalid if the
404
value of smScriptOperStatus is `enabled', `editing',
405
`retrieving' or `compiling' and will result in an
406
inconsistentValue error."
408
::= { smScriptEntry 5 }
410
smScriptAdminStatus OBJECT-TYPE
416
MAX-ACCESS read-create
419
"The value of this object indicates the desired status of
420
the script. See the definition of smScriptOperStatus for
421
a description of the values.
423
When the smScriptAdminStatus object is set to `enabled' and
424
the smScriptOperStatus is `disabled' or one of the error
425
states, the Script MIB implementation will `pull' the script
426
source from the URL contained in the smScriptSource object
427
if the URL is not empty."
429
::= { smScriptEntry 6 }
431
smScriptOperStatus OBJECT-TYPE
442
compilationFailed(10),
451
"The actual status of the script in the runtime system. The
452
value of this object is only meaningful when the value of
453
the smScriptRowStatus object is `active'.
455
The smScriptOperStatus object may have the following values:
457
- `enabled' indicates that the script is available and can
458
be started by a launch table entry.
460
- `disabled' indicates that the script can not be used.
462
- `editing' indicates that the script can be modified in the
465
- `retrieving' indicates that the script is currently being
466
loaded from non-volatile storage or a remote system.
468
- `compiling' indicates that the script is currently being
469
compiled by the runtime system.
471
- `noSuchScript' indicates that the script does not exist
472
at the smScriptSource.
474
- `accessDenied' indicates that the script can not be loaded
475
from the smScriptSource due to a lack of permissions.
477
- `wrongLanguage' indicates that the script can not be
478
loaded from the smScriptSource because of a language
481
- `wrongVersion' indicates that the script can not be loaded
482
from the smScriptSource because of a language version
485
- `compilationFailed' indicates that the compilation failed.
487
- `noResourcesLeft' indicates that the runtime system does
488
not have enough resources to load the script.
490
- `unknownProtocol' indicates that the script could not be
491
loaded from the smScriptSource because the requested
492
protocol is not supported.
494
- `protocolFailure' indicates that the script could not be
495
loaded from the smScriptSource because of a protocol
498
- `genericError' indicates that the script could not be
500
loaded due to an error condition not listed above.
502
The `retrieving' and `compiling' states are transient states
503
which will either lead to one of the error states or the
504
`enabled' state. The `disabled' and `editing' states are
505
administrative states which are only reached by explicit
506
management operations.
508
All launch table entries that refer to this script table
509
entry shall have an smLaunchOperStatus value of `disabled'
510
when the value of this object is not `enabled'."
512
::= { smScriptEntry 7 }
514
smScriptStorageType OBJECT-TYPE
516
MAX-ACCESS read-create
519
"This object defines whether this row and the script
520
controlled by this row are kept in volatile storage and
521
lost upon reboot or if this row is backed up by
522
non-volatile or permanent storage.
524
The storage type of this row always complies with the value
525
of this entry if the value of the corresponding RowStatus
528
However, the storage type of the script controlled by this
529
row may be different, if the value of this entry is
530
`non-volatile'. The script controlled by this row is written
531
into local non-volatile storage if the following condition
534
(a) the URL contained in the smScriptSource object is empty
536
(b) the smScriptStorageType is `nonVolatile'
538
(c) the smScriptOperStatus is `enabled'
540
Setting this object to `volatile' removes a script from
541
non-volatile storage if the script controlled by this row
542
has been in non-volatile storage before. Attempts to set
543
this object to permanent will always fail with an
544
inconsistentValue error.
546
The value of smScriptStorageType is only meaningful if the
547
value of the corresponding RowStatus object is `active'.
549
If smScriptStorageType has the value permanent(4), then all
550
objects whose MAX-ACCESS value is read-create must be
551
writable, with the exception of the smScriptStorageType and
552
smScriptRowStatus objects, which shall be read-only."
554
::= { smScriptEntry 8 }
556
smScriptRowStatus OBJECT-TYPE
558
MAX-ACCESS read-create
561
"A control that allows entries to be added and removed from
564
Changing the smScriptRowStatus from `active' to
565
`notInService' will remove the associated script from the
568
Deleting conceptual rows from this table may affect the
569
deletion of other resources associated with this row. For
570
example, a script stored in non-volatile storage may be
571
removed from non-volatile storage.
573
An entry may not exist in the `active' state unless all
574
required objects in the entry have appropriate values. Rows
575
that are not complete or not in service are not known by the
576
script runtime system.
578
Attempts to `destroy' a row or to set a row `notInService'
579
while the smScriptOperStatus is `enabled' will result in an
580
inconsistentValue error.
582
Attempts to `destroy' a row or to set a row `notInService'
583
where the value of the smScriptStorageType object is
584
`permanent' or `readOnly' will result in an
585
inconsistentValue error.
587
The value of this object has no effect on whether other
588
objects in this conceptual row can be modified."
589
::= { smScriptEntry 9 }
591
smScriptError OBJECT-TYPE
592
SYNTAX SnmpAdminString
596
"This object contains a descriptive error message if the
598
transition into the operational status `enabled' failed.
599
Implementations must reset the error message to a
600
zero-length string when a new attempt to change the
601
script status to `enabled' is started."
603
::= { smScriptEntry 10 }
605
smScriptLastChange OBJECT-TYPE
610
"The date and time when this script table entry was last
611
modified. The value '0000000000000000'H is returned if
612
the script table entry has not yet been modified.
614
Note that the resetting of smScriptError is not considered
615
a change of the script table entry."
616
DEFVAL { '0000000000000000'H }
617
::= { smScriptEntry 11 }
623
smCodeTable OBJECT-TYPE
624
SYNTAX SEQUENCE OF SmCodeEntry
625
MAX-ACCESS not-accessible
628
"This table contains the script code for scripts that are
629
written via SNMP write operations."
630
::= { smScriptObjects 2 }
632
smCodeEntry OBJECT-TYPE
634
MAX-ACCESS not-accessible
637
"An entry describing a particular fragment of a script."
638
INDEX { smScriptOwner, smScriptName, smCodeIndex }
639
::= { smCodeTable 1 }
641
SmCodeEntry ::= SEQUENCE {
642
smCodeIndex Unsigned32,
643
smCodeText OCTET STRING,
644
smCodeRowStatus RowStatus
647
smCodeIndex OBJECT-TYPE
648
SYNTAX Unsigned32 (1..4294967295)
649
MAX-ACCESS not-accessible
652
"The index value identifying this code fragment."
653
::= { smCodeEntry 1 }
655
smCodeText OBJECT-TYPE
656
SYNTAX OCTET STRING (SIZE (1..1024))
657
MAX-ACCESS read-create
660
"The code that makes up a fragment of a script. The format
661
of this code fragment depends on the script language which
662
is identified by the associated smScriptLanguage object."
663
::= { smCodeEntry 2 }
665
smCodeRowStatus OBJECT-TYPE
667
MAX-ACCESS read-create
670
"A control that allows entries to be added and removed from
673
The value of this object has no effect on whether other
674
objects in this conceptual row can be modified."
675
::= { smCodeEntry 3 }
681
smRunObjects OBJECT IDENTIFIER ::= { smObjects 4 }
683
smLaunchTable OBJECT-TYPE
684
SYNTAX SEQUENCE OF SmLaunchEntry
685
MAX-ACCESS not-accessible
688
"This table lists and describes scripts that are ready
689
to be executed together with their parameters."
690
::= { smRunObjects 1 }
692
smLaunchEntry OBJECT-TYPE
694
MAX-ACCESS not-accessible
697
"An entry describing a particular executable script."
698
INDEX { smLaunchOwner, smLaunchName }
699
::= { smLaunchTable 1 }
701
SmLaunchEntry ::= SEQUENCE {
702
smLaunchOwner SnmpAdminString,
703
smLaunchName SnmpAdminString,
704
smLaunchScriptOwner SnmpAdminString,
705
smLaunchScriptName SnmpAdminString,
706
smLaunchArgument OCTET STRING,
707
smLaunchMaxRunning Unsigned32,
708
smLaunchMaxCompleted Unsigned32,
709
smLaunchLifeTime TimeInterval,
710
smLaunchExpireTime TimeInterval,
711
smLaunchStart Integer32,
712
smLaunchControl INTEGER,
713
smLaunchAdminStatus INTEGER,
714
smLaunchOperStatus INTEGER,
715
smLaunchRunIndexNext Integer32,
716
smLaunchStorageType StorageType,
717
smLaunchRowStatus RowStatus,
718
smLaunchError SnmpAdminString,
719
smLaunchLastChange DateAndTime,
720
smLaunchRowExpireTime TimeInterval
723
smLaunchOwner OBJECT-TYPE
724
SYNTAX SnmpAdminString (SIZE (0..32))
725
MAX-ACCESS not-accessible
728
"The manager who owns this row in the smLaunchTable. Every
729
instance of a running script started from a particular entry
730
in the smLaunchTable (i.e. entries in the smRunTable) will
731
be owned by the same smLaunchOwner used to index the entry
732
in the smLaunchTable. This owner is not necessarily the same
733
as the owner of the script itself (smLaunchScriptOwner)."
734
::= { smLaunchEntry 1 }
736
smLaunchName OBJECT-TYPE
737
SYNTAX SnmpAdminString (SIZE (1..32))
738
MAX-ACCESS not-accessible
741
"The locally-unique, administratively assigned name for this
742
launch table entry. This object allows an smLaunchOwner to
743
have multiple entries in the smLaunchTable. The smLaunchName
744
is an arbitrary name that must be different from any other
745
smLaunchTable entries with the same smLaunchOwner but can be
746
the same as other entries in the smLaunchTable with
747
different smLaunchOwner values. Note that the value of
748
smLaunchName is not related in any way to the name of the
749
script being launched."
750
::= { smLaunchEntry 2 }
752
smLaunchScriptOwner OBJECT-TYPE
753
SYNTAX SnmpAdminString (SIZE (0..32))
754
MAX-ACCESS read-create
757
"The value of this object in combination with the value of
758
smLaunchScriptName identifies the script that can be
759
launched from this smLaunchTable entry. Attempts to write
760
this object will fail with an inconsistentValue error if
761
the value of smLaunchOperStatus is `enabled'."
762
::= { smLaunchEntry 3 }
764
smLaunchScriptName OBJECT-TYPE
765
SYNTAX SnmpAdminString (SIZE (0..32))
766
MAX-ACCESS read-create
769
"The value of this object in combination with the value of
770
the smLaunchScriptOwner identifies the script that can be
771
launched from this smLaunchTable entry. The zero-length
772
string may be used to point to a non-existing script.
774
Attempts to write this object will fail with an
775
inconsistentValue error if the value of smLaunchOperStatus
778
::= { smLaunchEntry 4 }
780
smLaunchArgument OBJECT-TYPE
782
MAX-ACCESS read-create
785
"The argument supplied to the script. When a script is
786
invoked, the value of this object is used to initialize
787
the smRunArgument object."
789
::= { smLaunchEntry 5 }
791
smLaunchMaxRunning OBJECT-TYPE
792
SYNTAX Unsigned32 (1..4294967295)
793
MAX-ACCESS read-create
796
"The maximum number of concurrently running scripts that may
797
be invoked from this entry in the smLaunchTable. Lowering
798
the current value of this object does not affect any scripts
799
that are already executing."
801
::= { smLaunchEntry 6 }
803
smLaunchMaxCompleted OBJECT-TYPE
804
SYNTAX Unsigned32 (1..4294967295)
805
MAX-ACCESS read-create
808
"The maximum number of finished scripts invoked from this
809
entry in the smLaunchTable allowed to be retained in the
810
smRunTable. Whenever the value of this object is changed
811
and whenever a script terminates, entries in the smRunTable
812
are deleted if necessary until the number of completed
813
scripts is smaller than the value of this object. Scripts
814
whose smRunEndTime value indicates the oldest completion
815
time are deleted first."
817
::= { smLaunchEntry 7 }
819
smLaunchLifeTime OBJECT-TYPE
821
UNITS "centi-seconds"
822
MAX-ACCESS read-create
825
"The default maximum amount of time a script launched
826
from this entry may run. The value of this object is used
827
to initialize the smRunLifeTime object when a script is
828
launched. Changing the value of an smLaunchLifeTime
829
instance does not affect scripts previously launched from
833
::= { smLaunchEntry 8 }
835
smLaunchExpireTime OBJECT-TYPE
837
UNITS "centi-seconds"
838
MAX-ACCESS read-create
841
"The default maximum amount of time information about a
842
script launched from this entry is kept in the smRunTable
843
after the script has completed execution. The value of
844
this object is used to initialize the smRunExpireTime
845
object when a script is launched. Changing the value of an
846
smLaunchExpireTime instance does not affect scripts
847
previously launched from this entry."
849
::= { smLaunchEntry 9 }
851
smLaunchStart OBJECT-TYPE
852
SYNTAX Integer32 (0..2147483647)
853
MAX-ACCESS read-create
856
"This object is used to start the execution of scripts.
857
When retrieved, the value will be the value of smRunIndex
858
for the last script that started execution by manipulating
859
this object. The value will be zero if no script started
862
A script is started by setting this object to an unused
863
smRunIndex value. A new row in the smRunTable will be
864
created which is indexed by the value supplied by the
865
set-request in addition to the value of smLaunchOwner and
866
smLaunchName. An unused value can be obtained by reading
867
the smLaunchRunIndexNext object.
869
Setting this object to the special value 0 will start
870
the script with a self-generated smRunIndex value. The
871
consequence is that the script invoker has no reliable
872
way to determine the smRunIndex value for this script
873
invocation and that the invoker has therefore no way
874
to obtain the results from this script invocation. The
875
special value 0 is however useful for scheduled script
878
If this object is set, the following checks must be
882
1) The value of the smLaunchOperStatus object in this
883
entry of the smLaunchTable must be `enabled'.
884
2) The values of smLaunchScriptOwner and
885
smLaunchScriptName of this row must identify an
886
existing entry in the smScriptTable.
887
3) The value of smScriptOperStatus of this entry must
889
4) The principal performing the set operation must have
890
read access to the script. This must be checked by
891
calling the isAccessAllowed abstract service interface
892
defined in RFC 2271 on the row in the smScriptTable
893
identified by smLaunchScriptOwner and smLaunchScriptName.
894
The isAccessAllowed abstract service interface must be
895
called on all columnar objects in the smScriptTable with
896
a MAX-ACCESS value different than `not-accessible'. The
897
test fails as soon as a call indicates that access is
899
5) If the value provided by the set operation is not 0,
900
a check must be made that the value is currently not
901
in use. Otherwise, if the value provided by the set
902
operation is 0, a suitable unused value must be
904
6) The number of currently executing scripts invoked
905
from this smLaunchTable entry must be less than
908
Attempts to start a script will fail with an
909
inconsistentValue error if one of the checks described
912
Otherwise, if all checks have been passed, a new entry
913
in the smRunTable will be created indexed by smLaunchOwner,
914
smLaunchName and the new value for smRunIndex. The value
915
of smLaunchArgument will be copied into smRunArgument,
916
the value of smLaunchLifeTime will be copied to
917
smRunLifeTime, and the value of smLaunchExpireTime
918
will be copied to smRunExpireTime.
920
The smRunStartTime will be set to the current time and
921
the smRunState will be set to `initializing' before the
922
script execution is initiated in the appropriate runtime
925
Note that the data type and the range of this object must
926
be consistent with the smRunIndex object. Since this
927
object might be written from the scheduling MIB, the
929
data type Integer32 rather than Unsigned32 is used."
931
::= { smLaunchEntry 10 }
933
smLaunchControl OBJECT-TYPE
940
MAX-ACCESS read-create
943
"This object is used to request a state change for all
944
running scripts in the smRunTable that were started from
945
this row in the smLaunchTable.
947
Setting this object to abort(1), suspend(2) or resume(3)
948
will set the smRunControl object of all applicable rows
949
in the smRunTable to abort(1), suspend(2) or resume(3)
950
respectively. The phrase `applicable rows' means the set of
951
rows which were created from this entry in the smLaunchTable
952
and whose value of smRunState allows the corresponding
953
state change as described in the definition of the
954
smRunControl object. Setting this object to nop(4) has no
957
Attempts to set this object lead to an inconsistentValue
958
error only if all implicated sets on all the applicable
959
rows lead to inconsistentValue errors. It is not allowed
960
to return an inconsistentValue error if at least one state
961
change on one of the applicable rows was successful."
963
::= { smLaunchEntry 11 }
965
smLaunchAdminStatus OBJECT-TYPE
971
MAX-ACCESS read-create
974
"The value of this object indicates the desired status of
975
this launch table entry. The values enabled(1) and
976
autostart(3) both indicate that the launch table entry
978
should transition into the operational enabled(1) state as
979
soon as the associated script table entry is enabled(1).
981
The value autostart(3) further indicates that the script
982
is started automatically by conceptually writing the
983
value 0 into the associated smLaunchStart object during
984
the transition from the `disabled' into the `enabled'
985
operational state. This is useful for scripts that are
986
to be launched on system start-up."
988
::= { smLaunchEntry 12 }
990
smLaunchOperStatus OBJECT-TYPE
999
"The value of this object indicates the actual status of
1000
this launch table entry. The smLaunchOperStatus object
1001
may have the following values:
1003
- `enabled' indicates that the launch table entry is
1004
available and can be used to start scripts.
1006
- `disabled' indicates that the launch table entry can
1007
not be used to start scripts.
1009
- `expired' indicates that the launch table entry can
1010
not be used to start scripts and will disappear as
1011
soon as all smRunTable entries associated with this
1012
launch table entry have disappeared.
1014
The value `enabled' requires that the smLaunchRowStatus
1015
object is active. The value `disabled' requires that there
1016
are no entries in the smRunTable associated with this
1017
smLaunchTable entry."
1019
::= { smLaunchEntry 13 }
1021
smLaunchRunIndexNext OBJECT-TYPE
1022
SYNTAX Integer32 (1..2147483647)
1023
MAX-ACCESS read-only
1026
"This variable is used for creating rows in the smRunTable.
1027
The value of this variable is a currently unused value
1028
for smRunIndex, which can be written into the smLaunchStart
1029
object associated with this row to launch a script.
1031
The value returned when reading this variable must be unique
1032
for the smLaunchOwner and smLaunchName associated with this
1033
row. Subsequent attempts to read this variable must return
1036
This variable will return the special value 0 if no new rows
1039
Note that the data type and the range of this object must be
1040
consistent with the definition of smRunIndex."
1041
::= { smLaunchEntry 14 }
1043
smLaunchStorageType OBJECT-TYPE
1045
MAX-ACCESS read-create
1048
"This object defines if this row is kept in volatile storage
1049
and lost upon reboot or if this row is backed up by stable
1052
The value of smLaunchStorageType is only meaningful if the
1053
value of the corresponding RowStatus object is active.
1055
If smLaunchStorageType has the value permanent(4), then all
1056
objects whose MAX-ACCESS value is read-create must be
1057
writable, with the exception of the smLaunchStorageType and
1058
smLaunchRowStatus objects, which shall be read-only."
1060
::= { smLaunchEntry 15 }
1062
smLaunchRowStatus OBJECT-TYPE
1064
MAX-ACCESS read-create
1067
"A control that allows entries to be added and removed from
1070
Attempts to `destroy' a row or to set a row `notInService'
1071
while the smLaunchOperStatus is `enabled' will result in
1072
an inconsistentValue error.
1074
Attempts to `destroy' a row or to set a row `notInService'
1075
where the value of the smLaunchStorageType object is
1076
`permanent' or `readOnly' will result in an
1077
inconsistentValue error.
1079
The value of this object has no effect on whether other
1080
objects in this conceptual row can be modified."
1081
::= { smLaunchEntry 16 }
1083
smLaunchError OBJECT-TYPE
1084
SYNTAX SnmpAdminString
1085
MAX-ACCESS read-only
1088
"This object contains a descriptive error message if an
1089
attempt to launch a script fails. Implementations must reset
1090
the error message to a zero-length string when a new attempt
1091
to launch a script is started."
1093
::= { smLaunchEntry 17 }
1095
smLaunchLastChange OBJECT-TYPE
1097
MAX-ACCESS read-only
1100
"The date and time when this launch table entry was last
1101
modified. The value '0000000000000000'H is returned if
1102
the launch table entry has not yet been modified.
1104
Note that a change of smLaunchStart, smLaunchControl,
1105
smLaunchRunIndexNext, smLaunchRowExpireTime, or the
1106
resetting of smLaunchError is not considered a change
1107
of this launch table entry."
1108
DEFVAL { '0000000000000000'H }
1109
::= { smLaunchEntry 18 }
1111
smLaunchRowExpireTime OBJECT-TYPE
1113
UNITS "centi-seconds"
1114
MAX-ACCESS read-create
1117
"The value of this object specifies how long this row remains
1118
in the `enabled' or `disabled' operational state. The value
1119
reported by this object ticks backwards. When the value
1120
reaches 0, it stops ticking backward and the row is
1121
deleted if there are no smRunTable entries associated with
1123
this smLaunchTable entry. Otherwise, the smLaunchOperStatus
1124
changes to `expired' and the row deletion is deferred
1125
until there are no smRunTable entries associated with this
1126
smLaunchTable entry.
1128
The smLaunchRowExpireTime will not tick backwards if it is
1129
set to its maximum value (2147483647). In other words,
1130
setting this object to its maximum value turns the timer
1133
The value of this object may be set in order to increase
1134
or reduce the remaining time that the launch table entry
1135
may be used. Setting the value to 0 will cause an immediate
1136
row deletion or transition into the `expired' operational
1139
It is not possible to set this object while the operational
1140
status is `expired'. Attempts to modify this object while
1141
the operational status is `expired' leads to an
1142
inconsistentValue error.
1144
Note that the timer ticks backwards independent of the
1145
operational state of the launch table entry."
1146
DEFVAL { 2147483647 }
1147
::= { smLaunchEntry 19 }
1149
smRunTable OBJECT-TYPE
1150
SYNTAX SEQUENCE OF SmRunEntry
1151
MAX-ACCESS not-accessible
1154
"This table lists and describes scripts that are currently
1155
running or have been running in the past."
1156
::= { smRunObjects 2 }
1158
smRunEntry OBJECT-TYPE
1160
MAX-ACCESS not-accessible
1163
"An entry describing a particular running or finished
1165
INDEX { smLaunchOwner, smLaunchName, smRunIndex }
1166
::= { smRunTable 1 }
1168
SmRunEntry ::= SEQUENCE {
1169
smRunIndex Integer32,
1170
smRunArgument OCTET STRING,
1171
smRunStartTime DateAndTime,
1172
smRunEndTime DateAndTime,
1173
smRunLifeTime TimeInterval,
1174
smRunExpireTime TimeInterval,
1175
smRunExitCode INTEGER,
1176
smRunResult OCTET STRING,
1177
smRunControl INTEGER,
1179
smRunError SnmpAdminString,
1180
smRunResultTime DateAndTime,
1181
smRunErrorTime DateAndTime
1184
smRunIndex OBJECT-TYPE
1185
SYNTAX Integer32 (1..2147483647)
1186
MAX-ACCESS not-accessible
1189
"The locally arbitrary, but unique identifier associated
1190
with this running or finished script. This value must be
1191
unique for all rows in the smRunTable with the same
1192
smLaunchOwner and smLaunchName.
1194
Note that the data type and the range of this object must
1195
be consistent with the definition of smLaunchRunIndexNext
1197
::= { smRunEntry 1 }
1199
smRunArgument OBJECT-TYPE
1201
MAX-ACCESS read-only
1204
"The argument supplied to the script when it started."
1206
::= { smRunEntry 2 }
1208
smRunStartTime OBJECT-TYPE
1210
MAX-ACCESS read-only
1213
"The date and time when the execution started. The value
1214
'0000000000000000'H is returned if the script has not
1216
DEFVAL { '0000000000000000'H }
1217
::= { smRunEntry 3 }
1219
smRunEndTime OBJECT-TYPE
1221
MAX-ACCESS read-only
1224
"The date and time when the execution terminated. The value
1225
'0000000000000000'H is returned if the script has not
1227
DEFVAL { '0000000000000000'H }
1228
::= { smRunEntry 4 }
1230
smRunLifeTime OBJECT-TYPE
1232
UNITS "centi-seconds"
1233
MAX-ACCESS read-write
1236
"This object specifies how long the script can execute.
1237
This object returns the remaining time that the script
1238
may run. The object is initialized with the value of the
1239
associated smLaunchLifeTime object and ticks backwards.
1240
The script is aborted immediately when the value reaches 0.
1242
The value of this object may be set in order to increase or
1243
reduce the remaining time that the script may run. Setting
1244
this value to 0 will abort script execution immediately,
1245
and, if the value of smRunExpireTime is also 0, will remove
1246
this entry from the smRunTable once it has terminated.
1248
If smRunLifeTime is set to its maximum value (2147483647),
1249
either by a set operation or by its initialization from the
1250
smLaunchLifeTime object, then it will not tick backwards.
1251
A running script with a maximum smRunLifeTime value will
1252
thus never be terminated with a `lifeTimeExceeded' exit
1255
The value of smRunLifeTime reflects the real-time execution
1256
time as seen by the outside world. The value of this object
1257
will always be 0 for a script that finished execution, that
1258
is smRunState has the value `terminated'.
1260
The value of smRunLifeTime does not change while a script
1261
is suspended, that is smRunState has the value `suspended'.
1262
Note that this does not affect set operations. It is legal
1263
to modify smRunLifeTime via set operations while a script
1265
::= { smRunEntry 5 }
1267
smRunExpireTime OBJECT-TYPE
1269
UNITS "centi-seconds"
1270
MAX-ACCESS read-write
1273
"The value of this object specifies how long this row can
1274
exist in the smRunTable after the script has terminated.
1275
This object returns the remaining time that the row may
1276
exist before it is aged out. The object is initialized with
1277
the value of the associated smLaunchExpireTime object and
1278
ticks backwards. The entry in the smRunTable is destroyed
1279
when the value reaches 0 and the smRunState has the value
1282
The value of this object may be set in order to increase or
1283
reduce the remaining time that the row may exist. Setting
1284
the value to 0 will destroy this entry as soon as the
1285
smRunState has the value `terminated'."
1286
::= { smRunEntry 6 }
1288
smRunExitCode OBJECT-TYPE
1292
lifeTimeExceeded(3),
1297
securityViolation(8),
1300
MAX-ACCESS read-only
1303
"The value of this object indicates the reason why a
1304
script finished execution. The smRunExitCode code may have
1305
one of the following values:
1307
- `noError', which indicates that the script completed
1308
successfully without errors;
1310
- `halted', which indicates that the script was halted
1311
by a request from an authorized manager;
1313
- `lifeTimeExceeded', which indicates that the script
1314
exited because a time limit was exceeded;
1316
- `noResourcesLeft', which indicates that the script
1317
exited because it ran out of resources (e.g. memory);
1319
- `languageError', which indicates that the script exited
1320
because of a language error (e.g. a syntax error in an
1321
interpreted language);
1323
- `runtimeError', which indicates that the script exited
1324
due to a runtime error (e.g. a division by zero);
1326
- `invalidArgument', which indicates that the script could
1327
not be run because of invalid script arguments;
1329
- `securityViolation', which indicates that the script
1330
exited due to a security violation;
1332
- `genericError', which indicates that the script exited
1333
for an unspecified reason.
1335
If the script has not yet begun running, or is currently
1336
running, the value will be `noError'."
1338
::= { smRunEntry 7 }
1340
smRunResult OBJECT-TYPE
1342
MAX-ACCESS read-only
1345
"The result value produced by the running script. Note that
1346
the result may change while the script is executing."
1348
::= { smRunEntry 8 }
1350
smRunControl OBJECT-TYPE
1357
MAX-ACCESS read-write
1360
"The value of this object indicates the desired status of the
1361
script execution defined by this row.
1363
Setting this object to `abort' will abort execution if the
1365
value of smRunState is `initializing', `executing',
1366
`suspending', `suspended' or `resuming'. Setting this object
1367
to `abort' when the value of smRunState is `aborting' or
1368
`terminated', or if the implementation can determine that
1369
the attempt to abort the execution would fail, will result
1370
in an inconsistentValue error.
1372
Setting this object to `suspend' will suspend execution
1373
if the value of smRunState is `executing'. Setting this
1374
object to `suspend' will cause an inconsistentValue error
1375
if the value of smRunState is not `executing' or if the
1376
implementation can determine that the attempt to suspend
1377
the execution would fail.
1379
Setting this object to `resume' will resume execution
1380
if the value of smRunState is `suspending' or
1381
`suspended'. Setting this object to `resume' will cause an
1382
inconsistentValue error if the value of smRunState is
1383
not `suspended' or if the implementation can determine
1384
that the attempt to resume the execution would fail.
1386
Setting this object to nop(4) has no effect."
1388
::= { smRunEntry 9 }
1390
smRunState OBJECT-TYPE
1400
MAX-ACCESS read-only
1403
"The value of this object indicates the script's execution
1404
state. If the script has been invoked but has not yet
1405
begun execution, the value will be `initializing'. If the
1406
script is running, the value will be `executing'.
1408
A running script which received a request to suspend
1409
execution first transitions into a temporary `suspending'
1410
state. The temporary `suspending' state changes to
1411
`suspended' when the script has actually been suspended. The
1412
temporary `suspending' state changes back to `executing' if
1414
the attempt to suspend the running script fails.
1416
A suspended script which received a request to resume
1417
execution first transitions into a temporary `resuming'
1418
state. The temporary `resuming' state changes to `running'
1419
when the script has actually been resumed. The temporary
1420
`resuming' state changes back to `suspended' if the attempt
1421
to resume the suspended script fails.
1423
A script which received a request to abort execution but
1424
which is still running first transitions into a temporary
1427
A script which has finished its execution is `terminated'."
1428
::= { smRunEntry 10 }
1430
smRunError OBJECT-TYPE
1431
SYNTAX SnmpAdminString
1432
MAX-ACCESS read-only
1435
"This object contains a descriptive error message if the
1436
script startup or execution raised an abnormal condition.
1437
An implementation must store a descriptive error message
1438
in this object if the script exits with the smRunExitCode
1441
::= { smRunEntry 11 }
1443
smRunResultTime OBJECT-TYPE
1445
MAX-ACCESS read-only
1448
"The date and time when the smRunResult was last updated.
1449
The value '0000000000000000'H is returned if smRunResult
1450
has not yet been updated after the creation of this
1452
DEFVAL { '0000000000000000'H }
1453
::= { smRunEntry 12 }
1455
smRunErrorTime OBJECT-TYPE
1457
MAX-ACCESS read-only
1460
"The date and time when the smRunError was last updated.
1461
The value '0000000000000000'H is returned if smRunError
1463
has not yet been updated after the creation of this
1465
DEFVAL { '0000000000000000'H }
1466
::= { smRunEntry 13 }
1471
smTraps OBJECT IDENTIFIER ::= { smNotifications 0 }
1473
smScriptAbort NOTIFICATION-TYPE
1474
OBJECTS { smRunExitCode, smRunEndTime, smRunError }
1477
"This notification is generated whenever a running script
1478
terminates with an smRunExitCode unequal to `noError'."
1481
smScriptResult NOTIFICATION-TYPE
1482
OBJECTS { smRunResult }
1485
"This notification can be used by scripts to notify other
1486
management applications about results produced by the
1489
This notification is not automatically generated by the
1490
Script MIB implementation. It is the responsibility of
1491
the executing script to emit this notification where it
1492
is appropriate to do so."
1495
smScriptException NOTIFICATION-TYPE
1496
OBJECTS { smRunError }
1499
"This notification can be used by scripts to notify other
1500
management applications about script errors.
1502
This notification is not automatically generated by the
1503
Script MIB implementation. It is the responsibility of
1504
the executing script or the runtime system to emit this
1505
notification where it is appropriate to do so."
1509
smCompliances OBJECT IDENTIFIER ::= { smConformance 1 }
1510
smGroups OBJECT IDENTIFIER ::= { smConformance 2 }
1513
smCompliance2 MODULE-COMPLIANCE
1516
"The compliance statement for SNMP entities which implement
1518
MODULE -- this module
1520
smLanguageGroup, smScriptGroup2, smLaunchGroup2,
1521
smRunGroup2, smNotificationsGroup2
1525
"The smCodeGroup is mandatory only for those implementations
1526
that support the downloading of scripts via SNMP."
1527
OBJECT smScriptSource
1528
MIN-ACCESS read-only
1530
"The smScriptSource object is read-only for implementations
1531
that are not able to download script code from a URL."
1534
"A compliant implementation need only support write access to
1535
the smCodeText object only during row creation."
1536
OBJECT smLaunchArgument
1538
"A compliant implementation has to support a minimum size
1539
for smLaunchArgument of 255 octets."
1540
OBJECT smRunArgument
1542
"A compliant implementation has to support a minimum size
1543
for smRunArgument of 255 octets."
1546
"A compliant implementation has to support a minimum size
1547
for smRunResult of 255 octets."
1550
"A compliant implementation does not have to support script
1551
suspension and the smRunState `suspended'. Such an
1552
implementation will change into the `suspending' state
1553
when the smRunControl is set to `suspend' and remain in this
1554
state until smRunControl is set to `resume' or the script
1556
::= { smCompliances 2 }
1558
smLanguageGroup OBJECT-GROUP
1560
smLangLanguage, smLangVersion,
1561
smLangVendor, smLangRevision,
1562
smLangDescr, smExtsnExtension,
1563
smExtsnVersion, smExtsnVendor,
1564
smExtsnRevision, smExtsnDescr
1568
"A collection of objects providing information about the
1569
capabilities of the scripting engine."
1572
smScriptGroup2 OBJECT-GROUP
1574
smScriptDescr, smScriptLanguage,
1575
smScriptSource, smScriptAdminStatus,
1576
smScriptOperStatus, smScriptStorageType,
1577
smScriptRowStatus, smScriptError,
1582
"A collection of objects providing information about
1586
smCodeGroup OBJECT-GROUP
1588
smCodeText, smCodeRowStatus
1592
"A collection of objects used to download or modify scripts
1593
by using SNMP set requests."
1596
smLaunchGroup2 OBJECT-GROUP
1598
smLaunchScriptOwner, smLaunchScriptName,
1599
smLaunchArgument, smLaunchMaxRunning,
1600
smLaunchMaxCompleted, smLaunchLifeTime,
1601
smLaunchExpireTime, smLaunchStart,
1602
smLaunchControl, smLaunchAdminStatus,
1603
smLaunchOperStatus, smLaunchRunIndexNext,
1604
smLaunchStorageType, smLaunchRowStatus,
1605
smLaunchError, smLaunchLastChange,
1606
smLaunchRowExpireTime
1610
"A collection of objects providing information about scripts
1611
that can be launched."
1614
smRunGroup2 OBJECT-GROUP
1616
smRunArgument, smRunStartTime,
1617
smRunEndTime, smRunLifeTime,
1618
smRunExpireTime, smRunExitCode,
1619
smRunResult, smRunState,
1620
smRunControl, smRunError,
1621
smRunResultTime, smRunErrorTime
1625
"A collection of objects providing information about running
1629
smNotificationsGroup2 NOTIFICATION-GROUP
1637
"The notifications emitted by the Script MIB."
1643
smCompliance MODULE-COMPLIANCE
1646
"The compliance statement for SNMP entities which implement
1648
MODULE -- this module
1651
smLanguageGroup, smScriptGroup, smLaunchGroup, smRunGroup
1655
"The smCodeGroup is mandatory only for those implementations
1656
that support the downloading of scripts via SNMP."
1657
OBJECT smScriptSource
1658
MIN-ACCESS read-only
1660
"The smScriptSource object is read-only for implementations
1661
that are not able to download script code from a URL."
1664
"A compliant implementation need only support write access
1665
to the smCodeText object during row creation."
1666
OBJECT smLaunchArgument
1668
"A compliant implementation has to support a minimum size
1669
for smLaunchArgument of 255 octets."
1670
OBJECT smRunArgument
1672
"A compliant implementation has to support a minimum size
1673
for smRunArgument of 255 octets."
1676
"A compliant implementation has to support a minimum size
1677
for smRunResult of 255 octets."
1680
"A compliant implementation does not have to support script
1681
suspension and the smRunState `suspended'. Such an
1682
implementation will change into the `suspending' state
1683
when the smRunControl is set to `suspend' and remain in this
1684
state until smRunControl is set to `resume' or the script
1686
::= { smCompliances 1 }
1688
smScriptGroup OBJECT-GROUP
1690
smScriptDescr, smScriptLanguage,
1691
smScriptSource, smScriptAdminStatus,
1692
smScriptOperStatus, smScriptStorageType,
1697
"A collection of objects providing information about
1701
smLaunchGroup OBJECT-GROUP
1703
smLaunchScriptOwner, smLaunchScriptName,
1704
smLaunchArgument, smLaunchMaxRunning,
1705
smLaunchMaxCompleted, smLaunchLifeTime,
1706
smLaunchExpireTime, smLaunchStart,
1707
smLaunchControl, smLaunchAdminStatus,
1708
smLaunchOperStatus, smLaunchRunIndexNext,
1709
smLaunchStorageType, smLaunchRowStatus
1713
"A collection of objects providing information about scripts
1714
that can be launched."
1717
smRunGroup OBJECT-GROUP
1719
smRunArgument, smRunStartTime,
1720
smRunEndTime, smRunLifeTime,
1721
smRunExpireTime, smRunExitCode,
1722
smRunResult, smRunState,
1723
smRunControl, smRunError
1727
"A collection of objects providing information about running
1731
smNotificationsGroup NOTIFICATION-GROUP
1738
"The notifications emitted by the Script MIB."