Графы

3. Словарь узлов nodes

💾 Актуально для версии Атом.Порт: 63ef9982

Значение словаря nodes

Словарь узлов nodes содержит пары ключ-значение, где ключом является название определяемого узла, а значением — объект, определяющий свойства узла. Объект может содержать следующие поля (ключи):

Поле Обязательное Тип Значение
description   Строка Человекочитаемое описание узла.
unit_type Строка Тип узла.
unit_data   Словарь Параметры, специфичные для данного unit_name.
retry_limit   Целое число Количество повторных запусков узла в случае неуспешного выполнения до того, как узел будет помечен неуспешным 🔴.

Типы узлов

Следующие типы узлов могут быть указаны в качестве значения поля unit_type.

UnitAutoProcess

Запускает другую автоматизации. Текущая автоматизация становится на паузу.

Допустимые ключи, которые передаются unit_kwarg узла:

Поле Обязательное Тип Значение
graph_name Строка Название графа, который будет запущен.
timeout   Целое число Время ожидания автоматизации. Когда истекает, узел помечается неуспешным 🔴, если автоматизация ещё не выполнилась.

UnitCommand

Запускает функций модулей исполнения SaltStack. Это основные узлы для конфигурирования рабочих станций

Допустимые ключи, которые передаются unit_data узла:

Поле Обязательное Тип Значение
function Словарь

Название функции модуля исполнения SaltStack в формате модуль.функция, пример: test.ping

args   Список

Позиционные аргументы для передачи функции.

kwargs   Словарь

Именованные аргументы для передачи функции.

minion_type Строка [windows|linux|helper|active|master]

Тип миньона рабочей станции, для которого запускается функция.

active выбирает текущий активный с наибольшей продолжительностью активности (как правило хост, а не виртуальная машина).

master выбирает сервер, к которому подключена рабочая станция.

timeout

 

Целое число

Время ожидания исполнения команды в секундах.

👉 При применении состояний функцией state.apply для передачи значений в формулу SaltStack используйте именованный аргумент pillar, имеющий формат словаря.

UnitEnd

Завершает путь. Конечный узел, сток. Обычно инженеру не требуется определять узлы такого типа самостоятельно.

UnitFail

Безусловно устанавливает вес входящей дуги в бесконечность. Преимущественно для отладки.

UnitGroup

Добавляет и удаляет рабочую станцию из заданных групп.

Допустимые ключи, которые передаются unit_data узла:

Поле Обязательное Тип Значение
groups * Список строк Группы для изменения, указываемые иерархическими именами вида /Родительская группа/Название целевой группы.
action * Строка [add|remove] Действие (добавить или удалить рабочую станцию из группы)

UnitIF

Условный оператор, производящий сравнение переменных Атом.Порт и литералов. Устанавливает вес входящей дуги в зависимости от результата.

Допустимые ключи, которые передаются unit_data узла:

Поле Обязательное Тип Значение
op * Строка [eq|ne|gt|ge|lt|le|in|notin] Оператор для сравнения
val_1 * Литерал Левый операнд, значение или путь идентификатор Атом.Порт
val_2 * Литерал Правый операнд, значение или путь идентификатор Атом.Порт

UnitMessage

Отправляет уведомление в Телеграм. Интеграция с мессенджером должна быть настроена.

Допустимые ключи, которые передаются unit_data узла:

Поле Обязательное Тип Значение
message * Строка Текст сообщения

UnitPause

Ожидает перед проходом дальше.

Допустимые ключи, которые передаются unit_data узла:

Поле Обязательное Тип Значение
delay * Целое число Кол-во секунд для ожидания

UnitRunner

Запускает функции модулей бегунков (раннеров) SaltStack.

Допустимые ключи, которые передаются unit_data узла: аналогично UnitCommand, однако function должнен указывать на функцию модуля бегунков, например state.orchestrate.

UnitSet

Устанавливает значения переменных Атом.Порт.

Допустимые ключи, которые передаются unit_data узла:

Поле Обязательное Тип Значение
target * строка Идентификатор переменной Атом.Порт (доступно хранилище ключ-значение)
value * строка Устанавливаемое значение

UnitStart

Начинает путь. Начальный узел, исток. Обычно инженеру не требуется определять узлы такого типа самостоятельно.

UnitSystemMessage

Отправляет уведомление через интерфейс Атом.Порт.

Допустимые ключи, которые передаются unit_data узла:

Поле Обязательное Тип Значение
message * Строка Текст сообщения
message_type * Целое число [1-4] Тип отправляемого уведомления

UnitWaitingMinion

Ожидает доступности миньона указанного типа. Полезно при перезагрузке рабочей станции в другую операционную систему.

Допустимые ключи, которые передаются unit_data узла:

Поле Обязательное Тип Значение
minion_type * Строка [windows|linux|helper|active|master]

Тип миньона рабочей станции, для которого запускается функция, см. UnitCommand

timeout   Целое число Время ожидания миньона в секундах до того, как узел будет помечен неуспешным 🔴
activity_timeout   Целое число Временно́е окно в секундах, учитывающее прошлую активность миньона. По умолчанию 120 сек.