DISMAN-SCRIPT-MIB.txt
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:63k
源码类别:

SNMP编程

开发平台:

Unix_Linux

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