[comment]: # translation:outdated

[comment]: # ({d756b50a-d756b50a})
# discoveryrule.update

[comment]: # ({/d756b50a-d756b50a})

[comment]: # ({c0f16812-0d23e0d8})
### Опис

`object discoveryrule.update(object/array lldRules)`

Цей метод дозволяє оновити існуючі правила LLD.

::: noteclassic
Цей метод доступний лише для користувачів типу *Admin* і *Super admin*. Дозволи на виклик методу можна скасувати в налаштуваннях ролі користувача. Див. [Ролі користувача](/manual/web_interface/frontend_sections/administration/user_roles) для отримання додаткової інформації.
:::

[comment]: # ({/c0f16812-0d23e0d8})

[comment]: # ({f3a2dc13-cf98658c})
### Параметри

Властивості правила LLD `(object/array)` буде оновлено.

Властивість `itemid` має бути визначена для кожного правила LLD, усі інші властивості необов’язкові. Будуть оновлені лише передані властивості, всі інші залишаться незмінними.

На додаток до [стандартних властивостей правила LLD] (object#lld_rule), метод приймає наступні параметри.

|Параметр|[Тип](/manual/api/reference_commentary#data_types)|Опис|
|--|--|------|
|filter|object|об’єкт правила LLD [filter](/manual/api/reference/discoveryrule/object#lld_rule_filter) для заміни поточного фільтра.|
|попередня обробка|масив|Параметри [попередньої обробки] правила LLD (/manual/api/reference/discoveryrule/object#lld_rule_preprocessing) для заміни поточних параметрів попередньої обробки.|
|lld\_macro\_paths|масив|Параметри правила LLD [lld\_macro\_path](/manual/api/reference/discoveryrule/object#lld_macro_path).|
|замінює|масив|Параметри правила LLD [замінює](/manual/api/reference/discoveryrule/object#lld_rule_overrides).|

[comment]: # ({/f3a2dc13-cf98658c})

[comment]: # ({6f962e26-6f962e26})
### Повернуті значення

`(object)` Повертає об’єкт, що містить ідентифікатори оновлених правил LLD у властивості `itemids`.

[comment]: # ({/6f962e26-6f962e26})

[comment]: # ({b41637d2-b41637d2})
### Приклади

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({fd552209-67c9278f})
#### Додавання фільтра до правила LLD

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

Запит:

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

Відповідь:

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

[comment]: # ({/fd552209-67c9278f})

[comment]: # ({1f031a12-f3fd4d6c})
#### Додавання шляхів макросу LLD

Запит:

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

Відповідь:

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

[comment]: # ({/1f031a12-f3fd4d6c})

[comment]: # ({dc9255dc-8d8cc019})
#### Вимкнути захоплення

Вимкнути перехоплення LLD для правила виявлення.

Запит:

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

Відповідь:

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

[comment]: # ({/dc9255dc-8d8cc019})

[comment]: # ({1e3c5e67-bef0a5f5})
#### Оновлення параметрів попередньої обробки правила LLD

Оновіть правило LLD за допомогою правила попередньої обробки «JSONPath».

Запит:

```json
{
    "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
}
```

Відповідь:

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

[comment]: # ({/1e3c5e67-bef0a5f5})

[comment]: # ({3a080335-3f18a1c3})
#### Оновлення сценарію правила LLD

Оновіть сценарій правила LLD іншим сценарієм і видаліть непотрібні параметри, які використовувалися попереднім сценарієм.

Запит:

```json
{
    "jsonrpc": "2.0",
    "method": "discoveryrule.update",
    "params": {
        "itemid": "23865",
        "parameters": [],
        "script": "Zabbix.Log(3, 'Log test');\nreturn 1;"
    },
    "auth": "700ca65537074ec963db7efabda78259",
    "id": 1
}
```

Відповідь:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "23865"
        ]
    },
    "id": 1
}
```

[comment]: # ({/3a080335-3f18a1c3})

[comment]: # ({6a73b645-6a73b645})
### Джерело

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

[comment]: # ({/6a73b645-6a73b645})
