获取

描述

integer/array hostprototype.get(object parameters)

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

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

参数

(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 返回包含该主机原型所属 LLD 规则的 discoveryRule 属性。
selectDiscoveryRulePrototype query 返回包含该主机原型所属父级 LLD 规则原型的 discoveryRulePrototype 属性。
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 按指定属性对结果进行排序。

可能的值:hostid、host、name、status、discovered。
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",
                        "retries": "5"
                    }
                }
            ]
        }
    ],
    "id": 1
}

另请参阅

来源

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