hostprototype.get

描述

integer/array hostprototype.get(object parameters)

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

此方法可供任何类型的用户使用。调用该方法的权限可在用户角色设置中撤销。有关更多信息,请参阅User roles

参数

(object) 定义期望输出的参数.

该方法支持以下参数.

参数 数据类型 描述
hostids string/array 仅返回具有给定ID的主机原型.
discoveryids string/array 仅返回属于给定LLD规则的主机原型.
inherited boolean 如果设置为true则仅返回从模板继承的监控项.
selectDiscoveryRule query 返回一个lld规则属性,包含主机原型所属的LLD规则.
selectInterfaces query 返回一个自定义接口属性,包含主机原型的自定义接口.
selectGroupLinks query 返回一个组链接属性,包含主机原型的组链接.
selectGroupPrototypes query 返回一个组原型属性,包含主机原型的组原型.
selectMacros query 返回一个macros属性,包含主机原型的宏.
selectParentHost query 返回一个parentHost属性,包含主机原型所属的主机.
selectTags query 返回一个主机原型标签属性,包含主机原型的标签.
selectTemplates query 返回一个templates属性,包含链接到主机原型的模板.

支持count.
sortfield string/array 按给定属性排序结果.

可能的值为: hostid, host, namestatus.
countOutput boolean 这些参数在通用get方法参数中有描述.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 返回以下两种结果之一:

  • 一个包含array的objects数组;
  • 检索到的objects数量, 如果使用了countOutput参数。

示例

从LLD规则检索主机原型

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

请求:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.get",
           "params": {
               "output": "extend",
               "selectInterfaces": "extend",
               "selectGroupLinks": "extend",
               "selectGroupPrototypes": "extend",
               "selectTags": "extend",
               "discoveryids": "23554"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10092",
                   "host": "{#HV.UUID}",
                   "name": "{#HV.UUID}",
                   "status": "0",
                   "templateid": "0",
                   "discover": "0",
                   "custom_interfaces": "1",
                   "inventory_mode": "-1",
                   "groupLinks": [
                       {
                           "group_prototypeid": "4",
                           "hostid": "10092",
                           "groupid": "7",
                           "templateid": "0"
                       }
                   ],
                   "groupPrototypes": [
                       {
                           "group_prototypeid": "7",
                           "hostid": "10092",
                           "name": "{#CLUSTER.NAME}",
                           "templateid": "0"
                       }
                   ],
                   "tags": [
                       {
                           "tag": "Datacenter",
                           "value": "{#DATACENTER.NAME}"
                       },
                       {
                           "tag": "Instance type",
                           "value": "{#INSTANCE_TYPE}"
                       }
                   ],
                   "interfaces": [
                       {
                           "main": "1",
                           "type": "2",
                           "useip": "1",
                           "ip": "127.0.0.1",
                           "dns": "",
                           "port": "161",
                           "details": {
                               "version": "2",
                               "bulk": "1",
                               "community": "{$SNMP_COMMUNITY}"
                           }
                       }
                   ]
               }
           ],
           "id": 1
       }

另请参阅

来源

CHostPrototype::get() 位于 ui/include/classes/api/services/CHostPrototype.php 文件中.