我想在defaults/main.yml中生成一個ip地址列表(使用最後8位的範圍,所以120-190轉換爲xxx120 - xxx190)角色,並在以後使用它來創建新的網絡接口並生成新的配置文件。我試過這個方法:在jinja模板內使用給定範圍創建ip的列表
默認/ main.yml:
ip_list: "{%for address_end in range(50,99)%} 192.168.0.{{address_end}}{%endfor%}" conf_list: "{%for ip in ip_list%}server {{ip}}:6666 {%endfor%}"
,然後用它在模板
template.conf.j2:
{% for conf_line in conf_list %}
{{conf_line}}
{% endfor %}
和所有我在生成的配置文件是:
s
e
r
v
e
r
:
6
6
6
6
s
e
r
v
e
r
1
:
6
所以我的猜測是,我不是生成列表,而只是一個很長的字符串,當我在template.conf.j2使用循環我遍歷單個字符。我嘗試使用this問題的答案,但我得到的只是語法錯誤。任何想法可以幫助我?
替代aproach似乎很酷,但出於好奇,如何將一個格式變量格式作爲JSON列表在我的情況? – Sackhorn
請按照我在答案中的示例列表:在IP地址周圍放置單引號,在每個地址後面放置逗號,並在兩側放置方括號。 –
我得到如何JSON列表看起來像但我有問題與忍者模板語法,我想知道是否(以及如何)這是適用於我的情況:) – Sackhorn