[comment]: # ({2ed6e81f-2ed6e81f})
# usermacro.update

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

[comment]: # ({418ab7e0-23e3a148})
### Описание

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

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

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

[comment]: # ({/418ab7e0-23e3a148})

[comment]: # ({495251b4-f8ce947c})
### Параметры

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

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

[comment]: # ({/495251b4-f8ce947c})

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

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

[comment]: # ({/5e19fc38-5e19fc38})

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

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

[comment]: # ({985ee438-bc8ce678})
#### Изменение значения макроса узла сети

Измените значение макроса узла сети на "public".

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

```json
{
    "jsonrpc": "2.0",
    "method": "usermacro.update",
    "params": {
        "hostmacroid": "1",
        "value": "public"
    },
    "id": 1
}
```

Ответ:

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

[comment]: # ({/985ee438-bc8ce678})

[comment]: # ({6948283e-129f453e})
#### Изменение значения макроса, созданного правилом обнаружения

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

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

```json
{
    "jsonrpc": "2.0",
    "method": "usermacro.update",
    "params": {
        "hostmacroid": "1",
        "value": "new-value",
        "automatic": "0"
    },
    "id": 1
}
```

Ответ:

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

[comment]: # ({/6948283e-129f453e})

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

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

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