Sidebar

ru:manual:api:reference:host:update

host.update

Описание

объект host.update(объект/массив узлы сети)

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

Параметры

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

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

Обратите внимание, при обновлении технического имени узла сети также будет обновлено видимое имя узла сети (если оно не задано отдельно или пустое) значением технического имени узла сети.

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

Параметр Тип Описание
groups объект/массив Группы узлов сети, которые заменят текущие группы узлов сети в которые входят узлы сети.

У групп узлов сети должно быть задано свойство groupid. Все группы узлов сети, которые не перечислены в запросе, будут отсоединены.
interfaces объект/массив Интерфейсы узла сети, которые заменят текущие интерфейсы узла сети.

Все интерфейсы, которые не перечислены в запросе, будут удалены.
inventory объект Свойства инвентаризации узлов сети.
macros объект/массив Пользовательские макросы, которые заменят текущие макросы.

Все макросы, которые не перечислены в запросе, будут удалены.
templates объект/массив Шаблоны, которые заменят присоединенные в настоящий момент шаблоны. Все шаблоны, которые не перечислены в запроса, будут только отсоединены.

У шаблонов должно быть задано свойство templateid.
templates_clear объект/массив Шаблоны, которые отсоединятся и очистят узлы сети.

У шаблонов должно быть задано свойство templateid.
В отличие от Zabbix веб-интерфейса, когда name (видимое имя узла сети) идентично host (техническое имя узла сети), обновление свойства host через API не выполнит автоматическое обновление name. Оба эти свойства необходимо обновлять в явном виде.

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

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

Примеры

Активация узла сети

Активация мониторинга двух узлов, то есть изменение их состояния на значение 0.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10126",
        "status": 0
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

Ответ:

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

Отсоединение шаблонов

Отсоединение и очистка двух шаблонов с узла сети.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10126",
        "templates_clear": [
            {
                "templateid": "10124"
            },
            {
                "templateid": "10125"
            }
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

Ответ:

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

Обновление макросов узла сети

Замена всех макросов узла сети на два новых.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10126",
        "macros": [
            {
                "macro": "{$PASS}",
                "value": "password"
            },
            {
                "macro": "{$DISC}",
                "value": "sda"
            }
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

Ответ:

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

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

Изменение режима инвентаризации и добавление местоположения

Запрос:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "inventory_mode": 0,
        "inventory": {
            "location": "Latvia, Riga"
        }
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10387"
        ]
    },
    "id": 2
}

Смотрите также

Исходный код

CHost::update() в frontends/php/include/classes/api/services/CHost.php.