hostprototype.get

Описание

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 Сортировать результат по указанным свойствам.

Возможные значения: 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"
                    }
                }
            ]
        }
    ],
    "id": 1
}

См. также

Исходный код

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