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

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

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

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

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

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

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

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

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

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

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

Помимо [стандартных свойств узла сети](object#host), метод
принимает следующие параметры.

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

[comment]: # ({/7c7a9b0d-3a8eac6a})

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

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

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

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

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

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

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

[Запрос](/manual/api#выполнение-запросов):

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

Ответ:

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

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

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

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

[Запрос](/manual/api#performing-requests):

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

Ответ:

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

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

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

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

[Запрос](/manual/api#performing-requests):

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

Ответ:

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

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

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

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

[Запрос](/manual/api#performing-requests):

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

Ответ:

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

[comment]: # ({/72eb8ecc-da99f3b8})

[comment]: # ({603ba164-5cc5d950})
#### Обновление тегов узла сети

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

[Запрос](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "tags": {
            "tag": "os",
            "value": "rhel-7"
        }
    },
    "id": 1
}
```

Ответ:

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

[comment]: # ({/603ba164-5cc5d950})

[comment]: # ({58eba4cd-ae2d89bf})
#### Обновление обнаруженных макросов узла сети

Преобразование созданного правилом обнаружения "автоматического" макроса в "ручной" и изменение его значения на "new-value".

[Запрос](/manual/api#выполнение_запросов):

```json
{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "macros": {
            "hostmacroid": "5541",
            "value": "new-value",
            "automatic": "0"
        }
    },
    "id": 1
}
```

Ответ:

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

[comment]: # ({/58eba4cd-ae2d89bf})

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

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

[Запрос](/manual/api#performing-requests):

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

Ответ:

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

[comment]: # ({/1948c7c9-f620e859})

[comment]: # ({78cf261e-23501347})
### См. также

-   [host.massadd](massadd)
-   [host.massupdate](massupdate)
-   [host.massremove](massremove)
-   [Группа узлов сети](/manual/api/reference/hostgroup/object#host-group)
-   [Шаблон](/manual/api/reference/template/object#template)
-   [Пользовательский макрос](/manual/api/reference/usermacro/object#hosttemplate-level-macro)
-   [Интерфейс узла сети](/manual/api/reference/hostinterface/object#host-interface)
-   [Инвентаризация узла сети](object#host-inventory)
-   [Тег узла сети](object#host-tag)
-   [Прокси](/manual/api/reference/proxy/object#proxy)
-   [Группа прокси](/manual/api/reference/proxygroup/object#proxy-group)

[comment]: # ({/78cf261e-23501347})

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

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

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