Назад | Перейти на главную страницу

Saltstack Доступ к столбу внутри соли ['cmd.run']

Я пытаюсь настроить состояние, которое будет смотреть на домашние каталоги системы и перебирать их, чтобы проверять наличие определенных файлов. Для этого я изначально написал:

{% for userdir in salt['cmd.run']('ls /home').split('\n') %}

для моего цикла, и это отлично работает. Однако я хочу сделать его легко конфигурируемым для альтернативных сред, поэтому я решил хранить местоположения домашних каталогов внутри столба и изменил строку на:

{% for userdir in salt['cmd.run']('ls pillar['home']').split('\n') %}

что дало Jinja syntax error: expected token 'comma', got 'home'; я предполагаю из-за двойных наборов встроенных 'с

поэтому я попробовал:

{% for userdir in salt['cmd.run']('ls pillar["home"]').split('\n') %}

который дал мне: Rendering SLS failed: mapping values are not allowed here;

Я просмотрел столько ситуаций с петлями столба, сколько смог, чтобы попытаться найти пример, над которым я мог бы работать, но, похоже, его не существует.

Можно ли вызвать информацию о столбе из ls? Или есть лучший способ достичь этой цели?

Любая помощь будет оценена.

Вам просто нужно выполнить сопоставление вне строки: {% for userdir in salt['cmd.run']('ls '+pillar['home']).split('\n') %}