hostprototype.create

Описание

object hostprototype.create(объект/массив hostPrototypes)

Этот метод позволяет создавать новые прототипы узлов сети.

Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(object/array) Прототипы узлов сети для создания.

В дополнение к стандартным свойствам прототипа узла сети, метод принимает следующие параметры.

Параметр Тип Описание
groupLinks array Связи с группами, которые будут созданы для прототипа узла сети.

Поведение параметра:
- обязательный
ruleid ID ID правила LLD, к которому относится прототип узла сети.

Поведение параметра:
- обязательный
groupPrototypes array Прототипы групп, которые будут созданы для прототипа узла сети.
macros object/array Пользовательские макросы, которые будут созданы для прототипа узла сети.
tags object/array Теги прототипа узла сети.
interfaces object/array Пользовательские интерфейсы прототипа узла сети.
templates object/array Шаблоны, которые будут привязаны к прототипу узла сети.

Для шаблонов должно быть определено только свойство templateid.

Возвращаемые значения

(объект) Возвращает объект, который содержит ID созданных прототипов узлов сети, указанных в свойстве hostids. Порядок возвращаемых ID совпадает с порядком переданных прототипов узлов сети.

Примеры

Создание прототипа узла сети

Создайте прототип узла сети "{#VM.NAME}" в правиле LLD "23542" с прототипом группы "{#HV.NAME}", парой тегов "datacenter": "{#DATACENTER.NAME}" и пользовательским интерфейсом SNMPv2 127.0.0.1:161 с community {$SNMP_COMMUNITY}. Свяжите его с группой узлов сети "2".

Запрос:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.create",
    "params": {
        "host": "{#VM.NAME}",
        "ruleid": "23542",
        "custom_interfaces": "1",
        "groupLinks": [
            {
                "groupid": "2"
            }
        ],
        "groupPrototypes": [
            {
                "name": "{#HV.NAME}"
            }
        ],
        "tags": [
            {
                "tag": "datacenter",
                "value": "{#DATACENTER.NAME}"
            }
        ],
        "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
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10103"
        ]
    },
    "id": 1
}

См. также

Источник

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