326 lines
9.1 KiB
Plaintext
326 lines
9.1 KiB
Plaintext
|
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
|