我正在尝试生成一个 Ansible 模板,该模板按字母顺序而不是数字顺序递增。有没有类似的功能range(x)
那可以帮助我吗?
伪代码示例
{% for letter in range(a, d) %}
{{ letter }}
{% endfor %}
预期产出
a
b
c
d
或者,有没有办法将数字转换为 Ansible 中对应的字母顺序?
{% for i in range(6) %}
{{ convert(i) }}
{% endfor %}
UPDATE
对于那些好奇的人,以下是我最终应用@zigam 解决方案的方法。目标是为主机组中的每个主机创建 xml 标签。
在我的角色中默认:
ids: "ABCDEFGHIGJKLMNPQRSTUVWXYZ"
在我的模板中:
{% for host in groups['some_group'] %}
<host-id="{{ ids[loop.index] }}" hostName="{{ host }}" port="8888" />
{% endfor %}
您可以迭代字符串:
{% for letter in 'abcd' %}
{{ letter }}
{% endfor %}
如果您想迭代一定范围的字母表:
{% set letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' %}
{% for letter in letters[:6] %} {# first 6 chars #}
{{ letter }}
{% endfor %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)