netconfcentral logo

DISMAN-SCRIPT-MIB

HTML

DISMAN-SCRIPT-MIB.yang



   module DISMAN-SCRIPT-MIB {

      yang-version 1;

      namespace
         "urn:ietf:params:xml:ns:yang:smiv2:DISMAN-SCRIPT-MIB";

      prefix "disman-script";

      import SNMP-FRAMEWORK-MIB {
         prefix "snmp-framework";
      }
      import SNMPv2-TC {
         prefix "smiv2";
      }
      import yang-smi {
         prefix "smi";
      }
      import ietf-yang-types {
         prefix "yang";
      }

      organization
         "IETF Distributed Management Working Group";

      contact
         "WG EMail:  disman@dorothy.bmc.com
         Subscribe: disman-request@dorothy.bmc.com
         
         Chair:     Randy Presuhn
         	   BMC Software, Inc.
         
         Postal:    Office 1-3141
         	   2141 North First Street
         	   San Jose,  California 95131
         	   USA
         EMail:     rpresuhn@bmc.com
         Phone:     +1 408 546-1006
         
         Editor:    David B. Levi
         	   Nortel Networks
         Postal:    4401 Great America Parkway
         	   Santa Clara, CA 95052-8185
         	   USA
         EMail:     dlevi@nortelnetworks.com
         Phone:     +1 423 686 0432
         
         Editor:    Juergen Schoenwaelder
         	   TU Braunschweig
         Postal:    Bueltenweg 74/75
         	   38106 Braunschweig
         	   Germany
         EMail:     schoenw@ibr.cs.tu-bs.de
         Phone:     +49 531 391-3283";

      description
         "This MIB module defines a set of objects that allow to
         delegate management scripts to distributed managers.";

      revision "2001-08-21" {
         description
            "Revised version, published as RFC 3165.
            
            This revision introduces several new objects: smScriptError,
            smScriptLastChange, smLaunchError, smLaunchLastChange,
            smLaunchRowExpireTime, smRunResultTime, and smRunErrorTime.
            
            The following existing objects were updated: the maximum
            value of smRunLifeTime now disables the timer, an
            autostart value was added to the smLaunchAdminStatus
            object, and a new expired state was added to the
            smLaunchOperStatus object.
            
            A new smScriptException notification has been added to
            support runtime error notifications.
            
            Created new conformance and compliance statements that
            take care of the new objects and notifications.
            
            Clarifications have been added in several places to remove
            ambiguities or contradictions that were discovered and
            reported by implementors.";
      }

      revision "1999-02-22" {
         description
            "Initial version, published as RFC 2592.";
      }


      container smObjects {
         list smLangEntry {
            key "smLangIndex";
            description
               "An entry describing a particular language.";
            leaf smLangIndex {
               type int32 {
                  range "1..2147483647";
               }
               description
                  "The locally arbitrary, but unique identifier associated
                  with this language entry.
                  
                  The value is expected to remain constant at least from one
                  re-initialization of the entity's network management system
                  to the next re-initialization.
                  
                  Note that the data type and the range of this object must
                  be consistent with the definition of smScriptLanguage.";
               smi:oid "1.3.6.1.2.1.64.1.1.1.1";
            }

            leaf smLangLanguage {
               type yang:object-identifier;
               config "false";
               description
                  "The globally unique identification of the language.";
               smi:oid "1.3.6.1.2.1.64.1.1.1.2";
            }

            leaf smLangVersion {
               type snmp-framework:SnmpAdminString {
                  length "0..32";
               }
               config "false";
               description
                  "The version number of the language. The zero-length string
                  shall be used if the language does not have a version
                  number.
                  
                  It is suggested that the version number consist of one or
                  more decimal numbers separated by dots, where the first
                  number is called the major version number.";
               smi:oid "1.3.6.1.2.1.64.1.1.1.3";
            }

            leaf smLangVendor {
               type yang:object-identifier;
               config "false";
               description
                  "An object identifier which identifies the vendor who
                  provides the implementation of the language. This object
                  identifier SHALL point to the object identifier directly
                  below the enterprise object identifier {1 3 6 1 4 1}
                  allocated for the vendor. The value must be the object
                  identifier {0 0} if the vendor is not known.";
               smi:oid "1.3.6.1.2.1.64.1.1.1.4";
            }

            leaf smLangRevision {
               type snmp-framework:SnmpAdminString {
                  length "0..32";
               }
               config "false";
               description
                  "The version number of the language implementation.
                  The value of this object must be an empty string if
                  version number of the implementation is unknown.
                  
                  It is suggested that the value consist of one or more
                  decimal numbers separated by dots, where the first
                  number is called the major version number.";
               smi:oid "1.3.6.1.2.1.64.1.1.1.5";
            }

            leaf smLangDescr {
               type snmp-framework:SnmpAdminString;
               config "false";
               description "A textual description of the language.";
               smi:oid "1.3.6.1.2.1.64.1.1.1.6";
            }
            smi:oid "1.3.6.1.2.1.64.1.1.1";
         }  // list smLangEntry

         list smExtsnEntry {
            key "smLangIndex smExtsnIndex";
            description
               "An entry describing a particular language extension.";
            leaf smLangIndex {
               type leafref {
                  path
                     "/disman-script:smObjects/disman-script:smLangEntry/disman-script:smLangIndex";
               }
               description "Automagically generated leafref leaf.";
            }

            leaf smExtsnIndex {
               type int32 {
                  range "1..2147483647";
               }
               description
                  "The locally arbitrary, but unique identifier associated
                  with this language extension entry.
                  
                  The value is expected to remain constant at least from one
                  re-initialization of the entity's network management system
                  to the next re-initialization.";
               smi:oid "1.3.6.1.2.1.64.1.2.1.1";
            }

            leaf smExtsnExtension {
               type yang:object-identifier;
               config "false";
               description
                  "The globally unique identification of the language
                  extension.";
               smi:oid "1.3.6.1.2.1.64.1.2.1.2";
            }

            leaf smExtsnVersion {
               type snmp-framework:SnmpAdminString {
                  length "0..32";
               }
               config "false";
               description
                  "The version number of the language extension.
                  It is suggested that the version number consist of one or
                  more decimal numbers separated by dots, where the first
                  number is called the major version number.";
               smi:oid "1.3.6.1.2.1.64.1.2.1.3";
            }

            leaf smExtsnVendor {
               type yang:object-identifier;
               config "false";
               description
                  "An object identifier which identifies the vendor who
                  provides the implementation of the extension. The
                  object identifier value should point to the OID node
                  directly below the enterprise OID {1 3 6 1 4 1}
                  allocated for the vendor. The value must by the object
                  identifier {0 0} if the vendor is not known.";
               smi:oid "1.3.6.1.2.1.64.1.2.1.4";
            }

            leaf smExtsnRevision {
               type snmp-framework:SnmpAdminString {
                  length "0..32";
               }
               config "false";
               description
                  "The version number of the extension implementation.
                  The value of this object must be an empty string if
                  version number of the implementation is unknown.
                  
                  It is suggested that the value consist of one or more
                  decimal numbers separated by dots, where the first
                  number is called the major version number.";
               smi:oid "1.3.6.1.2.1.64.1.2.1.5";
            }

            leaf smExtsnDescr {
               type snmp-framework:SnmpAdminString;
               config "false";
               description
                  "A textual description of the language extension.";
               smi:oid "1.3.6.1.2.1.64.1.2.1.6";
            }
            smi:oid "1.3.6.1.2.1.64.1.2.1";
         }  // list smExtsnEntry
         smi:oid "1.3.6.1.2.1.64.1";
      }  // container smObjects

      container smScriptObjects {
         list smScriptEntry {
            key "smScriptOwner smScriptName";
            description
               "An entry describing a particular script. Every script that
               is stored in non-volatile memory is required to appear in
               this script table.";
            leaf smScriptOwner {
               type snmp-framework:SnmpAdminString {
                  length "0..32";
               }
               description
                  "The manager who owns this row in the smScriptTable.";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.1";
            }

            leaf smScriptName {
               type snmp-framework:SnmpAdminString {
                  length "1..32";
               }
               description
                  "The locally-unique, administratively assigned name for this
                  script. This object allows an smScriptOwner to have multiple
                  entries in the smScriptTable.
                  
                  This value of this object may be used to derive the name
                  (e.g. a file name) which is used by the Script MIB
                  implementation to access the script in non-volatile
                  storage. The details of this mapping are implementation
                  specific. However, the mapping needs to ensure that scripts
                  created by different owners with the same script name do not
                  map to the same name in non-volatile storage.";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.2";
            }

            leaf smScriptDescr {
               type snmp-framework:SnmpAdminString;
               description
                  "A description of the purpose of the script.";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.3";
            }

            leaf smScriptLanguage {
               type int32 {
                  range "0..2147483647";
               }
               description
                  "The value of this object type identifies an entry in the
                  smLangTable which is used to execute this script.
                  The special value 0 may be used by hard-wired scripts
                  that can not be modified and that are executed by
                  internal functions.
                  
                  Set requests to change this object are invalid if the
                  value of smScriptOperStatus is `enabled' or `compiling'
                  and will result in an inconsistentValue error.
                  
                  Note that the data type and the range of this object must
                  be consistent with the definition of smLangIndex.";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.4";
            }

            leaf smScriptSource {
               type smiv2:DisplayString;
               description
                  "This object either contains a reference to the script
                  source or an empty string. A reference must be given
                  in the form of a Uniform Resource Locator (URL) as
                  defined in RFC 2396. The allowed character sets and the
                  encoding rules defined in RFC 2396 section 2 apply.
                  
                  When the smScriptAdminStatus object is set to `enabled',
                  the Script MIB implementation will `pull' the script
                  source from the URL contained in this object if the URL
                  is not empty.
                  
                  An empty URL indicates that the script source is loaded
                  from local storage. The script is read from the smCodeTable
                  if the value of smScriptStorageType is volatile. Otherwise,
                  the script is read from non-volatile storage.
                  
                  Note: This document does not mandate implementation of any
                  specific URL scheme. An attempt to load a script from a
                  nonsupported URL scheme will cause the smScriptOperStatus
                  to report an `unknownProtocol' error.
                  
                  Set requests to change this object are invalid if the
                  value of smScriptOperStatus is `enabled', `editing',
                  `retrieving' or `compiling' and will result in an
                  inconsistentValue error.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.5";
            }

            leaf smScriptAdminStatus {
               type enumeration {
                  enum "enabled" {
                     value 1;
                  }
                  enum "disabled" {
                     value 2;
                  }
                  enum "editing" {
                     value 3;
                  }
               }
               description
                  "The value of this object indicates the desired status of
                  the script. See the definition of smScriptOperStatus for
                  a description of the values.
                  
                  When the smScriptAdminStatus object is set to `enabled' and
                  the smScriptOperStatus is `disabled' or one of the error
                  states, the Script MIB implementation will `pull' the script
                  source from the URL contained in the smScriptSource object
                  if the URL is not empty.";
               smi:default "disabled";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.6";
            }

            leaf smScriptOperStatus {
               type enumeration {
                  enum "enabled" {
                     value 1;
                  }
                  enum "disabled" {
                     value 2;
                  }
                  enum "editing" {
                     value 3;
                  }
                  enum "retrieving" {
                     value 4;
                  }
                  enum "compiling" {
                     value 5;
                  }
                  enum "noSuchScript" {
                     value 6;
                  }
                  enum "accessDenied" {
                     value 7;
                  }
                  enum "wrongLanguage" {
                     value 8;
                  }
                  enum "wrongVersion" {
                     value 9;
                  }
                  enum "compilationFailed" {
                     value 10;
                  }
                  enum "noResourcesLeft" {
                     value 11;
                  }
                  enum "unknownProtocol" {
                     value 12;
                  }
                  enum "protocolFailure" {
                     value 13;
                  }
                  enum "genericError" {
                     value 14;
                  }
               }
               config "false";
               description
                  "The actual status of the script in the runtime system. The
                  value of this object is only meaningful when the value of
                  the smScriptRowStatus object is `active'.
                  
                  The smScriptOperStatus object may have the following values:
                  
                  - `enabled' indicates that the script is available and can
                     be started by a launch table entry.
                  
                  - `disabled' indicates that the script can not be used.
                  
                  - `editing' indicates that the script can be modified in the
                    smCodeTable.
                  
                  - `retrieving' indicates that the script is currently being
                    loaded from non-volatile storage or a remote system.
                  
                  - `compiling' indicates that the script is currently being
                    compiled by the runtime system.
                  
                  - `noSuchScript' indicates that the script does not exist
                    at the smScriptSource.
                  
                  - `accessDenied' indicates that the script can not be loaded
                    from the smScriptSource due to a lack of permissions.
                  
                  - `wrongLanguage' indicates that the script can not be
                     loaded from the smScriptSource because of a language
                     mismatch.
                  
                  - `wrongVersion' indicates that the script can not be loaded
                    from the smScriptSource because of a language version
                    mismatch.
                  
                  - `compilationFailed' indicates that the compilation failed.
                  
                  - `noResourcesLeft' indicates that the runtime system does
                    not have enough resources to load the script.
                  
                  - `unknownProtocol' indicates that the script could not be
                    loaded from the smScriptSource because the requested
                    protocol is not supported.
                  
                  - `protocolFailure' indicates that the script could not be
                    loaded from the smScriptSource because of a protocol
                    failure.
                  
                  - `genericError' indicates that the script could not be
                  
                    loaded due to an error condition not listed above.
                  
                  The `retrieving' and `compiling' states are transient states
                  which will either lead to one of the error states or the
                  `enabled' state. The `disabled' and `editing' states are
                  administrative states which are only reached by explicit
                  management operations.
                  
                  All launch table entries that refer to this script table
                  entry shall have an smLaunchOperStatus value of `disabled'
                  when the value of this object is not `enabled'.";
               smi:default "disabled";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.7";
            }

            leaf smScriptStorageType {
               type smiv2:StorageType;
               description
                  "This object defines whether this row and the script
                  controlled by this row are kept in volatile storage and
                  lost upon reboot or if this row is backed up by
                  non-volatile or permanent storage.
                  
                  The storage type of this row always complies with the value
                  of this entry if the value of the corresponding RowStatus
                  object is `active'.
                  
                  However, the storage type of the script controlled by this
                  row may be different, if the value of this entry is
                  `non-volatile'. The script controlled by this row is written
                  into local non-volatile storage if the following condition
                  becomes true:
                  
                  (a) the URL contained in the smScriptSource object is empty
                      and
                  (b) the smScriptStorageType is `nonVolatile'
                      and
                  (c) the smScriptOperStatus is `enabled'
                  
                  Setting this object to `volatile' removes a script from
                  non-volatile storage if the script controlled by this row
                  has been in non-volatile storage before. Attempts to set
                  this object to permanent will always fail with an
                  inconsistentValue error.
                  
                  The value of smScriptStorageType is only meaningful if the
                  value of the corresponding RowStatus object is `active'.
                  
                  If smScriptStorageType has the value permanent(4), then all
                  objects whose MAX-ACCESS value is read-create must be
                  writable, with the exception of the smScriptStorageType and
                  smScriptRowStatus objects, which shall be read-only.";
               smi:default "volatile";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.8";
            }

            leaf smScriptRowStatus {
               type smiv2:RowStatus;
               description
                  "A control that allows entries to be added and removed from
                  this table.
                  
                  Changing the smScriptRowStatus from `active' to
                  `notInService' will remove the associated script from the
                  runtime system.
                  
                  Deleting conceptual rows from this table may affect the
                  deletion of other resources associated with this row. For
                  example, a script stored in non-volatile storage may be
                  removed from non-volatile storage.
                  
                  An entry may not exist in the `active' state unless all
                  required objects in the entry have appropriate values. Rows
                  that are not complete or not in service are not known by the
                  script runtime system.
                  
                  Attempts to `destroy' a row or to set a row `notInService'
                  while the smScriptOperStatus is `enabled' will result in an
                  inconsistentValue error.
                  
                  Attempts to `destroy' a row or to set a row `notInService'
                  where the value of the smScriptStorageType object is
                  `permanent' or `readOnly' will result in an
                  inconsistentValue error.
                  
                  The value of this object has no effect on whether other
                  objects in this conceptual row can be modified.";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.9";
            }

            leaf smScriptError {
               type snmp-framework:SnmpAdminString;
               config "false";
               description
                  "This object contains a descriptive error message if the
                  
                  transition into the operational status `enabled' failed.
                  Implementations must reset the error message to a
                  zero-length string when a new attempt to change the
                  script status to `enabled' is started.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.10";
            }

            leaf smScriptLastChange {
               type smiv2:DateAndTime;
               config "false";
               description
                  "The date and time when this script table entry was last
                  modified. The value '0000000000000000'H is returned if
                  the script table entry has not yet been modified.
                  
                  Note that the resetting of smScriptError is not considered
                  a change of the script table entry.";
               smi:default "0x0000000000000000";
               smi:oid "1.3.6.1.2.1.64.1.3.1.1.11";
            }
            smi:oid "1.3.6.1.2.1.64.1.3.1.1";
         }  // list smScriptEntry

         list smCodeEntry {
            key "smScriptOwner smScriptName smCodeIndex";
            description
               "An entry describing a particular fragment of a script.";
            leaf smScriptOwner {
               type leafref {
                  path
                     "/disman-script:smScriptObjects/disman-script:smScriptEntry/disman-script:smScriptOwner";
               }
               description "Automagically generated leafref leaf.";
            }

            leaf smScriptName {
               type leafref {
                  path
                     "/disman-script:smScriptObjects/disman-script:smScriptEntry/disman-script:smScriptName";
               }
               description "Automagically generated leafref leaf.";
            }

            leaf smCodeIndex {
               type uint32 {
                  range "1..4294967295";
               }
               description
                  "The index value identifying this code fragment.";
               smi:oid "1.3.6.1.2.1.64.1.3.2.1.1";
            }

            leaf smCodeText {
               type binary {
                  length "1..1024";
               }
               description
                  "The code that makes up a fragment of a script. The format
                  of this code fragment depends on the script language which
                  is identified by the associated smScriptLanguage object.";
               smi:oid "1.3.6.1.2.1.64.1.3.2.1.2";
            }

            leaf smCodeRowStatus {
               type smiv2:RowStatus;
               description
                  "A control that allows entries to be added and removed from
                  this table.
                  
                  The value of this object has no effect on whether other
                  objects in this conceptual row can be modified.";
               smi:oid "1.3.6.1.2.1.64.1.3.2.1.3";
            }
            smi:oid "1.3.6.1.2.1.64.1.3.2.1";
         }  // list smCodeEntry
         smi:oid "1.3.6.1.2.1.64.1.3";
      }  // container smScriptObjects

      container smRunObjects {
         list smLaunchEntry {
            key "smLaunchOwner smLaunchName";
            description
               "An entry describing a particular executable script.";
            leaf smLaunchOwner {
               type snmp-framework:SnmpAdminString {
                  length "0..32";
               }
               description
                  "The manager who owns this row in the smLaunchTable. Every
                  instance of a running script started from a particular entry
                  in the smLaunchTable (i.e. entries in the smRunTable) will
                  be owned by the same smLaunchOwner used to index the entry
                  in the smLaunchTable. This owner is not necessarily the same
                  as the owner of the script itself (smLaunchScriptOwner).";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.1";
            }

            leaf smLaunchName {
               type snmp-framework:SnmpAdminString {
                  length "1..32";
               }
               description
                  "The locally-unique, administratively assigned name for this
                  launch table entry. This object allows an smLaunchOwner to
                  have multiple entries in the smLaunchTable. The smLaunchName
                  is an arbitrary name that must be different from any other
                  smLaunchTable entries with the same smLaunchOwner but can be
                  the same as other entries in the smLaunchTable with
                  different smLaunchOwner values. Note that the value of
                  smLaunchName is not related in any way to the name of the
                  script being launched.";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.2";
            }

            leaf smLaunchScriptOwner {
               type snmp-framework:SnmpAdminString {
                  length "0..32";
               }
               description
                  "The value of this object in combination with the value of
                  smLaunchScriptName identifies the script that can be
                  launched from this smLaunchTable entry. Attempts to write
                  this object will fail with an inconsistentValue error if
                  the value of smLaunchOperStatus is `enabled'.";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.3";
            }

            leaf smLaunchScriptName {
               type snmp-framework:SnmpAdminString {
                  length "0..32";
               }
               description
                  "The value of this object in combination with the value of
                  the smLaunchScriptOwner identifies the script that can be
                  launched from this smLaunchTable entry. The zero-length
                  string may be used to point to a non-existing script.
                  
                  Attempts to write this object will fail with an
                  inconsistentValue error if the value of smLaunchOperStatus
                  is `enabled'.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.4";
            }

            leaf smLaunchArgument {
               type binary;
               description
                  "The argument supplied to the script. When a script is
                  invoked, the value of this object is used to initialize
                  the smRunArgument object.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.5";
            }

            leaf smLaunchMaxRunning {
               type uint32 {
                  range "1..4294967295";
               }
               description
                  "The maximum number of concurrently running scripts that may
                  be invoked from this entry in the smLaunchTable. Lowering
                  the current value of this object does not affect any scripts
                  that are already executing.";
               smi:default "1";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.6";
            }

            leaf smLaunchMaxCompleted {
               type uint32 {
                  range "1..4294967295";
               }
               description
                  "The maximum number of finished scripts invoked from this
                  entry in the smLaunchTable allowed to be retained in the
                  smRunTable. Whenever the value of this object is changed
                  and whenever a script terminates, entries in the smRunTable
                  are deleted if necessary until the number of completed
                  scripts is smaller than the value of this object. Scripts
                  whose smRunEndTime value indicates the oldest completion
                  time are deleted first.";
               smi:default "1";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.7";
            }

            leaf smLaunchLifeTime {
               type smiv2:TimeInterval;
               units "centi-seconds";
               description
                  "The default maximum amount of time a script launched
                  from this entry may run. The value of this object is used
                  to initialize the smRunLifeTime object when a script is
                  launched. Changing the value of an smLaunchLifeTime
                  instance does not affect scripts previously launched from
                  
                  this entry.";
               smi:default "360000";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.8";
            }

            leaf smLaunchExpireTime {
               type smiv2:TimeInterval;
               units "centi-seconds";
               description
                  "The default maximum amount of time information about a
                  script launched from this entry is kept in the smRunTable
                  after the script has completed execution.  The value of
                  this object is used to initialize the smRunExpireTime
                  object when a script is launched. Changing the value of an
                  smLaunchExpireTime instance does not affect scripts
                  previously launched from this entry.";
               smi:default "360000";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.9";
            }

            leaf smLaunchStart {
               type int32 {
                  range "0..2147483647";
               }
               description
                  "This object is used to start the execution of scripts.
                  When retrieved, the value will be the value of smRunIndex
                  for the last script that started execution by manipulating
                  this object. The value will be zero if no script started
                  execution yet.
                  
                  A script is started by setting this object to an unused
                  smRunIndex value. A new row in the smRunTable will be
                  created which is indexed by the value supplied by the
                  set-request in addition to the value of smLaunchOwner and
                  smLaunchName. An unused value can be obtained by reading
                  the smLaunchRunIndexNext object.
                  
                  Setting this object to the special value 0 will start
                  the script with a self-generated smRunIndex value. The
                  consequence is that the script invoker has no reliable
                  way to determine the smRunIndex value for this script
                  invocation and that the invoker has therefore no way
                  to obtain the results from this script invocation. The
                  special value 0 is however useful for scheduled script
                  invocations.
                  
                  If this object is set, the following checks must be
                  
                  performed:
                  
                  1) The value of the smLaunchOperStatus object in this
                     entry of the smLaunchTable must be `enabled'.
                  2) The values of smLaunchScriptOwner and
                     smLaunchScriptName of this row must identify an
                     existing entry in the smScriptTable.
                  3) The value of smScriptOperStatus of this entry must
                     be `enabled'.
                  4) The principal performing the set operation must have
                     read access to the script. This must be checked by
                     calling the isAccessAllowed abstract service interface
                     defined in RFC 2271 on the row in the smScriptTable
                     identified by smLaunchScriptOwner and smLaunchScriptName.
                     The isAccessAllowed abstract service interface must be
                     called on all columnar objects in the smScriptTable with
                     a MAX-ACCESS value different than `not-accessible'. The
                     test fails as soon as a call indicates that access is
                     not allowed.
                  5) If the value provided by the set operation is not 0,
                     a check must be made that the value is currently not
                     in use. Otherwise, if the value provided by the set
                     operation is 0, a suitable unused value must be
                     generated.
                  6) The number of currently executing scripts invoked
                     from this smLaunchTable entry must be less than
                     smLaunchMaxRunning.
                  
                  Attempts to start a script will fail with an
                  inconsistentValue error if one of the checks described
                  above fails.
                  
                  Otherwise, if all checks have been passed, a new entry
                  in the smRunTable will be created indexed by smLaunchOwner,
                  smLaunchName and the new value for smRunIndex. The value
                  of smLaunchArgument will be copied into smRunArgument,
                  the value of smLaunchLifeTime will be copied to
                  smRunLifeTime, and the value of smLaunchExpireTime
                  will be copied to smRunExpireTime.
                  
                  The smRunStartTime will be set to the current time and
                  the smRunState will be set to `initializing' before the
                  script execution is initiated in the appropriate runtime
                  system.
                  
                  Note that the data type and the range of this object must
                  be consistent with the smRunIndex object. Since this
                  object might be written from the scheduling MIB, the
                  
                  data type Integer32 rather than Unsigned32 is used.";
               smi:default "0";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.10";
            }

            leaf smLaunchControl {
               type enumeration {
                  enum "abort" {
                     value 1;
                  }
                  enum "suspend" {
                     value 2;
                  }
                  enum "resume" {
                     value 3;
                  }
                  enum "nop" {
                     value 4;
                  }
               }
               description
                  "This object is used to request a state change for all
                  running scripts in the smRunTable that were started from
                  this row in the smLaunchTable.
                  
                  Setting this object to abort(1), suspend(2) or resume(3)
                  will set the smRunControl object of all applicable rows
                  in the smRunTable to abort(1), suspend(2) or resume(3)
                  respectively. The phrase `applicable rows' means the set of
                  rows which were created from this entry in the smLaunchTable
                  and whose value of smRunState allows the corresponding
                  state change as described in the definition of the
                  smRunControl object. Setting this object to nop(4) has no
                  effect.
                  
                  Attempts to set this object lead to an inconsistentValue
                  error only if all implicated sets on all the applicable
                  rows lead to inconsistentValue errors. It is not allowed
                  to return an inconsistentValue error if at least one state
                  change on one of the applicable rows was successful.";
               smi:default "nop";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.11";
            }

            leaf smLaunchAdminStatus {
               type enumeration {
                  enum "enabled" {
                     value 1;
                  }
                  enum "disabled" {
                     value 2;
                  }
                  enum "autostart" {
                     value 3;
                  }
               }
               description
                  "The value of this object indicates the desired status of
                  this launch table entry. The values enabled(1) and
                  autostart(3) both indicate that the launch table entry
                  
                  should transition into the operational enabled(1) state as
                  soon as the associated script table entry is enabled(1).
                  
                  The value autostart(3) further indicates that the script
                  is started automatically by conceptually writing the
                  value 0 into the associated smLaunchStart object during
                  the transition from the `disabled' into the `enabled'
                  operational state. This is useful for scripts that are
                  to be launched on system start-up.";
               smi:default "disabled";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.12";
            }

            leaf smLaunchOperStatus {
               type enumeration {
                  enum "enabled" {
                     value 1;
                  }
                  enum "disabled" {
                     value 2;
                  }
                  enum "expired" {
                     value 3;
                  }
               }
               config "false";
               description
                  "The value of this object indicates the actual status of
                  this launch table entry.  The smLaunchOperStatus object
                  may have the following values:
                  
                  - `enabled' indicates that the launch table entry is
                    available and can be used to start scripts.
                  
                  - `disabled' indicates that the launch table entry can
                    not be used to start scripts.
                  
                  - `expired' indicates that the launch table entry can
                    not be used to start scripts and will disappear as
                    soon as all smRunTable entries associated with this
                    launch table entry have disappeared.
                  
                  The value `enabled' requires that the smLaunchRowStatus
                  object is active. The value `disabled' requires that there
                  are no entries in the smRunTable associated with this
                  smLaunchTable entry.";
               smi:default "disabled";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.13";
            }

            leaf smLaunchRunIndexNext {
               type int32 {
                  range "1..2147483647";
               }
               config "false";
               description
                  "This variable is used for creating rows in the smRunTable.
                  The value of this variable is a currently unused value
                  for smRunIndex, which can be written into the smLaunchStart
                  object associated with this row to launch a script.
                  
                  The value returned when reading this variable must be unique
                  for the smLaunchOwner and smLaunchName associated with this
                  row. Subsequent attempts to read this variable must return
                  different values.
                  
                  This variable will return the special value 0 if no new rows
                  can be created.
                  
                  Note that the data type and the range of this object must be
                  consistent with the definition of smRunIndex.";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.14";
            }

            leaf smLaunchStorageType {
               type smiv2:StorageType;
               description
                  "This object defines if this row is kept in volatile storage
                  and lost upon reboot or if this row is backed up by stable
                  storage.
                  
                  The value of smLaunchStorageType is only meaningful if the
                  value of the corresponding RowStatus object is active.
                  
                  If smLaunchStorageType has the value permanent(4), then all
                  objects whose MAX-ACCESS value is read-create must be
                  writable, with the exception of the smLaunchStorageType and
                  smLaunchRowStatus objects, which shall be read-only.";
               smi:default "volatile";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.15";
            }

            leaf smLaunchRowStatus {
               type smiv2:RowStatus;
               description
                  "A control that allows entries to be added and removed from
                  this table.
                  
                  Attempts to `destroy' a row or to set a row `notInService'
                  while the smLaunchOperStatus is `enabled' will result in
                  an inconsistentValue error.
                  
                  Attempts to `destroy' a row or to set a row `notInService'
                  where the value of the smLaunchStorageType object is
                  `permanent' or `readOnly' will result in an
                  inconsistentValue error.
                  
                  The value of this object has no effect on whether other
                  objects in this conceptual row can be modified.";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.16";
            }

            leaf smLaunchError {
               type snmp-framework:SnmpAdminString;
               config "false";
               description
                  "This object contains a descriptive error message if an
                  attempt to launch a script fails. Implementations must reset
                  the error message to a zero-length string when a new attempt
                  to launch a script is started.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.17";
            }

            leaf smLaunchLastChange {
               type smiv2:DateAndTime;
               config "false";
               description
                  "The date and time when this launch table entry was last
                  modified. The value '0000000000000000'H is returned if
                  the launch table entry has not yet been modified.
                  
                  Note that a change of smLaunchStart, smLaunchControl,
                  smLaunchRunIndexNext, smLaunchRowExpireTime, or the
                  resetting of smLaunchError is not considered a change
                  of this launch table entry.";
               smi:default "0x0000000000000000";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.18";
            }

            leaf smLaunchRowExpireTime {
               type smiv2:TimeInterval;
               units "centi-seconds";
               description
                  "The value of this object specifies how long this row remains
                  in the `enabled' or `disabled' operational state. The value
                  reported by this object ticks backwards. When the value
                  reaches 0, it stops ticking backward and the row is
                  deleted if there are no smRunTable entries associated with
                  
                  this smLaunchTable entry. Otherwise, the smLaunchOperStatus
                  changes to `expired' and the row deletion is deferred
                  until there are no smRunTable entries associated with this
                  smLaunchTable entry.
                  
                  The smLaunchRowExpireTime will not tick backwards if it is
                  set to its maximum value (2147483647). In other words,
                  setting this object to its maximum value turns the timer
                  off.
                  
                  The value of this object may be set in order to increase
                  or reduce the remaining time that the launch table entry
                  may be used. Setting the value to 0 will cause an immediate
                  row deletion or transition into the `expired' operational
                  state.
                  
                  It is not possible to set this object while the operational
                  status is `expired'. Attempts to modify this object while
                  the operational status is `expired' leads to an
                  inconsistentValue error.
                  
                  Note that the timer ticks backwards independent of the
                  operational state of the launch table entry.";
               smi:default "2147483647";
               smi:oid "1.3.6.1.2.1.64.1.4.1.1.19";
            }
            smi:oid "1.3.6.1.2.1.64.1.4.1.1";
         }  // list smLaunchEntry

         list smRunEntry {
            key "smLaunchOwner smLaunchName smRunIndex";
            description
               "An entry describing a particular running or finished
               script.";
            leaf smLaunchOwner {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchOwner";
               }
               description "Automagically generated leafref leaf.";
            }

            leaf smLaunchName {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchName";
               }
               description "Automagically generated leafref leaf.";
            }

            leaf smRunIndex {
               type int32 {
                  range "1..2147483647";
               }
               description
                  "The locally arbitrary, but unique identifier associated
                  with this running or finished script. This value must be
                  unique for all rows in the smRunTable with the same
                  smLaunchOwner and smLaunchName.
                  
                  Note that the data type and the range of this object must
                  be consistent with the definition of smLaunchRunIndexNext
                  and smLaunchStart.";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.1";
            }

            leaf smRunArgument {
               type binary;
               config "false";
               description
                  "The argument supplied to the script when it started.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.2";
            }

            leaf smRunStartTime {
               type smiv2:DateAndTime;
               config "false";
               description
                  "The date and time when the execution started. The value
                  '0000000000000000'H is returned if the script has not
                  started yet.";
               smi:default "0x0000000000000000";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.3";
            }

            leaf smRunEndTime {
               type smiv2:DateAndTime;
               config "false";
               description
                  "The date and time when the execution terminated. The value
                  '0000000000000000'H is returned if the script has not
                  terminated yet.";
               smi:default "0x0000000000000000";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.4";
            }

            leaf smRunLifeTime {
               type smiv2:TimeInterval;
               units "centi-seconds";
               description
                  "This object specifies how long the script can execute.
                  This object returns the remaining time that the script
                  may run. The object is initialized with the value of the
                  associated smLaunchLifeTime object and ticks backwards.
                  The script is aborted immediately when the value reaches 0.
                  
                  The value of this object may be set in order to increase or
                  reduce the remaining time that the script may run. Setting
                  this value to 0 will abort script execution immediately,
                  and, if the value of smRunExpireTime is also 0, will remove
                  this entry from the smRunTable once it has terminated.
                  
                  If smRunLifeTime is set to its maximum value (2147483647),
                  either by a set operation or by its initialization from the
                  smLaunchLifeTime object, then it will not tick backwards.
                  A running script with a maximum smRunLifeTime value will
                  thus never be terminated with a `lifeTimeExceeded' exit
                  code.
                  
                  The value of smRunLifeTime reflects the real-time execution
                  time as seen by the outside world. The value of this object
                  will always be 0 for a script that finished execution, that
                  is smRunState has the value `terminated'.
                  
                  The value of smRunLifeTime does not change while a script
                  is suspended, that is smRunState has the value `suspended'.
                  Note that this does not affect set operations. It is legal
                  to modify smRunLifeTime via set operations while a script
                  is suspended.";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.5";
            }

            leaf smRunExpireTime {
               type smiv2:TimeInterval;
               units "centi-seconds";
               description
                  "The value of this object specifies how long this row can
                  exist in the smRunTable after the script has terminated.
                  This object returns the remaining time that the row may
                  exist before it is aged out. The object is initialized with
                  the value of the associated smLaunchExpireTime object and
                  ticks backwards. The entry in the smRunTable is destroyed
                  when the value reaches 0 and the smRunState has the value
                  `terminated'.
                  
                  The value of this object may be set in order to increase or
                  reduce the remaining time that the row may exist.  Setting
                  the value to 0 will destroy this entry as soon as the
                  smRunState has the value `terminated'.";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.6";
            }

            leaf smRunExitCode {
               type enumeration {
                  enum "noError" {
                     value 1;
                  }
                  enum "halted" {
                     value 2;
                  }
                  enum "lifeTimeExceeded" {
                     value 3;
                  }
                  enum "noResourcesLeft" {
                     value 4;
                  }
                  enum "languageError" {
                     value 5;
                  }
                  enum "runtimeError" {
                     value 6;
                  }
                  enum "invalidArgument" {
                     value 7;
                  }
                  enum "securityViolation" {
                     value 8;
                  }
                  enum "genericError" {
                     value 9;
                  }
               }
               config "false";
               description
                  "The value of this object indicates the reason why a
                  script finished execution. The smRunExitCode code may have
                  one of the following values:
                  
                  - `noError', which indicates that the script completed
                     successfully without errors;
                  
                  - `halted', which indicates that the script was halted
                     by a request from an authorized manager;
                  
                  - `lifeTimeExceeded', which indicates that the script
                     exited because a time limit was exceeded;
                  
                  - `noResourcesLeft', which indicates that the script
                     exited because it ran out of resources (e.g. memory);
                  
                  - `languageError', which indicates that the script exited
                     because of a language error (e.g. a syntax error in an
                     interpreted language);
                  
                  - `runtimeError', which indicates that the script exited
                     due to a runtime error (e.g. a division by zero);
                  
                  - `invalidArgument', which indicates that the script could
                     not be run because of invalid script arguments;
                  
                  - `securityViolation', which indicates that the script
                     exited due to a security violation;
                  
                  - `genericError', which indicates that the script exited
                     for an unspecified reason.
                  
                  If the script has not yet begun running, or is currently
                  running, the value will be `noError'.";
               smi:default "noError";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.7";
            }

            leaf smRunResult {
               type binary;
               config "false";
               description
                  "The result value produced by the running script. Note that
                  the result may change while the script is executing.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.8";
            }

            leaf smRunControl {
               type enumeration {
                  enum "abort" {
                     value 1;
                  }
                  enum "suspend" {
                     value 2;
                  }
                  enum "resume" {
                     value 3;
                  }
                  enum "nop" {
                     value 4;
                  }
               }
               description
                  "The value of this object indicates the desired status of the
                  script execution defined by this row.
                  
                  Setting this object to `abort' will abort execution if the
                  
                  value of smRunState is `initializing', `executing',
                  `suspending', `suspended' or `resuming'. Setting this object
                  to `abort' when the value of smRunState is `aborting' or
                  `terminated', or if the implementation can determine that
                  the attempt to abort the execution would fail, will result
                  in an inconsistentValue error.
                  
                  Setting this object to `suspend' will suspend execution
                  if the value of smRunState is `executing'. Setting this
                  object to `suspend' will cause an inconsistentValue error
                  if the value of smRunState is not `executing' or if the
                  implementation can determine that the attempt to suspend
                  the execution would fail.
                  
                  Setting this object to `resume' will resume execution
                  if the value of smRunState is `suspending' or
                  `suspended'. Setting this object to `resume' will cause an
                  inconsistentValue error if the value of smRunState is
                  not `suspended' or if the implementation can determine
                  that the attempt to resume the execution would fail.
                  
                  Setting this object to nop(4) has no effect.";
               smi:default "nop";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.9";
            }

            leaf smRunState {
               type enumeration {
                  enum "initializing" {
                     value 1;
                  }
                  enum "executing" {
                     value 2;
                  }
                  enum "suspending" {
                     value 3;
                  }
                  enum "suspended" {
                     value 4;
                  }
                  enum "resuming" {
                     value 5;
                  }
                  enum "aborting" {
                     value 6;
                  }
                  enum "terminated" {
                     value 7;
                  }
               }
               config "false";
               description
                  "The value of this object indicates the script's execution
                  state. If the script has been invoked but has not yet
                  begun execution, the value will be `initializing'. If the
                  script is running, the value will be `executing'.
                  
                  A running script which received a request to suspend
                  execution first transitions into a temporary `suspending'
                  state.  The temporary `suspending' state changes to
                  `suspended' when the script has actually been suspended. The
                  temporary `suspending' state changes back to `executing' if
                  
                  the attempt to suspend the running script fails.
                  
                  A suspended script which received a request to resume
                  execution first transitions into a temporary `resuming'
                  state. The temporary `resuming' state changes to `running'
                  when the script has actually been resumed. The temporary
                  `resuming' state changes back to `suspended' if the attempt
                  to resume the suspended script fails.
                  
                  A script which received a request to abort execution but
                  which is still running first transitions into a temporary
                  `aborting' state.
                  
                  A script which has finished its execution is `terminated'.";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.10";
            }

            leaf smRunError {
               type snmp-framework:SnmpAdminString;
               config "false";
               description
                  "This object contains a descriptive error message if the
                  script startup or execution raised an abnormal condition.
                  An implementation must store a descriptive error message
                  in this object if the script exits with the smRunExitCode
                  `genericError'.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.11";
            }

            leaf smRunResultTime {
               type smiv2:DateAndTime;
               config "false";
               description
                  "The date and time when the smRunResult was last updated.
                  The value '0000000000000000'H is returned if smRunResult
                  has not yet been updated after the creation of this
                  smRunTable entry.";
               smi:default "0x0000000000000000";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.12";
            }

            leaf smRunErrorTime {
               type smiv2:DateAndTime;
               config "false";
               description
                  "The date and time when the smRunError was last updated.
                  The value '0000000000000000'H is returned if smRunError
                  
                  has not yet been updated after the creation of this
                  smRunTable entry.";
               smi:default "0x0000000000000000";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.13";
            }
            smi:oid "1.3.6.1.2.1.64.1.4.2.1";
         }  // list smRunEntry
         smi:oid "1.3.6.1.2.1.64.1.4";
      }  // container smRunObjects

      notification smScriptAbort {
         description
            "This notification is generated whenever a running script
            terminates with an smRunExitCode unequal to `noError'.";
         container smScriptAbort-smRunExitCode {
            leaf smLaunchOwner {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchOwner";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smLaunchName {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchName";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunIndex {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smRunEntry/disman-script:smRunIndex";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunExitCode {
               type enumeration {
                  enum "noError" {
                     value 1;
                  }
                  enum "halted" {
                     value 2;
                  }
                  enum "lifeTimeExceeded" {
                     value 3;
                  }
                  enum "noResourcesLeft" {
                     value 4;
                  }
                  enum "languageError" {
                     value 5;
                  }
                  enum "runtimeError" {
                     value 6;
                  }
                  enum "invalidArgument" {
                     value 7;
                  }
                  enum "securityViolation" {
                     value 8;
                  }
                  enum "genericError" {
                     value 9;
                  }
               }
               config "false";
               description
                  "The value of this object indicates the reason why a
                  script finished execution. The smRunExitCode code may have
                  one of the following values:
                  
                  - `noError', which indicates that the script completed
                     successfully without errors;
                  
                  - `halted', which indicates that the script was halted
                     by a request from an authorized manager;
                  
                  - `lifeTimeExceeded', which indicates that the script
                     exited because a time limit was exceeded;
                  
                  - `noResourcesLeft', which indicates that the script
                     exited because it ran out of resources (e.g. memory);
                  
                  - `languageError', which indicates that the script exited
                     because of a language error (e.g. a syntax error in an
                     interpreted language);
                  
                  - `runtimeError', which indicates that the script exited
                     due to a runtime error (e.g. a division by zero);
                  
                  - `invalidArgument', which indicates that the script could
                     not be run because of invalid script arguments;
                  
                  - `securityViolation', which indicates that the script
                     exited due to a security violation;
                  
                  - `genericError', which indicates that the script exited
                     for an unspecified reason.
                  
                  If the script has not yet begun running, or is currently
                  running, the value will be `noError'.";
               smi:default "noError";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.7";
            }
         }  // container smScriptAbort-smRunExitCode

         container smScriptAbort-smRunEndTime {
            leaf smLaunchOwner {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchOwner";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smLaunchName {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchName";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunIndex {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smRunEntry/disman-script:smRunIndex";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunEndTime {
               type smiv2:DateAndTime;
               config "false";
               description
                  "The date and time when the execution terminated. The value
                  '0000000000000000'H is returned if the script has not
                  terminated yet.";
               smi:default "0x0000000000000000";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.4";
            }
         }  // container smScriptAbort-smRunEndTime

         container smScriptAbort-smRunError {
            leaf smLaunchOwner {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchOwner";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smLaunchName {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchName";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunIndex {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smRunEntry/disman-script:smRunIndex";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunError {
               type snmp-framework:SnmpAdminString;
               config "false";
               description
                  "This object contains a descriptive error message if the
                  script startup or execution raised an abnormal condition.
                  An implementation must store a descriptive error message
                  in this object if the script exits with the smRunExitCode
                  `genericError'.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.11";
            }
         }  // container smScriptAbort-smRunError
         smi:oid "1.3.6.1.2.1.64.2.0.1";
      }  // notification smScriptAbort

      notification smScriptResult {
         description
            "This notification can be used by scripts to notify other
            management applications about results produced by the
            script.
            
            This notification is not automatically generated by the
            Script MIB implementation. It is the responsibility of
            the executing script to emit this notification where it
            is appropriate to do so.";
         container smScriptResult-smRunResult {
            leaf smLaunchOwner {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchOwner";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smLaunchName {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchName";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunIndex {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smRunEntry/disman-script:smRunIndex";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunResult {
               type binary;
               config "false";
               description
                  "The result value produced by the running script. Note that
                  the result may change while the script is executing.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.8";
            }
         }  // container smScriptResult-smRunResult
         smi:oid "1.3.6.1.2.1.64.2.0.2";
      }  // notification smScriptResult

      notification smScriptException {
         description
            "This notification can be used by scripts to notify other
            management applications about script errors.
            
            This notification is not automatically generated by the
            Script MIB implementation. It is the responsibility of
            the executing script or the runtime system to emit this
            notification where it is appropriate to do so.";
         container smScriptException-smRunError {
            leaf smLaunchOwner {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchOwner";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smLaunchName {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smLaunchEntry/disman-script:smLaunchName";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunIndex {
               type leafref {
                  path
                     "/disman-script:smRunObjects/disman-script:smRunEntry/disman-script:smRunIndex";
               }
               config "false";
               description "Automagically generated leafref leaf.";
            }

            leaf smRunError {
               type snmp-framework:SnmpAdminString;
               config "false";
               description
                  "This object contains a descriptive error message if the
                  script startup or execution raised an abnormal condition.
                  An implementation must store a descriptive error message
                  in this object if the script exits with the smRunExitCode
                  `genericError'.";
               smi:default "";
               smi:oid "1.3.6.1.2.1.64.1.4.2.1.11";
            }
         }  // container smScriptException-smRunError
         smi:oid "1.3.6.1.2.1.64.2.0.3";
      }  // notification smScriptException
   }  // module DISMAN-SCRIPT-MIB

Summary

  
  
Organization IETF Distributed Management Working Group
  
Module DISMAN-SCRIPT-MIB
Version 2001-08-21
File DISMAN-SCRIPT-MIB.yang
  
Prefix disman-script
Namespace urn:ietf:params:xml:ns:yang:smiv2:DISMAN-SCRIPT-MIB
  
Cooked /cookedmodules/DISMAN-SCRIPT-MIB/2001-08-21
YANG /src/DISMAN-SCRIPT-MIB@2001-08-21.yang
XSD /xsd/DISMAN-SCRIPT-MIB@2001-08-21.xsd
  
Abstract This MIB module defines a set of objects that allow to delegate management scripts to distributed managers.
  
Contact
WG EMail:  disman@dorothy.bmc.com
Subscribe: disman-request@dorothy.bmc.com

Chair:     Randy Presuhn
	   BMC Software, Inc.

Postal:    Office 1-3141
	   2141 North First Street
	   San Jose,  California 95131
	   USA
EMail:     rpresuhn@bmc.com
Phone:     +1 408 546-1006

Editor:    David B. Levi
	   Nortel Networks
Postal:    4401 Great America Parkway
	   Santa Clara, CA 95052-8185
	   USA
EMail:     dlevi@nortelnetworks.com
Phone:     +1 423 686 0432

Editor:    Juergen Schoenwaelder
	   TU Braunschweig
Postal:    Bueltenweg 74/75
	   38106 Braunschweig
	   Germany
EMail:     schoenw@ibr.cs.tu-bs.de
Phone:     +49 531 391-3283

Description

 
This MIB module defines a set of objects that allow to
delegate management scripts to distributed managers.

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
smObjects container smLangEntry smExtsnEntry
   smExtsnEntry list An entry describing a particular language extension.
      smExtsnDescr leaf A textual description of the language extension.
      smExtsnExtension leaf The globally unique identification of the language extension.
      smExtsnIndex leaf The locally arbitrary, but unique identifier associated with this language extension entry. The value is expected to remain constant at least from one re-initialization of the entity's network management system to the next re-initialization.
      smExtsnRevision leaf The version number of the extension implementation. The value of this object must be an empty string if version number of the implementation is unknown. It is suggested that the value consist of one or more decimal numbers separated by dots, where the fi...
      smExtsnVendor leaf An object identifier which identifies the vendor who provides the implementation of the extension. The object identifier value should point to the OID node directly below the enterprise OID {1 3 6 1 4 1} allocated for the vendor. The value must by the obj...
      smExtsnVersion leaf The version number of the language extension. It is suggested that the version number consist of one or more decimal numbers separated by dots, where the first number is called the major version number.
      smLangIndex leaf Automagically generated leafref leaf.
   smLangEntry list An entry describing a particular language.
      smLangDescr leaf A textual description of the language.
      smLangIndex leaf The locally arbitrary, but unique identifier associated with this language entry. The value is expected to remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. Note that the data ty...
      smLangLanguage leaf The globally unique identification of the language.
      smLangRevision leaf The version number of the language implementation. The value of this object must be an empty string if version number of the implementation is unknown. It is suggested that the value consist of one or more decimal numbers separated by dots, where the fir...
      smLangVendor leaf An object identifier which identifies the vendor who provides the implementation of the language. This object identifier SHALL point to the object identifier directly below the enterprise object identifier {1 3 6 1 4 1} allocated for the vendor. The value...
      smLangVersion leaf The version number of the language. The zero-length string shall be used if the language does not have a version number. It is suggested that the version number consist of one or more decimal numbers separated by dots, where the first number is called th...
smRunObjects container smLaunchEntry smRunEntry
   smLaunchEntry list An entry describing a particular executable script.
      smLaunchAdminStatus leaf The value of this object indicates the desired status of this launch table entry. The values enabled(1) and autostart(3) both indicate that the launch table entry should transition into the operational enabled(1) state as soon as the associated script ta...
      smLaunchArgument leaf The argument supplied to the script. When a script is invoked, the value of this object is used to initialize the smRunArgument object.
      smLaunchControl leaf This object is used to request a state change for all running scripts in the smRunTable that were started from this row in the smLaunchTable. Setting this object to abort(1), suspend(2) or resume(3) will set the smRunControl object of all applicable rows...
      smLaunchError leaf This object contains a descriptive error message if an attempt to launch a script fails. Implementations must reset the error message to a zero-length string when a new attempt to launch a script is started.
      smLaunchExpireTime leaf The default maximum amount of time information about a script launched from this entry is kept in the smRunTable after the script has completed execution. The value of this object is used to initialize the smRunExpireTime object when a script is launched...
      smLaunchLastChange leaf The date and time when this launch table entry was last modified. The value '0000000000000000'H is returned if the launch table entry has not yet been modified. Note that a change of smLaunchStart, smLaunchControl, smLaunchRunIndexNext, smLaunchRowExpire...
      smLaunchLifeTime leaf The default maximum amount of time a script launched from this entry may run. The value of this object is used to initialize the smRunLifeTime object when a script is launched. Changing the value of an smLaunchLifeTime instance does not affect scripts pre...
      smLaunchMaxCompleted leaf The maximum number of finished scripts invoked from this entry in the smLaunchTable allowed to be retained in the smRunTable. Whenever the value of this object is changed and whenever a script terminates, entries in the smRunTable are deleted if necessary...
      smLaunchMaxRunning leaf The maximum number of concurrently running scripts that may be invoked from this entry in the smLaunchTable. Lowering the current value of this object does not affect any scripts that are already executing.
      smLaunchName leaf The locally-unique, administratively assigned name for this launch table entry. This object allows an smLaunchOwner to have multiple entries in the smLaunchTable. The smLaunchName is an arbitrary name that must be different from any other smLaunchTable en...
      smLaunchOperStatus leaf The value of this object indicates the actual status of this launch table entry. The smLaunchOperStatus object may have the following values: - `enabled' indicates that the launch table entry is available and can be used to start scripts. - `disabled...
      smLaunchOwner leaf The manager who owns this row in the smLaunchTable. Every instance of a running script started from a particular entry in the smLaunchTable (i.e. entries in the smRunTable) will be owned by the same smLaunchOwner used to index the entry in the smLaunchTab...
      smLaunchRowExpireTime leaf The value of this object specifies how long this row remains in the `enabled' or `disabled' operational state. The value reported by this object ticks backwards. When the value reaches 0, it stops ticking backward and the row is deleted if there are no sm...
      smLaunchRowStatus leaf A control that allows entries to be added and removed from this table. Attempts to `destroy' a row or to set a row `notInService' while the smLaunchOperStatus is `enabled' will result in an inconsistentValue error. Attempts to `destroy' a row or to set ...
      smLaunchRunIndexNext leaf This variable is used for creating rows in the smRunTable. The value of this variable is a currently unused value for smRunIndex, which can be written into the smLaunchStart object associated with this row to launch a script. The value returned when read...
      smLaunchScriptName leaf The value of this object in combination with the value of the smLaunchScriptOwner identifies the script that can be launched from this smLaunchTable entry. The zero-length string may be used to point to a non-existing script. Attempts to write this objec...
      smLaunchScriptOwner leaf The value of this object in combination with the value of smLaunchScriptName identifies the script that can be launched from this smLaunchTable entry. Attempts to write this object will fail with an inconsistentValue error if the value of smLaunchOperStat...
      smLaunchStart leaf This object is used to start the execution of scripts. When retrieved, the value will be the value of smRunIndex for the last script that started execution by manipulating this object. The value will be zero if no script started execution yet. A script i...
      smLaunchStorageType leaf This object defines if this row is kept in volatile storage and lost upon reboot or if this row is backed up by stable storage. The value of smLaunchStorageType is only meaningful if the value of the corresponding RowStatus object is active. If smLaunch...
   smRunEntry list An entry describing a particular running or finished script.
      smLaunchName leaf Automagically generated leafref leaf.
      smLaunchOwner leaf Automagically generated leafref leaf.
      smRunArgument leaf The argument supplied to the script when it started.
      smRunControl leaf The value of this object indicates the desired status of the script execution defined by this row. Setting this object to `abort' will abort execution if the value of smRunState is `initializing', `executing', `suspending', `suspended' or `resuming'. Se...
      smRunEndTime leaf The date and time when the execution terminated. The value '0000000000000000'H is returned if the script has not terminated yet.
      smRunError leaf This object contains a descriptive error message if the script startup or execution raised an abnormal condition. An implementation must store a descriptive error message in this object if the script exits with the smRunExitCode `genericError'.
      smRunErrorTime leaf The date and time when the smRunError was last updated. The value '0000000000000000'H is returned if smRunError has not yet been updated after the creation of this smRunTable entry.
      smRunExitCode leaf The value of this object indicates the reason why a script finished execution. The smRunExitCode code may have one of the following values: - `noError', which indicates that the script completed successfully without errors; - `halted', which indicate...
      smRunExpireTime leaf The value of this object specifies how long this row can exist in the smRunTable after the script has terminated. This object returns the remaining time that the row may exist before it is aged out. The object is initialized with the value of the associat...
      smRunIndex leaf The locally arbitrary, but unique identifier associated with this running or finished script. This value must be unique for all rows in the smRunTable with the same smLaunchOwner and smLaunchName. Note that the data type and the range of this object must...
      smRunLifeTime leaf This object specifies how long the script can execute. This object returns the remaining time that the script may run. The object is initialized with the value of the associated smLaunchLifeTime object and ticks backwards. The script is aborted immediatel...
      smRunResult leaf The result value produced by the running script. Note that the result may change while the script is executing.
      smRunResultTime leaf The date and time when the smRunResult was last updated. The value '0000000000000000'H is returned if smRunResult has not yet been updated after the creation of this smRunTable entry.
      smRunStartTime leaf The date and time when the execution started. The value '0000000000000000'H is returned if the script has not started yet.
      smRunState leaf The value of this object indicates the script's execution state. If the script has been invoked but has not yet begun execution, the value will be `initializing'. If the script is running, the value will be `executing'. A running script which received a ...
smScriptObjects container smScriptEntry smCodeEntry
   smCodeEntry list An entry describing a particular fragment of a script.
      smCodeIndex leaf The index value identifying this code fragment.
      smCodeRowStatus leaf A control that allows entries to be added and removed from this table. The value of this object has no effect on whether other objects in this conceptual row can be modified.
      smCodeText leaf The code that makes up a fragment of a script. The format of this code fragment depends on the script language which is identified by the associated smScriptLanguage object.
      smScriptName leaf Automagically generated leafref leaf.
      smScriptOwner leaf Automagically generated leafref leaf.
   smScriptEntry list An entry describing a particular script. Every script that is stored in non-volatile memory is required to appear in this script table.
      smScriptAdminStatus leaf The value of this object indicates the desired status of the script. See the definition of smScriptOperStatus for a description of the values. When the smScriptAdminStatus object is set to `enabled' and the smScriptOperStatus is `disabled' or one of the ...
      smScriptDescr leaf A description of the purpose of the script.
      smScriptError leaf This object contains a descriptive error message if the transition into the operational status `enabled' failed. Implementations must reset the error message to a zero-length string when a new attempt to change the script status to `enabled' is started.
      smScriptLanguage leaf The value of this object type identifies an entry in the smLangTable which is used to execute this script. The special value 0 may be used by hard-wired scripts that can not be modified and that are executed by internal functions. Set requests to change ...
      smScriptLastChange leaf The date and time when this script table entry was last modified. The value '0000000000000000'H is returned if the script table entry has not yet been modified. Note that the resetting of smScriptError is not considered a change of the script table entry...
      smScriptName leaf The locally-unique, administratively assigned name for this script. This object allows an smScriptOwner to have multiple entries in the smScriptTable. This value of this object may be used to derive the name (e.g. a file name) which is used by the Script...
      smScriptOperStatus leaf The actual status of the script in the runtime system. The value of this object is only meaningful when the value of the smScriptRowStatus object is `active'. The smScriptOperStatus object may have the following values: - `enabled' indicates that the sc...
      smScriptOwner leaf The manager who owns this row in the smScriptTable.
      smScriptRowStatus leaf A control that allows entries to be added and removed from this table. Changing the smScriptRowStatus from `active' to `notInService' will remove the associated script from the runtime system. Deleting conceptual rows from this table may affect the dele...
      smScriptSource leaf This object either contains a reference to the script source or an empty string. A reference must be given in the form of a Uniform Resource Locator (URL) as defined in RFC 2396. The allowed character sets and the encoding rules defined in RFC 2396 sectio...
      smScriptStorageType leaf This object defines whether this row and the script controlled by this row are kept in volatile storage and lost upon reboot or if this row is backed up by non-volatile or permanent storage. The storage type of this row always complies with the value of ...

Notifications

Notification Abstract
smScriptAbort This notification is generated whenever a running script terminates with an smRunExitCode unequal to `noError'.
smScriptException This notification can be used by scripts to notify other management applications about script errors. This notification is not automatically generated by the Script MIB implementation. It is the responsibility of the executing script or the runtime syste...
smScriptResult This notification can be used by scripts to notify other management applications about results produced by the script. This notification is not automatically generated by the Script MIB implementation. It is the responsibility of the executing script to ...