获取

描述

integer/array hostprototype.get(object parameters)

该方法允许根据给定参数检索主机原型。

T任何类型的用户都可以使用该方法。调用该方法的权限可在用户角色设置中撤销。 更多信息请参阅 用户角色

参数

(object) 定义所需输出的参数。

该方法支持以下参数。

参数类型说明
hostidsID/array只返回具有给定 ID 的主机原型。
discoveryidsID/array只返回属于给定 LLD 规则的主机原型。
inheritedboolean如果设置为 true,则只返回从模板继承的监控项。
selectDiscoveryRulequery返回包含主机原型所属 LLD 规则的 discoveryRule 属性。
selectInterfacesquery返回包含主机原型自定义接口的 interfaces 属性。
selectGroupLinksquery返回包含主机原型的组链接的 groupLinks 属性。
selectGroupPrototypesquery返回包含主机原型的组原型的 groupPrototypes 属性。
selectMacrosquery返回包含主机原型宏的 macros 属性。
selectParentHostquery返回包含主机原型所属主机的 parentHost 属性。
selectTagsquery返回包含主机原型标签的 tags 属性。
selectTemplatesquery返回包含链接到主机原型的模板的 templates 属性。

支持 count.
sortfieldstring/array根据给定的属性对结果进行排序。

可能的值:hostid, host, name, status.
countOutputboolean这些参数是所有 get 方法的通用参数,详见 参考评注
editableboolean
excludeSearchboolean
filterobject
limitinteger
outputquery
preservekeysboolean
searchobject
searchByAnyboolean
searchWildcardsEnabledboolean
sortorderstring/array
startSearchboolean

返回值

(integer/array) 返回二者之一:

  • 一个对象数组;
  • 如果使用了 countOutput 参数,则读取的对象数量。

示例

从 LLD 规则中检索主机原型

从 LLD 规则中检索所有主机原型、其组链接、组原型和标签。

请求

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

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "hostid": "10092",
  6. "host": "{#HV.UUID}",
  7. "name": "{#HV.UUID}",
  8. "status": "0",
  9. "templateid": "0",
  10. "discover": "0",
  11. "custom_interfaces": "1",
  12. "inventory_mode": "-1",
  13. "groupLinks": [
  14. {
  15. "group_prototypeid": "4",
  16. "hostid": "10092",
  17. "groupid": "7",
  18. "templateid": "0"
  19. }
  20. ],
  21. "groupPrototypes": [
  22. {
  23. "group_prototypeid": "7",
  24. "hostid": "10092",
  25. "name": "{#CLUSTER.NAME}",
  26. "templateid": "0"
  27. }
  28. ],
  29. "tags": [
  30. {
  31. "tag": "Datacenter",
  32. "value": "{#DATACENTER.NAME}"
  33. },
  34. {
  35. "tag": "Instance type",
  36. "value": "{#INSTANCE_TYPE}"
  37. }
  38. ],
  39. "interfaces": [
  40. {
  41. "main": "1",
  42. "type": "2",
  43. "useip": "1",
  44. "ip": "127.0.0.1",
  45. "dns": "",
  46. "port": "161",
  47. "details": {
  48. "version": "2",
  49. "bulk": "1",
  50. "community": "{$SNMP_COMMUNITY}"
  51. }
  52. }
  53. ]
  54. }
  55. ],
  56. "id": 1
  57. }

另见

来源

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