NET-SNMP-EXTEND-MIB DEFINITIONS ::= BEGIN -- -- Defines a framework for scripted extensions -- IMPORTS nsExtensions FROM NET-SNMP-AGENT-MIB OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY, Integer32 FROM SNMPv2-SMI OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF DisplayString, RowStatus, StorageType FROM SNMPv2-TC; netSnmpExtendMIB MODULE-IDENTITY LAST-UPDATED "201003170000Z" ORGANIZATION "www.net-snmp.org" CONTACT-INFO "postal: Wes Hardaker P.O. Box 382 Davis CA 95617 email: net-snmp-coders@lists.sourceforge.net" DESCRIPTION "Defines a framework for scripted extensions for the Net-SNMP agent." REVISION "201003170000Z" DESCRIPTION "Fixed inconsistencies in the definition of nsExtendConfigTable." REVISION "200405080000Z" DESCRIPTION "First revision." ::= { nsExtensions 1 } nsExtendObjects OBJECT IDENTIFIER ::= { nsExtensions 2} nsExtendGroups OBJECT IDENTIFIER ::= { nsExtensions 3} nsExtendNumEntries OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The number of rows in the nsExtendConfigTable" ::= { nsExtendObjects 1 } nsExtendConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF NsExtendConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of scripted extensions - configuration and (basic) output." ::= { nsExtendObjects 2 } nsExtendConfigEntry OBJECT-TYPE SYNTAX NsExtendConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row within the extension table." INDEX { nsExtendToken } ::= { nsExtendConfigTable 1 } NsExtendConfigEntry ::= SEQUENCE { nsExtendToken DisplayString, nsExtendCommand DisplayString, nsExtendArgs DisplayString, nsExtendInput DisplayString, nsExtendCacheTime INTEGER, nsExtendExecType INTEGER, nsExtendRunType INTEGER, nsExtendStorage StorageType, nsExtendStatus RowStatus } -- -- The configuration of an extension command -- nsExtendToken OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary token to identify this extension entry" ::= { nsExtendConfigEntry 1 } nsExtendCommand OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The full path of the command binary (or script) to run" ::= { nsExtendConfigEntry 2 } nsExtendArgs OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "Any command-line arguments for the command" DEFVAL { ''H } -- the empty string ::= { nsExtendConfigEntry 3 } nsExtendInput OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-create STATUS current DESCRIPTION "The standard input for the command" DEFVAL { ''H } -- the empty string ::= { nsExtendConfigEntry 4 } nsExtendCacheTime OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "The length of time for which the output of this command will be cached. During this time, retrieving the output-related values will not reinvoke the command. A value of -1 indicates that the output results should not be cached at all, and retrieving each individual output-related value will invoke the command afresh." DEFVAL { 5 } ::= { nsExtendConfigEntry 5 } nsExtendExecType OBJECT-TYPE SYNTAX INTEGER { exec (1), -- 'fork-and-exec' shell (2) -- run via a sub-shell } MAX-ACCESS read-create STATUS current DESCRIPTION "The mechanism used to invoke the command." DEFVAL { exec } ::= { nsExtendConfigEntry 6 } nsExtendRunType OBJECT-TYPE SYNTAX INTEGER { run-on-read (1), run-on-set (2), run-command (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "Used to implement 'push-button' command invocation. The command for a 'run-on-read' entry will be invoked whenever one of the corresponding output-related instances is requested (and assuming the cached value is not still current). The command for a 'run-on-set' entry will only be invoked on receipt of a SET assignment for this object with the value 'run-command'. Reading an instance of this object will always return either 'run-on-read' or 'run-on-set'. " DEFVAL { run-on-read } ::= { nsExtendConfigEntry 7 } -- -- Standard table-manipulation objects -- nsExtendStorage OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row." DEFVAL { volatile } ::= { nsExtendConfigEntry 20 } nsExtendStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Used to create new rows in the table, in the standard manner. Note that is valid for an instance to be left with the value notInService(2) indefinitely - i.e. the meaning of 'abnormally long' (see RFC 2579, RowStatus) for this table is infinite." ::= { nsExtendConfigEntry 21 } -- -- The results of running the extension command -- nsExtendOutput1Table OBJECT-TYPE SYNTAX SEQUENCE OF NsExtendOutput1Entry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of scripted extensions - configuration and (basic) output." ::= { nsExtendObjects 3 } nsExtendOutput1Entry OBJECT-TYPE SYNTAX NsExtendOutput1Entry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row within the extension table." AUGMENTS { nsExtendConfigEntry } ::= { nsExtendOutput1Table 1 } NsExtendOutput1Entry ::= SEQUENCE { nsExtendOutput1Line DisplayString, nsExtendOutputFull DisplayString, nsExtendOutNumLines Integer32, nsExtendResult Integer32 } nsExtendOutput1Line OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The first line of output from the command" ::= { nsExtendOutput1Entry 1 } nsExtendOutputFull OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The full output from the command, as a single string" ::= { nsExtendOutput1Entry 2 } nsExtendOutNumLines OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of lines of output (and hence the number of rows in nsExtendOutputTable relating to this particular entry)." ::= { nsExtendOutput1Entry 3 } nsExtendResult OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The return value of the command." ::= { nsExtendOutput1Entry 4 } -- -- The line-based output table -- nsExtendOutput2Table OBJECT-TYPE SYNTAX SEQUENCE OF NsExtendOutput2Entry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of (line-based) output from scripted extensions." ::= { nsExtendObjects 4 } nsExtendOutput2Entry OBJECT-TYPE SYNTAX NsExtendOutput2Entry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row within the line-based output table." INDEX { nsExtendToken, nsExtendLineIndex } ::= { nsExtendOutput2Table 1 } NsExtendOutput2Entry ::= SEQUENCE { nsExtendLineIndex INTEGER, nsExtendOutLine DisplayString } nsExtendLineIndex OBJECT-TYPE SYNTAX INTEGER(1..1024) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of this line of output. For a given nsExtendToken, this will run from 1 to the corresponding value of nsExtendNumLines." ::= { nsExtendOutput2Entry 1 } nsExtendOutLine OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A single line of output from the extension command." ::= { nsExtendOutput2Entry 2 } -- -- Conformance-related definitions -- nsExtendConfigGroup OBJECT-GROUP OBJECTS { nsExtendCommand, nsExtendArgs, nsExtendInput, nsExtendCacheTime, nsExtendExecType, nsExtendRunType, nsExtendStorage, nsExtendStatus, nsExtendNumEntries } STATUS current DESCRIPTION "Objects relating to the configuration of extension commands." ::= { nsExtendGroups 1 } nsExtendOutputGroup OBJECT-GROUP OBJECTS { nsExtendOutNumLines, nsExtendResult, nsExtendOutLine, nsExtendOutput1Line, nsExtendOutputFull } STATUS current DESCRIPTION "Objects relating to the output of extension commands." ::= { nsExtendGroups 2 } END