Changes between Initial Version and Version 1 of ApiSnmpset


Ignore:
Timestamp:
Oct 30, 2022, 2:51:14 PM (19 months ago)
Author:
alx
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ApiSnmpset

    v1 v1  
     1=  Команда snmpset  =
     2
     3== Назначение команды ==
     4
     5Команда `snmpset` служит для запроса записи значений переменных в платы блока MC04-DSL-3U.
     6
     7== Ключи запроса ==
     8
     9||  '''Ключ'''  ||  '''Тип значения'''  ||  '''обязательный'''  ||  '''Назначение'''  ||
     10||  cmd  ||  строка  ||  да  || "snmpset" - имя команды ||
     11||  varlist  ||  объект  ||  да  || набор пар "OID"-"значение" ||
     12
     13Команде `snmpset` требуется параметр `varlist`, значением которого является объект, содержащий набор пар "OID"-"значение". Ключами объекта являются OID переменных, в которые требуется запись, значением - записываемое значение. Записываемое значение может быть числом, строкой или массивом байт. При обращении к переменной платы первый элемент OID должен быть равен 4, второй элемент - номеру слота. Элементы OID начиная с третьего являются идентификатором переменной внутри платы. OID должен завершаться элементом 0.
     14
     15Если записываемая переменная имеет тип "число", записываемое значение должно быть числом. Пример записи такой переменной: `{"cmd":"snmpset","varlist":{".4.3.9.0":16}}` - переменной `.4.3.9.0` присваивается значение 16.
     16
     17Если записываемая переменная имеет тип "строка", записываемое значение может иметь тип "строка" или массив чисел со значениями от 0 до 255. В последнем случае каждый элемент массива является значением байта записываемой строки. Два следующих запроса эквивалентны:
     18 `{"cmd":"snmpset","varlist":{".4.3.5.0":"ABC"}}`,
     19
     20 `{"cmd":"snmpset","varlist":{".4.3.5.0":[65,66,67]}}` -
     21
     22переменной `.4.3.5.0` присваивается последовательность из 3 байт со значениями 65, 66, 67.
     23
     24== Права доступа ==
     25
     26В общем случае для выполнения команды `snmpset` требуется право изменения конфигурации блока. Однако для записи некоторых значений в некоторые переменные некоторых плат могут требоваться другие права. Например для записи значений от 1 до 4 в переменную `.6.0` плат SM-01, SM-02 и SM-03 требуется право записи команд в платы SM (право изменения конфигурации блока при этом не требуется).
     27
     28== Возвращаемые данные ==
     29
     30В случае успешного выполнения команда `snmpset` возвращает ключ `result`, значением которого является объект, содержащий результаты записи переменных. Ключами объекта `result` являются OID переменных, которые были переданы в объекте `varlist` запроса. Значениями являются результаты записи. Результат записи переменной может принимать одно из следующих значений:
     31
     32||  '''значение'''  ||  '''описание'''  ||
     33||  "OK"  || Запись переменной выполнена успешно. ||
     34||  "Not found"  || Запрошенная переменная отсутствует (неверный OID) ||
     35||  "Wrong type"  || Записываемое значение не соответствует типу переменной (попытка записи строки или массива байт в переменную типа "число" или наоборот) ||
     36||  "Access denied"  || Пользователь не имеет права записи в эту переменную ||
     37||  "Read only"  || Запрошенная переменная имеет тип "только для чтения" ||
     38||  "Timeout"  || Плата, которая содержит переменную, не ответила на запрос (время ожидания ответа истекло) ||
     39||  "Error"  || Плата, содержащая запрошенную переменную, вернула ошибку. ||
     40
     41В случае успешной записи результат имеет значение "OK". Обратите внимание, что значение "OK" означает только то, что переменная с указанным OID существует, право записи в нее имеется, тип записываемого значения соответствует типу переменной, запрос записи был получен и успешно обработан соответствующей платой блока. Результат "OK" не означает, что записанное значение корректно с точки зрения семантики конкретной переменной. Например при записи в регистр команд платы несуществующего кода команды будет возвращен результат "OK", однако никакой команды платой выполнено не будет.
     42
     43=== Примеры запросов и ответов: ===
     44
     45`{"cmd":"snmpset","varlist":{".4.3.5.0":"ABC"}}`,
     46
     47{{{
     48{
     49  "cmd":"snmpset",
     50  "result": {
     51    ".4.3.5.0": "OK"
     52  }
     53}
     54}}}
     55
     56`{"cmd":"snmpset","varlist":{".4.3.7.3.0":234}}`,
     57
     58{{{
     59{
     60  "cmd":"snmpset",
     61  "result": {
     62    ".4.3.7.3.0": "Not found"
     63  }
     64}
     65}}}
     66
     67`{"cmd":"snmpset","varlist":{".4.3.5.0":[65,66,67], ".4.3.6.0":1}}`,
     68
     69{{{
     70{
     71  "cmd":"snmpset",
     72  "result": {
     73    ".4.3.5.0": "OK",
     74    ".4.3.6.0": "Access denied"
     75  }
     76}
     77}}}
     78
     79== См. также ==
     80
     81[ApiSnmpget команда snmpget]