| 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 |