获取

描述

integer/array hostprototype.get(object **parameters**)

该方法允许根据给定的参数获取主机原型记录。

参数

(对象) 定义要输出的参数。

该方法支持如下属性:

参数类型描述
hostids字符串/数组返回给定ID的主机原型。
discoveryids字符串/数组返回归属给定LLD规则的主机原型。
inherited布尔值如果设置为true,只返回模板从模板继承的项目。
selectDiscoveryRule查询discoveryRule属性中返回主机原型归属的LLD规则。
selectGroupLinks查询groupLinks属性中返回主机原型的组链接。
selectGroupPrototypes查询groupPrototypes属性中返回主机原型的组原型。
selectMacros查询macros 属性中返回主机原型的宏。
selectParentHost查询parentHost属性中返回主机原型所属的主机。
selectTemplates查询templates属性中返回连接到主机原型的模板。
sortfield字符串/数组按照给定的属性对结果进行排序。

可能的值:hostidhostnamestatus
countOutput布尔值这些参数对于所有get方法都是通用的,详情可参考通用Zabbix API信息.
editable布尔值
excludeSearch布尔值
filter对象
limit整数
output查询
preservekeys布尔值
search对象
searchByAny布尔值
searchWildcardsEnabled布尔值
sortorder字符串/数组
startSearch布尔值

返回值

(integer/array) 返回:

  • 一组对象;

  • 如果设置了countOutput参数,则返回对象的数量。

示例

从LLD规则中获取主机原型

从LLD规则中获取所有主机原型及其组链接和组原型。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "hostprototype.get",
  4. "params": {
  5. "output": "extend",
  6. "selectGroupLinks": "extend",
  7. "selectGroupPrototypes": "extend",
  8. "discoveryids": "23554"
  9. },
  10. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  11. "id": 1
  12. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10092",
  6. "host": "{#HV.UUID}",
  7. "status": "0",
  8. "name": "{#HV.NAME}",
  9. "templateid": "0",
  10. "discover": "0",
  11. "groupLinks": [
  12. {
  13. "group_prototypeid": "4",
  14. "hostid": "10092",
  15. "groupid": "7",
  16. "templateid": "0"
  17. }
  18. ],
  19. "groupPrototypes": [
  20. {
  21. "group_prototypeid": "7",
  22. "hostid": "10092",
  23. "name": "{#CLUSTER.NAME}",
  24. "templateid": "0"
  25. }
  26. ]
  27. }
  28. ],
  29. "id": 1
  30. }

参考

来源

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