获取

描述

integer/array hostprototype.get(object parameters)

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

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

参数

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

该方法支持以下参数。

参数 类型 描述
hostids ID/array 仅返回具有给定 ID 的主机原型。
discoveryids ID/array 仅返回属于给定 LLD 规则的主机原型。
inherited boolean 如果设置为 true,则仅返回从模板继承的监控项。
selectDiscoveryData query 返回一个 discoveryData 属性,其中包含主机原型发现对象数据。主机原型发现对象将已发现的主机原型关联到发现它的主机原型。

它具有以下属性:
host - (string) 主机的 ID;
parent_hostid - (string) 创建该主机原型所依据的主机原型 ID;
status - (int) 主机原型发现状态:
0 - (默认) 主机原型已发现,
1 - 主机原型不再被发现;
ts_delete - (timestamp) 不再被发现的主机原型将被删除的时间;
ts_disable - (timestamp) 不再被发现的主机原型将被禁用的时间;
disable_source - (int) 指示主机原型是由 LLD 规则禁用还是手动禁用:
0 - (默认) 自动禁用,
1 - 由 LLD 规则禁用。
selectDiscoveryRule query 返回一个 discoveryRule 属性,其中包含该主机原型所属的 LLD 规则。
selectDiscoveryRulePrototype query 返回一个 discoveryRulePrototype 属性,其中包含该主机原型所属的父 LLD 规则原型。
selectInterfaces query 返回一个 interfaces 属性,其中包含主机原型的自定义接口。
selectGroupLinks query 返回一个 groupLinks 属性,其中包含主机原型的组链接。
selectGroupPrototypes query 返回一个 groupPrototypes 属性,其中包含主机原型的组原型。
selectInheritedTags query 返回一个 inheritedTags 属性,其中包含位于已链接模板上的标签。
selectMacros query 返回一个 macros 属性,其中包含主机原型宏。
selectParentHost query 返回一个 parentHost 属性,其中包含该主机原型所属的主机。
selectTags query 返回一个 tags 属性,其中包含主机原型标签。
selectTemplates query 返回一个 templates 属性,其中包含链接到该主机原型的模板。

支持 count
sortfield string/array 按给定属性对结果进行排序。

可选值:hostidhostnamestatusdiscovered
countOutput boolean 这些参数在参考说明中进行了描述。
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) 返回以下之一:

  • 对象数组;
  • 如果使用了 countOutput 参数,则返回检索到的对象数量。

示例

从 LLD 规则中获取主机原型

从 LLD 规则中获取所有主机原型,以及它们的组链接、组原型和标签。

请求

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

响应:

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

另请参阅

来源

ui/include/classes/api/services/CHostPrototype.php 中的 CHostPrototype::get()。