我想检查salt文件系统(salt://)中是否存在文件,并根据该文件添加指令。 我确切地说,我使用gitfs作为salt文件系统中的挂载点,并且不使用/ srv目录。
更具体地说,我想做类似的事情:
{% if salt['file.directory_exists']('salt://a_directory') %}
file.recurse:
- name: dest
- source: salt://a_directory
- template: jinja
{% endif %}
但似乎没有用。
答案 0 :(得分:0)
如果事先知道位置file_roots,例如:
file_roots:
base:
- /salt/states
salt://a_directory
将映射到/salt/states/a_directory
因此你可以使用:
{% if not salt['file.directory_exists' ]('/salt/states/a_directory') %}
...
答案 1 :(得分:0)
我想加载包含安装了pkg.kg的软件包列表的yaml文件,但前提是yaml在主目录上(文件名由变量构造)。
我正在使用salt.modules.cp.list_master:
# Search path on the master:
{% set found = salt.cp.list_master(prefix='my/path/example.yaml') | count %}
{% if found %}
{# Do something… #}
{% endif %}
如果要检查目录,可以使用以下方法:
{% set found = salt.cp.list_master_dirs(prefix='my/path') | count %}