我尝试创建以下状态,但我不知道如何编写if子句?也许有人可以帮助我。我试图完成的是,如果存在具有目标主机名的文件,salt将获取配置文件,否则采用默认配置。
示例:
{% if ??? test -f ??? salt://ntpd/ntp.conf_{{ salt['grains.get']('host') }} %}
ntpd-config:
file.managed:
- name: /etc/ntp.conf
- source: salt://ntpd/ntp.conf_{{ salt['grains.get']('host') }}
- user: root
- group: root
- file_mode: 644
- require:
- ntpd-pkgs
{% else %}
ntpd-config:
file.managed:
- name: /etc/ntp.conf
- source: salt://ntpd/ntp.conf
- user: root
- group: root
- file_mode: 644
- require:
- ntpd-pkgs
{% endif %}
希望,有人可以帮助我。
提前致谢!
的Matthias
答案 0 :(得分:0)
我自己就找到了答案。
在文档中找到我可以定义多个来源。如果没有其他人存在,那么最后一个是默认值。
这现在有效:
ntpd-config:
file.managed:
- name: /etc/ntp.conf
- source:
- salt://ntpd/ntp.conf_{{ salt['grains.get']('host') }}
- salt://ntpd/ntp.conf