使用 saltstack 从列表中检查谷物
Checking grains out of list with saltstack
我想检查是否已经安装了特定版本的程序。
因此,我得到了一个状态文件:
{% set rvs = ['1113','1278'] %}
{% for rv in rvs %}
{% if ('r{{ rv }}' not in grains.get('cat12', [])) %}
... install it ...
{% else %}
... do nothing ...
{% endif %}
{% endfor %}
我的谷物中有:
cat12:
- r1113
我希望“1278”已安装并且列表项“1113”不会触发任何内容,但即便如此也会再次安装...
没有在{%
和%}
中使用{{
和}}
这样的语法。 {%
和 %}
里面的东西已经是 Jinja。只需使用 ~
运算符连接字符串文字和字符串变量。
{% if 'r' ~ rv not in grains.get('cat12', []) %}
或者您可以使用格式过滤器:
{% if 'r%s'|format(rv) not in grains.get('cat12', []) %}
我想检查是否已经安装了特定版本的程序。 因此,我得到了一个状态文件:
{% set rvs = ['1113','1278'] %}
{% for rv in rvs %}
{% if ('r{{ rv }}' not in grains.get('cat12', [])) %}
... install it ...
{% else %}
... do nothing ...
{% endif %}
{% endfor %}
我的谷物中有:
cat12:
- r1113
我希望“1278”已安装并且列表项“1113”不会触发任何内容,但即便如此也会再次安装...
没有在{%
和%}
中使用{{
和}}
这样的语法。 {%
和 %}
里面的东西已经是 Jinja。只需使用 ~
运算符连接字符串文字和字符串变量。
{% if 'r' ~ rv not in grains.get('cat12', []) %}
或者您可以使用格式过滤器:
{% if 'r%s'|format(rv) not in grains.get('cat12', []) %}