Объект пользовательского макроса

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

Глобальный макрос

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

Property Type Description
globalmacroid ID ID глобального макроса.

Поведение свойства:
- только для чтения
- обязательно для операций обновления
description string Описание макроса.
macro string Строка макроса.

Поведение свойства:
- обязательно для операций создания
type integer Тип макроса.

Возможные значения:
0 - (по умолчанию) текстовый макрос;
1 - секретный макрос;
2 - секрет из хранилища.
value string Значение макроса.

Поведение свойства:
- только для записи если type установлено в "Secret macro"
- обязательно для операций создания

Макрос узла сети

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

Property Type Description
hostmacroid ID ID макроса.

Property behavior:
- read-only
- required for update operations
automatic integer Определяет, управляется ли макрос правилом обнаружения.

Possible values:
0 - (default) Макрос управляется пользователем;
1 - Макрос управляется правилом обнаружения.

Пользователю не разрешено создавать автоматический макрос.
Чтобы обновить автоматический макрос, его нужно преобразовать в ручной.
config object/array Конфигурация макроса, отвечающая за то, как макрос отображается в Мастере узлов сети.
description string Описание макроса.
hostid ID ID узла сети, прототипа узла сети или шаблона, которому принадлежит макрос.

Property behavior:
- constant
- required for create operations
macro string Строка макроса.

Property behavior:
- required for create operations
type integer Тип макроса.

Possible values:
0 - (default) Текстовый макрос;
1 - Секретный макрос;
2 - Секрет из хранилища.
value string Значение макроса.

Property behavior:
- write-only if type is set to "Secret macro"
- required for create operations

Настройка макроса

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

Свойство Type Описание
type integer Тип поля ввода макроса.

Возможные значения:
0 - Макрос не используется в мастере узла сети;
1 - Текстовое поле;
2 - Список;
3 - Флажок.

Поведение свойства:
- required
label string Метка для поля ввода макроса.

Поведение свойства:
- required, если type задан как "Textbox", "List" или "Checkbox"
description text Справочный текст, отображаемый рядом с полем ввода макроса. Поддерживается форматирование Markdown.
priority integer Позиция поля ввода макроса в списке макросов.

Если priority не задан, макрос добавляется в конец списка несгруппированных макросов.
required integer Отмечает макрос как обязательный.

Возможные значения:
0 - Необязательный;
1 - Обязательный.

Поведение свойства:
- supported, если type задан как "Textbox" или "List"
regex string Регулярное выражение для проверки пользовательского ввода в текстовом поле.

Поведение свойства:
- supported, если type задан как "Textbox"
section_name string Метка сворачиваемого раздела, в котором сгруппирован макрос.

Если section_name не задан, макрос не группируется. Несгруппированные макросы отображаются первыми; сгруппированные макросы отображаются ниже, упорядоченные по их priority в пределах каждого сворачиваемого раздела.
options text Строка JSON, определяющая элементы списка или значения флажка.

Для списков: массив объектов со свойствами value и text.
Пример: [{"value": "http", "text": "HTTP"}, {"value": "https", "text": "HTTPS"}]

Для флажков: объект со свойствами checked и unchecked.
Пример: {"checked": true, "unchecked": false}

Поведение свойства:
- required, если type задан как "List" или "Checkbox"