itemprototype.update

Описание

объект itemprototype.update(объект/массив ПрототипыЭлементовданных)

Этот метод позволяет обновлять существующие прототипы элементов данных.

Параметры

(объект/массив) Свойства прототипов элементов данных, которые будут обновлены.

Свойство itemid должно быть указано по каждому прототипу элементов данных, все остальные свойства опциональны. Будут обновлены только переданные свойства, все остальные останутся неизменными.

В дополнение к стандартным свойствам прототипа элементов данных, этот метод принимает следующие параметры.

Параметр Тип Описание
applications массив ID групп элементов данных, которые заменят текущие группы элементов данных.
applicationPrototypes массив Имена прототипов групп элементов данных, которые заменят текущие прототипы групп элементов данных.
preprocessing массив Опции предобработки прототипа элементов данных, которые заменят текущие опции предварительной обработки.

Возвращаемые значения

(объект) Возвращает объект, который содержит ID обновленных прототипов элементов данных под свойством itemids.

Примеры

Изменение интерфейса у прототипа элементов данных

Изменение интерфейса узла сети, который будет использоваться обнаруженными элементами данных.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.update",
           "params": {
               "itemid": "27428",
               "interfaceid": "132"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "27428"
               ]
           },
           "id": 1
       }

Обновление прототипа зависимых элементов данных

Обновление ID прототипа основного элемента данных у прототипа зависимых элементов данных. Зависимости разрешены только в пределах одного узла сети (шаблона/правила обнаружения), поэтому у основного и зависимого элементов данных должен быть одинаковый hostid и ruleid.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.update",
           "params": {
               "master_itemid": "25570",
               "itemid": "189030"
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "189030"
               ]
           },
           "id": 1
       }

Обновление прототипа элементов данных HTTP агента

Изменение полей запроса и удаление всех пользовательских заголовков.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.update",
           "params": {
               "itemid":"28305",
               "query_fields": [
                   {
                       "random": "qwertyuiopasdfghjklzxcvbnm"
                   }
               ],
               "headers": []
           }
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "28305"
               ]
           },
           "id": 1
       }

Обновление опций предобработки элемента данных

Обновление прототипа элементов данных с правилом предобработки "Пользовательский множитель".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.update",
           "params": {
               "itemid": "44211",
               "preprocessing": [
                   {
                       "type": "1",
                       "params": "4",
                       "error_handler": "2",
                       "error_handler_params": "5"
                   }
               ]
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44211"
               ]
           },
           "id": 1
       }

Исходный код

CItemPrototype::update() в frontends/php/include/classes/api/services/CItemPrototype.php.