discoveryruleprototype.update

描述

object discoveryruleprototype.update(object/array lldRules)

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

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

此方法仅适用于 AdminSuper admin 用户类型。调用该方法的权限可在用户角色设置中被撤销。更多信息请参见 用户角色

参数

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

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

除了标准 LLD 规则原型属性外, 该方法还接受以下参数。

参数 类型 描述
filter object 用于替换现有过滤器的 LLD 规则原型过滤器
preprocessing object/array 用于替换现有预处理选项的 LLD 规则原型预处理 选项。

参数行为
- 对继承对象为 只读
lld_macro_paths object/array 用于替换现有 lld_macro_path 选项的 LLD 规则原型 lld_macro_path 选项。

参数行为
- 对继承对象为 只读
overrides object/array 用于替换现有覆盖选项的 LLD 规则原型覆盖 选项。

参数行为
- 对继承对象为 只读

返回值

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

示例

更新 LLD 规则原型预处理选项

使用 JSONPath 预处理规则更新一个 LLD 规则原型。 请求

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

响应:

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

源代码

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