Графы
Графы являются описаниями автоматизаций в системе Атом.Порт. Согласно им выполняются задачи конфигурирования удалённых компьютеров и сохраняется некоторая информация о них.
Документ разъясняет принятый синтаксис сериализации графов версии 2.
5. Передача значений
💾 Актуально для версии Атом.Порт: 63ef9982
Спецификации значений
Описания параметры узлов могут содержать указания на данные времени исполнения, т. е. значения, не известные в момент написания графа. Такие значения передаются в виде специальных строк-спецификаций, состоящих из типа данных, отделённого двоеточием от пути к конкретному значению:
setting:group.name— параметрnameгруппы настроекgroup(о настройках см. раздел про специальные файлы).obj_ap:field1.field ... fieldN— поле объектаAutoProcess.obj_ws:field1.field2 ... fieldN— поле объектаWorkstation.
👉 Спецификации
obj_*требуют осторожности в обращении и могут быть изменены в будующем.
Спецификации раскрываются в значения каждый раз в момент запуска узла в составе автоматизации.
Передача значений состояниям SaltStack
Для передачи значений, включая указываемые при помощи спецификаций, в формулы SaltStack, используйте аргумент pillar. Это стандартный механизм, позволяющий получить и обработать значение в состоянии при помощи шаблонизатора из специального объекта с интерфейсом словаря pillar. Пример передачи значения в описании узла:
create_shared_folder:
description: Создание общего каталога для доступа к данным в виртуальной машине
unit_type: Command
unit_data:
function: state.apply
args:
- states.postconfigurated.kvm_created.linux_samba_shared
kwargs:
pillar:
domain_name: setting:install.domain_name
minion_type: linux
В формуле linux_samba_shared.yaml значение может быть получено так:
type_domain:
test.show_notification:
- text: Domain: {{ pillar.get('domain_name') }}
...