如何解决Ansible如何从列表中读取所有元素
我正在使用Ansible ini_file将带有从列表([dns_a,dns_b,dns_c ....])中读取的元素的行添加到我的配置文件(test.txt)中。因此,输出配置文件(test.txt)应该如下所示:
[dns_name]
DNS.0=dns_a
DNS.1=dns_b
DNS.2=dns_c
......
我的代码如下:
var:
a_list: [dns_a,dns_b dns_c........]
- name: Adding lines to test.txt
ini_file:
dest: "/path_to_file/test.txt"
section: dns_name
option: DNS.{{item}}
value: "{{a_list[{{item}}]}}" >>>>>>This line does not work.
with_sequence: start=0 end={{a_list|length}} stride=1
在“值:”行中,我可以引用诸如{{a_list [0]}}之类的特定元素。如何阅读a_list中的所有元素?我的a_list来自Jenkins,因此a_list中的元素数量可能会有所不同,并取决于用户输入。但是格式为[string1,string2,string3 ....]。
更新:以下更新的一个正在工作:
var:
a_list: [dns_a,dns_b dns_c........]
- name: Adding lines to test.txt
ini_file:
dest: "/path_to_file/test.txt"
section: dns_name
option: DNS.{{item.0}}
value: "{{item.1}}"
with_indexed_items: "{{a_list}}"
解决方法
您可以做这样的事情
var:
a_list: [dns_a,dnsB,dns_c........]
- name: Adding lines to test.txt
ini_file:
dest: "/path_to_file/test.txt"
section: dns_name
option: DNS.{{item}}
value: "{{a_list[item]}}"
loop: "{{ range(0,(a_list)| length)|list }}"
输出将是这样
[dns_name]
DNS.0 = dns_a
DNS.1 = dnsB
DNS.2 = dns_c........
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。