[comment]: # translation:outdated

[comment]: # ({c572a02a-c572a02a})
# host.update

[comment]: # ({/c572a02a-c572a02a})

[comment]: # ({12e31652-12e31652})
### Описание

`object host.update(объект/массив hosts)`

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

::: noteclassic
Этот метод доступен только пользователям с типом доступа *Администратор* и *Супер-администратор*.
Разрешения на вызов метода можно отозвать в настройках ролей пользователя.
Дополнительную информацию см. в разделе [Роли пользователей](/manual/web_interface/frontend_sections/administration/user_roles).
:::

[comment]: # ({/12e31652-12e31652})

[comment]: # ({6727520a-3a8eac6a})
### Параметры

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

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

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

В дополнение к [стандартным свойствам узла сети](object#узел-сети) метод
принимает следующие параметры.

|Параметр|[Тип](/manual/api/reference_commentary#типы-данных)|Описание|
|--|--|------|
|groups|объект/массив|[Группы](/manual/api/reference/hostgroup/object#группа-узлов-сети) узлов сети, на которые необходимо заменить текущие группы, к которым принадлежит узел сети.<br><br>Для групп узлов сети должно быть определено свойство `groupid `. Привязка ко всем группам, не указанным в запросе, будет удалена.|
|interfaces|объект/массив|[Интерфейсы](/manual/api/reference/hostinterface/object) узла сети, на которые необходимо заменить текущие интерфейсы.<br><br>Все интерфейсы, не указанные в запросе, будут удалены.|
|tags|объект/массив|[Теги](/manual/api/reference/host/object#тег-узла-сети) узла сети, на которые необходимо заменить текущие теги.<br><br>Все теги, не указанные в запросе, будут удалены.|
|inventory|объект|Свойства [инвентарных данных](/manual/api/reference/host/object#host_inventory) узла сети.|
|macros|объект/массив|[Пользовательские макросы](/manual/api/reference/usermacro/object) для замены текущих пользовательских макросов.<br><br>Все макросы, не указанные в запросе, будут удалены.|
|templates|объект/массив|[Шаблоны](/manual/api/reference/template/object), чтобы заменить текущие связанные шаблоны. Привязка ко всем шаблонам, не указанным в запросе, будет удалена.<br><br>Для шаблонов должно быть определено свойство `templateid`.|
|templates\_clear|объект/массив|[Шаблоны](/manual/api/reference/template/object), для которых необходимо удалить привязку к узлу сети и удалить составляющие шаблона с узла сети.<br><br>Для шаблонов должно быть определено свойство `templateid`.|

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

[comment]: # ({/6727520a-3a8eac6a})

[comment]: # ({d166b99b-d166b99b})
### Возвращаемые значения

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

[comment]: # ({/d166b99b-d166b99b})

[comment]: # ({b41637d2-b41637d2})
### Примеры

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({c3fe23f1-ce50c453})
#### Активация узла сети

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

Запрос:

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

Ответ:

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

[comment]: # ({/c3fe23f1-ce50c453})

[comment]: # ({f7b507a7-bea1db7e})
#### Отвязка шаблонов

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

Запрос:

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

Ответ:

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

[comment]: # ({/f7b507a7-bea1db7e})

[comment]: # ({6e297824-98dcfd68})
#### Обновление макросов хоста

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

Запрос:

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

Ответ:

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

[comment]: # ({/6e297824-98dcfd68})

[comment]: # ({2a58e37a-da99f3b8})
#### Обновление инвентаризации узла сети

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

Запрос:

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

Ответ:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10387"
        ]
    },
    "id": 1
}
```

[comment]: # ({/2a58e37a-da99f3b8})

[comment]: # ({54c37e2f-5cc5d950})
#### Обновление тегов хоста

Заменить все теги хоста на новый.

Запрос:

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "tags": {
            "tag": "OS",
            "value": "RHEL 7"
        }
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Ответ:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10387"
        ]
    },
    "id": 1
}
```

[comment]: # ({/54c37e2f-5cc5d950})

[comment]: # ({6bea1aed-f2841bd8})
#### Обновление шифрования узла сети

Обновить узел сети "10590", чтобы шифрование PSK использовалось только для соединений от узла сети к серверу Zabbix, и поменять идентификатор PSK и ключ PSK.
Учтите, что для узла сети должно быть [предварительно настроено использование PSK](/manual/encryption/using_pre_shared_keys#configuring-psk-for-server-agent-communication-example).

Запрос:

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10590",
        "tls_connect": 1,
        "tls_accept": 2,
        "tls_psk_identity": "PSK 002",
        "tls_psk": "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Ответ:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "hostids": [
            "10590"
        ]
    },
    "id": 1
}
```

[comment]: # ({/6bea1aed-f2841bd8})

[comment]: # ({29f34c97-23501347})
### Смотрите также

- [host.massadd](массовое добавление)
- [host.massupdate](массовое обновление)
- [host.massremove](массовое удаление)
- [Группа хостов](/manual/api/reference/hostgroup/object#группа_узлов_сети)
- [Шаблон](/manual/api/reference/template/object#шаблон)
- [Пользовательский макрос](/manual/api/reference/usermacro/object#макрос_узла_сети)
- [Интерфейс хоста](/manual/api/reference/hostinterface/object#интерфейс_узла_сети)
- [Инвентаризация хоста](object#инвентаризация_узла_сети)
- [Тег хоста](object#тег_узла_сети)

[comment]: # ({/29f34c97-23501347})

[comment]: # ({a39b5a01-a39b5a01})
### Источник

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

[comment]: # ({/a39b5a01-a39b5a01})
