更新

说明

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

此方法允许更新已存在的LLD规则。

参数

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

每个LLD规则的itemid属性必须被定义,其他属性为可选。值传递要被更新的属性,其他属性保持不变。

另外见标准的LLD规则属性,此方法接受如下参数。

属性类型
filterobjectLLD规则LLD规则的过滤对象
preprocessingarrayLLD规则预处理选项
lld_macro_pathsarrayLLD规则预处理选项
overridesarrayLLD规则覆盖选项

返回值

(object)itemids属性下返回一个包含被更新的LLD规则的IDs。

示例

为LLD规则添加一个筛选器

添加一个过滤器,以便{#FSTYPE}宏的内容与lld发现规则 @File systems for discovery的正则表达式匹配。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "discoveryrule.update",
  4. "params": {
  5. "itemid": "22450",
  6. "filter": {
  7. "evaltype": 1,
  8. "conditions": [
  9. {
  10. "macro": "{#FSTYPE}",
  11. "value": "@File systems for discovery"
  12. }
  13. ]
  14. }
  15. },
  16. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  17. "id": 1
  18. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "itemids": [
  5. "22450"
  6. ]
  7. },
  8. "id": 1
  9. }

禁用trapping

禁用LLD trapping 发现规则。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "discoveryrule.update",
  4. "params": {
  5. "itemid": "22450",
  6. "lld_macro_paths": [
  7. {
  8. "lld_macro": "{#MACRO1}",
  9. "path": "$.json.path"
  10. }
  11. ]
  12. },
  13. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  14. "id": 1
  15. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "itemids": [
  5. "28336"
  6. ]
  7. },
  8. "id": 36
  9. }

来源

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