object discoveryrule.update(object/array lldRules)
Цей метод дозволяє оновити існуючі правила LLD.
Цей метод доступний лише для користувачів типу Admin і Super admin. Дозволи на виклик методу можна скасувати в налаштуваннях ролі користувача. Див. Ролі користувача для отримання додаткової інформації.
Властивості правила LLD (object/array)
буде оновлено.
Властивість itemid
має бути визначена для кожного правила LLD, усі інші властивості необов’язкові. Будуть оновлені лише передані властивості, всі інші залишаться незмінними.
На додаток до [стандартних властивостей правила LLD] (object#lld_rule), метод приймає наступні параметри.
Параметр | Тип | Опис |
---|---|---|
filter | object | об’єкт правила LLD filter для заміни поточного фільтра. |
попередня обробка | масив | Параметри [попередньої обробки] правила LLD (/manual/api/reference/discoveryrule/object#lld_rule_preprocessing) для заміни поточних параметрів попередньої обробки. |
lld_macro_paths | масив | Параметри правила LLD lld_macro_path. |
замінює | масив | Параметри правила LLD замінює. |
(object)
Повертає об’єкт, що містить ідентифікатори оновлених правил LLD у властивості itemids
.
Додайте фільтр, щоб вміст макросу {#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",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Відповідь:
Вимкнути перехоплення LLD для правила виявлення.
Запит:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 36,
"auth": "d678e0b85688ce578ff061bd29a20d3b"
}
Відповідь:
Оновіть правило 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
}
Відповідь:
Оновіть сценарій правила LLD іншим сценарієм і видаліть непотрібні параметри, які використовувалися попереднім сценарієм.
Запит:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.Log(3, 'Log test');\nreturn 1;"
},
"auth": "700ca65537074ec963db7efabda78259",
"id": 1
}
Відповідь:
CDiscoveryRule::update() в ui/include/classes/api/services/CDiscoveryRule.php.