Saltstack 访问 salt['cmd.run'] 内的支柱

Saltstack 访问 salt['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 中调用 pillar 信息?或者有更好的方法来实现这个目标吗?

任何帮助,将不胜感激。

答案1

您只需在字符串之外进行映射: {% for userdir in salt['cmd.run']('ls '+pillar['home']).split('\n') %}

相关内容