更新

描述

object host.update(object/array **hosts**)

该方法用来更新已存在的主机

参数

(object/array) 要更新的主机属性.

每个主机的hostid属性必须已定义过,其他属性为可选项.只会更新指定的属性,其他属性保持不变.另外,对于标准主机属性,此方法接受如下参数:

参数类型描述
groups对象/数组替换主机当前归属的组.

主机组的groupid必须已定义.
interfaces对象/数组替换当前主机接口.
inventory对象主机资产清单属性.
macros对象/数组替换当前用户宏.
templates对象/数组替换当前链接的模板. 模板没有传递仅删除链接.

模板必须已定义过templateid属性
templates_clear对象/数组从主机中删除模板链接并清除.

模板必须已定义过templateid属性.

相对于Zabbix前端,当namehost一致,更新host的时候不会自动更新name.两个属性需要明确的更新. 这两个属性都需要显式地更新.

返回值

(object)hostids属性中返回包含已更新主机ID对象.

示例

启用主机

启用主机,将status设置为0

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.update",
  4. "params": {
  5. "hostid": "10126",
  6. "status": 0
  7. },
  8. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  9. "id": 1
  10. }

响应:

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

删除模板链接

从主机中删除链接并清除两个模板.

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.update",
  4. "params": {
  5. "hostid": "10126",
  6. "templates_clear": [
  7. {
  8. "templateid": "10124"
  9. },
  10. {
  11. "templateid": "10125"
  12. }
  13. ]
  14. },
  15. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  16. "id": 1
  17. }

响应:

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

更新主机宏

用两个新的宏替换主机所有的宏.

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.update",
  4. "params": {
  5. "hostid": "10126",
  6. "macros": [
  7. {
  8. "macro": "{$PASS}",
  9. "value": "password"
  10. },
  11. {
  12. "macro": "{$DISC}",
  13. "value": "sda"
  14. }
  15. ]
  16. },
  17. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  18. "id": 1
  19. }

响应:

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

更新主机资产清单

更改资产清单模式并添加地点

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "host.update",
  4. "params": {
  5. "hostid": "10387",
  6. "inventory_mode": 0,
  7. "inventory": {
  8. "location": "Latvia, Riga"
  9. }
  10. },
  11. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  12. "id": 1
  13. }

响应:

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

参考

来源

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