批量更新

描述

object host.massupdate(object parameters)

该方法可以在多台主机上同时替换或移除相关对象和更新属性。

这个方法仅允许 管理员超级管理员 用户类型。可以在用户角色中撤销调用方法的权限设置。详情参考用户角色获取更多信息。

参数

(object) 参数包含要更新的主机id和应该更新的属性。

除了标准主机属性以外,此方法可以接受以下参数:

参数类型描述
hostsobject/array需要更新的主机

主机只能使用hostid 属性定义。

参数行为:
- 必须
groupsobject/array需要替换当前主机组的主机组

主机组只能使用 groupid 属性定义。
interfacesobject/array需要替换当前主机接口的主机接口
inventoryobject主机资产清单 属性。

主机资产清单模式不能使用 inventory 参数, 使用 inventory_mode 参数替代。
macrosobject/array需要替换当前用户宏的用户宏
templatesobject/array需要替换当前主机链接模版的模板

模板只能使用 templateid 属性定义。
templates_clearobject/array从指定主机取消链接并清理的模板

模板只能使用 templateid 属性定义。

返回值

(object) 返回一个对象,该对象包含更新的主机的 hostids 属性。

示例

启用多个主机

启用两台主机的监控,将他们的状态设为 “0”。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.massupdate",
  4. "params": {
  5. "hosts": [
  6. {
  7. "hostid": "69665"
  8. },
  9. {
  10. "hostid": "69666"
  11. }
  12. ],
  13. "status": 0
  14. },
  15. "id": 1
  16. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "hostids": [
  5. "69665",
  6. "69666"
  7. ]
  8. },
  9. "id": 1
  10. }

另见

源码

CHost::massUpdate() in ui/include/classes/api/services/CHost.php.