[comment]: # ({b227b327-2462f4f8})
# discoveryruleprototype.update

[comment]: # ({/b227b327-2462f4f8})

[comment]: # ({4638797b-98154a0c})
### 描述

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

此方法用于更新现有的 LLD 规则原型。

请注意，对已发现原型的更新是受限的。

::: noteclassic
此方法仅适用于 *Admin* 和 *Super admin*
用户类型。调用该方法的权限可在用户角色设置中被撤销。更多信息请参见 [用户角色](/manual/web_interface/frontend_sections/users/user_roles)。
:::

[comment]: # ({/4638797b-98154a0c})

[comment]: # ({82c679cd-d614a120})
### 参数

`(object/array)` 要更新的 LLD 规则原型属性。

必须为每个 LLD 规则原型定义 `itemid` 属性，其他所有属性均为可选。
只有传入的属性会被更新，其他所有属性将保持不变。

除了[标准 LLD 规则原型属性](object#lld-rule-prototype)外，
该方法还接受以下参数。

|参数|[类型](/manual/api/reference_commentary#data-types)|描述|
|--|--|------|
|filter|object|用于替换现有过滤器的 [LLD 规则原型过滤器](/manual/api/reference/discoveryruleprototype/object#lld-rule-prototype-filter)。|
|preprocessing|object/array|用于替换现有预处理选项的 [LLD 规则原型预处理](/manual/api/reference/discoveryruleprototype/object#lld-rule-prototype-preprocessing) 选项。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 对继承对象为 *只读*|
|lld\_macro\_paths|object/array|用于替换现有 lld\_macro\_path 选项的 LLD 规则原型 [lld\_macro\_path](/manual/api/reference/discoveryruleprototype/object#lld-macro-path) 选项。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 对继承对象为 *只读*|
|overrides|object/array|用于替换现有覆盖选项的 [LLD 规则原型覆盖](/manual/api/reference/discoveryruleprototype/object#lld-rule-prototype-overrides) 选项。<br><br>[参数行为](/manual/api/reference_commentary#parameter-behavior)：<br>- 对继承对象为 *只读*|

[comment]: # ({/82c679cd-d614a120})

[comment]: # ({64c78d26-5eea7c23})
### 返回值

`(object)` 返回一个对象，其中在 `itemids` 属性下包含已更新的 LLD 规则原型的 ID。

[comment]: # ({/64c78d26-5eea7c23})

[comment]: # ({b41637d2-2373188b})
### 示例

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

[comment]: # ({f552d438-8909b822})
#### 更新 LLD 规则原型预处理选项

使用 JSONPath 预处理规则更新一个 LLD 规则原型。
[请求](/manual/api#performing-requests)：

```json
{
    "jsonrpc": "2.0",
    "method": "discoveryruleprototype.update",
    "params": {
        "itemid": "47253",
        "preprocessing": [
            {
                "type": 12,
                "params": "$.tablespaces",
                "error_handler": 1
            }
        ]
    },
    "id": 1
}
```

响应：

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

[comment]: # ({/f552d438-8909b822})

[comment]: # ({57022646-ebead5e6})
### 源代码

位于 *ui/include/classes/api/services/CDiscoveryRulePrototype.php* 中的 CDiscoveryRulePrototype::update()。

[comment]: # ({/57022646-ebead5e6})
