discoveryrule.update

Описание

объект discoveryrule.update(объект/массив lldRules)

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

Параметры

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

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

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

Параметр Тип Описание
filter объект Объект фильтра правила LLD, который заменит текущий фильтр.
preprocessing массив Опции предобработки LLD правила, которые заменят текущие опции предобработки.

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

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

Примеры

Добавление фильтра к правилу LLD

Добавление фильтра таким образом, чтобы содержимое макроса {#FSTYPE} совпадало с регулярным выражением @File systems for discovery.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "22450",
               "filter": {
                   "evaltype": 1,
                   "conditions": [
                       {
                           "macro": "{#FSTYPE}",
                           "value": "@File systems for discovery"
                       }
                   ]
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

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

Добавление путей LLD макросов

Запрос:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "22450",
               "lld_macro_paths": [
                   {
                       "lld_macro": "{#MACRO1}",
                       "path": "$.json.path"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

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

Отключение трапов

Отключение трапов у LLD правила обнаружения.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "28336",
               "allow_traps": "0"
           },
           "id": 36,
           "auth": "d678e0b85688ce578ff061bd29a20d3b"
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "28336"
               ]
           },
           "id": 36
       }

Обновление опций предобработки LLD правила

Обновление LLD правила с правилом предобработки "JSONPath".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.update",
           "params": {
               "itemid": "44211",
               "preprocessing": [
                   {
                       "type": "12",
                       "params": "$.path.to.json",
                       "error_handler": "2",
                       "error_handler_params": "5"
                   }
               ]
           },
           "auth": "700ca65537074ec963db7efabda78259",
           "id": 1
       }

Ответ:

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

Исходный код

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