object host.update(object/array hosts)
该方法用来更新已存在的主机
(object/array) 要更新的主机属性.
每个主机的hostid属性必须已定义过,其他属性为可选项.只会更新指定的属性,其他属性保持不变.另外,对于标准主机属性,此方法接受如下参数:
| 参数 类 | 描述 | |
|---|---|---|
| groups | 对象/数组 替换主 | 当前归属的组. 主机组的 groupid必须已定义. |
| interfaces | 对象/数组 替换当 | 主机接口. |
| inventory | 对象 主 | 资产清单属性. |
| macros | 对象/数组 替换当 | 用户宏. |
| templates | 对象/数组 替换当 | 链接的模板. 模板没有传递仅删除链接. 模板必须已定义过 templateid属性 |
| templates_clear | 对象/数组 从主机 | 删除模板链接并清除. 模板必须已定义过 templateid属性. |
<note tip>相对于Zabbix前端,当name和host一致,更新host的时候不会自动更新name.两个属性需要明确的更新. 这两个属性都需要显式地更新. :::
(object) 在hostids属性中返回包含已更新主机ID对象.
启用主机,将status设置为0
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10126", "status": 0 }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
从主机中删除链接并清除两个模板.
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10126", "templates_clear": [ { "templateid": "10124" }, { "templateid": "10125" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
用两个新的宏替换主机所有的宏.
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10126", "macros": [ { "macro": "{$PASS}", "value": "password" }, { "macro": "{$DISC}", "value": "sda" } ] }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
更改资产清单模式并添加地点
请求:
{ "jsonrpc": "2.0", "method": "host.update", "params": { "hostid": "10387", "inventory_mode": 0, "inventory": { "location": "Latvia, Riga" } }, "auth": "038e1d7b1735c6a5436ee9eae095879e", "id": 1 }响应:
CHost::update() in frontends/php/include/classes/api/services/CHost.php.