= Команда snmpgetnext = == Назначение команды == Команда `snmpgetnext` служит для запроса значений переменных плат блока MC04-DSL-3U (чтения переменных). Данная команда почти полностью аналогична команде [ApiSnmpget snmpget], и отличается от нее лишь тем, что вместо значения переменной, переданной в запросе, возвращает значение **следующей** за указанной в запросе переменной. Команда `snmpgetnext` в-основном служит для внутренних целей платы SW-01 - реализации запроса GETNEXT протокола SNMP. == Ключи запроса == См. описание ключей запроса команды [ApiSnmpget snmpget]. == Права доступа == См. описание прав доступа команды [ApiSnmpget snmpget]. == Возвращаемые данные == См. описание возвращаемых данных команды [ApiSnmpget snmpget]. В отличие от команды [ApiSnmpget snmpget], в возвращаемых командой `snmpgetnext` данных поле `oid` объекта с результатом чтения значения переменной содержит не OID запрошенной переменной, а OID, следующий в MIB платы непосредственно за запрошенным. При этом ключи объекта `result` будут, как и при использовании команды [ApiSnmpget snmpget], иметь значения, указанные в запросе. Для примера предположим, что в слоте 9 установлена плата "AB-12", имеющая переменные `.1.0`, `.2.0`, `.3.0`, `.4.0`, `.5.0`, `.7.1.1.0`, `.7.1.2.0` и т.д. Запрос `{"cmd":"snmpgetnext","varlist":[".4.9.1.0"]}` вернет такой ответ: {{{ { "cmd":"snmpgetnext", "result": { ".4.9.1.0": { "oid":".4.9.2.0", "status":"OK", "value":"AB-12" } } } }}} При указании в запросе нескольких OID для каждого из них будет возвращено значение следующей переменной. Например запрос `{"cmd":"snmpgetnext","varlist":[".4.9.1.0", ".4.9.7.1.1.0"]}` вернет такой ответ: {{{ { "cmd":"snmpgetnext", "result": { ".4.9.1.0": { "oid":".4.9.2.0", "status":"OK", "value":"AB-12" }, ".4.9.7.1.1.0": { "oid":".4.9.7.1.2.0", "status":"OK", "value":12345 } } } }}} Так как обращения к переменным, указываемым в запросе, не происходит, а указываемые строки служат только для поиска следующего OID в MIB платы, допустимо указывать в запросе неполный OID или OID несуществующей переменной. Например запрос `{"cmd":"snmpgetnext","varlist":[".4.9.2", ".4.9.6.0"]}` вернет такой ответ: {{{ { "cmd":"snmpgetnext", "result": { ".4.9.2": { "oid":".4.9.2.0", "status":"OK", "value":"AB-12" }, ".4.9.6.0": { "oid":".4.9.7.1.1.0", "status":"OK", "value":530 } } } }}} В случае, если в блоке нет переменных с OID, следующим за запрошенным командой `snmpgetnext`, для запрошенного OID возвращается результат со статусом `UNKNOWN` и полем `oid`, имеющим значение запрошенного. Например запрос `{"cmd":"snmpgetnext","varlist":[".4.21.199.0"]}` вернет такой ответ: {{{ { "cmd":"snmpgetnext", "result": { ".4.20": { "oid":".4.20", "status":"UNKNOWN" } } } }}} == См. также == [ApiSnmpget команда snmpget], [ApiSnmpset команда snmpset]