Jinja模板字典/列表过滤器“contains”或“like” - Saltstack
问题描述:
我想过滤包含或以'foo_'开头并忽略列表中的其他值的值。Jinja模板字典/列表过滤器“contains”或“like” - Saltstack
值(不能修改):
TEST:
- foo_a
- foo_b
- bar_a
- bar_b
- test_c
模板:
{% for value in grains['TEST'] %}
- do something with value that contains "foo_"
{% endfor %}
我该怎么办呢?
我试着用:
{% for value in grains['TEST']|map(^foo_) %}
- do something with value that contains "foo_"
{% endfor %}
=>没有成功
答
假设每个值是一个字符串(这似乎是这种情况),你应该能够使用标准startswith
方法字符串,如{% if value.startswith('foo_') %}
'{%for grain in'['TEST'] if value.startswith('foo_')%} - do something {%endfor%}' –