hostprototype.update

Описание

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

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

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

Параметры

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

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

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

Parameter Type Description
groupLinks array Связи групп, которые заменят текущие связи групп на прототипе узла сети.

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

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

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

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

Поведение параметра:
- поддерживается, если custom_interfaces объекта прототипа узла сети установлено в "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.