SaltStack:条件包括:如果为空则错误

时间:2019-06-19 13:21:55

标签: salt-stack

我有一个条件包含,如下所示:

include:
{% if CONDITION-A %}
  - foo.bar
{% endif %}
{% if CONDITION-B %}
  - blu.bla
{% endif %}

这在大多数情况下都有效。

但是如果CONDITION-A和CONDITION-B为假,则失败。

如何处理?

2 个答案:

答案 0 :(得分:0)

我现在使用此模式:

include:
  - dummy
{% if CONDITION-A %}
  - foo.bar
{% endif %}
{% if CONDITION-B %}
  - blu.bla
{% endif %}

dummy.sls:

dummy-no-op:
  test.nop

不好,但是可以。

欢迎更好(更简单,更明显)的答案。

Docs for test.nop

答案 1 :(得分:0)

这也很丑陋,但是您可以将整个include块包装在if条件中,以检查CONDITION-ACONDITION-B是否为真:

{% if CONDITION-A or CONDITION-B %}
include:
  {% if CONDITION-A %}
  - foo.bar
  {% endif %}
  {% if CONDITION-B %}
  - blu.bla
  {% endif %}
{% endif %}

这样,如果两个条件均为假,jinja将删除include块