更新

描述

object hostprototype.update(object/array hostPrototypes)

这种方法可以更新现有的主机原型。

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

参数

(object/array) 要更新的主机原型属性。

必须为每个主机原型定义 hostid 属性,其他属性均为可选属性。只有通过的属性才会被更新,所有其他属性将保持不变。

除了 [标准主机原型属性](object#host_prototype)外,该方法还接受以下参数。

参数类型说明
groupLinksarray组链接来替换主机原型上的当前组链接。

参数行为
- 对继承的对象只读
groupPrototypesarray组原型 来替换主机原型上现有的组原型。

参数行为
- 对继承的对象只读
macrosobject/array用户宏 to 来替换现有的用户宏。
所有未在请求中列出的宏都将被删除。
tagsobject/array主机原型标签 来替换现有的标签。
所有未在请求中列出的标签都将被删除。

参数行为
- 对继承的对象只读
interfacesobject/array主机原型自定义接口 来替换现有的接口。
自定义接口对象应包含其所有参数。
所有未在请求中列出的接口都将被删除。

参数行为:
- 如果 主机原型对象custom_interfaces 设置成”使用主机原型自定义接口”则支持
- 对继承的对象只读
templatesobject/array模板 to 来替换现在链接的模板。

模板必须只定义了 templateid 属性。

返回值

(object) 返回一个对象,其中在 hostids 属性下包含更新的主机原型的 ID。

示例

禁用主机原型

禁用主机原型,即将其状态设置为 “1”。

请求

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "hostprototype.update",
  4. "params": {
  5. "hostid": "10092",
  6. "status": 1
  7. },
  8. "id": 1
  9. }

响应:

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

更新主机原型标签

用新标签替换主机原型标签。

请求

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "hostprototype.update",
  4. "params": {
  5. "hostid": "10092",
  6. "tags": [
  7. {
  8. "tag": "Datacenter",
  9. "value": "{#DATACENTER.NAME}"
  10. },
  11. {
  12. "tag": "Instance type",
  13. "value": "{#INSTANCE_TYPE}"
  14. }
  15. ]
  16. },
  17. "id": 1
  18. }

响应:

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

更新主机原型自定义接口

用主机原型自定义接口取代继承接口。

请求

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "hostprototype.update",
  4. "params": {
  5. "hostid": "10092",
  6. "custom_interfaces": "1",
  7. "interfaces": [
  8. {
  9. "main": "1",
  10. "type": "2",
  11. "useip": "1",
  12. "ip": "127.0.0.1",
  13. "dns": "",
  14. "port": "161",
  15. "details": {
  16. "version": "2",
  17. "bulk": "1",
  18. "community": "{$SNMP_COMMUNITY}"
  19. }
  20. }
  21. ]
  22. },
  23. "id": 1
  24. }

响应:

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

另见

来源

CHostPrototype::update() in ui/include/classes/api/services/CHostPrototype.php.