[comment]: # aside: 1

[comment]: # ({ee4a2645-28092341})
# Объект пользовательского макроса

Следующие объекты напрямую связаны с API `usermacro`.

[comment]: # ({/ee4a2645-28092341})

[comment]: # ({0a76e75e-e654cd12})
### Глобальный макрос

Объект глобального макроса имеет следующие свойства.

|Property|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|globalmacroid|ID|ID глобального макроса.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *read-only*<br>- *required* for update operations|
|description|string|Описание макроса.|
|macro|string|Строка макроса.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* for create operations|
|type|integer|Тип макроса.<br><br>Possible values:<br>0 - *(default)* Текстовый макрос;<br>1 - Секретный макрос;<br>2 - Секрет хранилища.|
|value|string|Значение макроса.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *write-only* if `type` is set to "Secret macro"<br>- *required* for create operations|

[comment]: # ({/0a76e75e-e654cd12})

[comment]: # ({52a5aa5d-5a3a9f9f})
### Макрос узла сети

Объект макроса узла сети определяет макрос, доступный на узле сети, прототипе узла сети или шаблоне. Он имеет следующие свойства.

|Property|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|hostmacroid|ID|ID макроса.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *read-only*<br>- *required* for update operations|
|automatic|integer|Определяет, управляется ли макрос правилом обнаружения.<br><br>Possible values:<br>0 - *(default)* Макрос управляется пользователем;<br>1 - Макрос управляется правилом обнаружения.<br><br>User is not allowed to create automatic macro.<br>To update automatic macro, it must be [converted to manual](/manual/api/reference/usermacro/update#change-macro-value-that-was-created-by-discovery-rule).|
|config|object/array|[Конфигурация макроса](#macro-configuration), отвечающая за то, как макрос отображается в [Мастере узлов сети](/manual/config/hosts/host_wizard#configure-host).|
|description|string|Описание макроса.|
|hostid|ID|ID узла сети, прототипа узла сети или шаблона, которому принадлежит макрос.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *constant*<br>- *required* for create operations|
|macro|string|Строка макроса.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* for create operations|
|type|integer|Тип макроса.<br><br>Possible values:<br>0 - *(default)* Текстовый макрос;<br>1 - Секретный макрос;<br>2 - Секрет из хранилища.|
|value|string|Значение макроса.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *write-only* if `type` is set to "Secret macro"<br>- *required* for create operations|

[comment]: # ({/52a5aa5d-5a3a9f9f})

[comment]: # ({17133911-2d3baa1d})
#### Конфигурация макроса

Объект конфигурации макроса определяет, как макрос отображается в [Мастере узла сети](/manual/config/hosts/host_wizard#configure-host).

|Property|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|type|integer|Тип поля ввода макроса.<br><br>Возможные значения:<br>0 - Макрос не используется в Мастере узла сети;<br>1 - Текстовое поле;<br>2 - Список;<br>3 - Флажок.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required*|
|label|string|Метка для поля ввода макроса.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* если `type` установлено в "Textbox", "List" или "Checkbox"|
|description|text|Справочный текст, отображаемый рядом с полем ввода макроса. Поддерживает форматирование Markdown.|
|priority|integer|Позиция поля ввода макроса в списке макросов.<br><br>Если `priority` не задан, макрос добавляется в конец списка несгруппированных макросов.|
|required|integer|Помечает макрос как обязательный.<br><br>Возможные значения:<br>0 - Необязательный;<br>1 - Обязательный.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* если `type` установлено в "Textbox" или "List"|
|regex|string|Регулярное выражение для проверки ввода пользователя в поле текстового ввода.<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *supported* если `type` установлено в "Textbox"|
|section\_name|string|Метка сворачиваемого раздела, в котором сгруппирован макрос.<br><br>Если `section_name` не задан, макрос не сгруппирован. Несгруппированные макросы отображаются первыми; сгруппированные макросы отображаются ниже, упорядоченные по их `priority` внутри каждого сворачиваемого раздела.|
|options|text|Строка JSON, определяющая элементы списка или значения флажка.<br><br>Для списков: массив объектов со свойствами `value` и `text`.<br>Пример: `[{"value": "http", "text": "HTTP"}, {"value": "https", "text": "HTTPS"}]`<br><br>Для флажков: объект со свойствами `checked` и `unchecked`.<br>Пример: `{"checked": true, "unchecked": false}`<br><br>[Property behavior](/manual/api/reference_commentary#property-behavior):<br>- *required* если `type` установлено в "List" или "Checkbox"|

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