hostprototype.update

Описание

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

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

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

Параметры

(object/array) Свойства прототипов узлов сети, которые необходимо обновить.

Свойство hostid должно быть определено для каждого прототипа узла сети, все остальные свойства являются необязательными. Будут обновлены только переданные свойства, все остальные останутся без изменений.

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

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

Поведение параметра:
- только для чтения для унаследованных объектов
groupPrototypes array Прототипы групп для замены существующих прототипов групп у прототипа узла сети.

Все прототипы групп, не указанные в запросе, будут удалены.

Поведение параметра:
- только для чтения для унаследованных объектов
macros object/array Пользовательские макросы для замены текущих пользовательских макросов.
Все макросы, не указанные в запросе, будут удалены.
tags object/array Теги прототипа узла сети для замены текущих тегов.
Все теги, не указанные в запросе, будут удалены.

Поведение параметра:
- только для чтения для унаследованных объектов
interfaces object/array Пользовательские интерфейсы прототипа узла сети для замены текущих интерфейсов.
Объект пользовательского интерфейса должен содержать все свои параметры.
Все интерфейсы, не указанные в запросе, будут удалены.

Поведение параметра:
- поддерживается, если custom_interfaces объекта Host prototype object установлено в значение "use host prototypes custom interfaces"
- только для чтения для унаследованных объектов
templates object/array Шаблоны для замены связанных в данный момент шаблонов.

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

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

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

Примеры

Отключение прототипа узла сети

Отключите прототип узла сети, то есть установите его статус в "1".

Запрос:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.update",
    "params": {
        "hostid": "10092",
        "status": 1
    },
    "id": 1
}

Ответ:

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

Обновление тегов прототипа узла сети

Замените теги прототипа узла сети новыми.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.update",
    "params": {
        "hostid": "10092",
        "tags": [
            {
                "tag": "datacenter",
                "value": "{#DATACENTER.NAME}"
            },
            {
                "tag": "instance-type",
                "value": "{#INSTANCE_TYPE}"
            }
        ]
    },
    "id": 1
}

Ответ:

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

Обновление пользовательских интерфейсов прототипа узла сети

Замените унаследованные интерфейсы пользовательскими интерфейсами прототипа узла сети.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "hostprototype.update",
    "params": {
        "hostid": "10092",
        "custom_interfaces": "1",
        "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": [
            "10092"
        ]
    },
    "id": 1
}

См. также

Источник

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