无法使用ini插件读取此文件。
$ cat hosts
[webservers]
www[01:50].example.com
戏剧
- hosts: localhost
tasks:
- debug:
msg: "{{ item }}"
with_ini:
- '.* section=webservers file=hosts re=True'
给予
ok: [localhost] => (item=11].example.com) => {
"msg": "11].example.com"
}
是否可以生成这样的主机列表?
[webservers]
www01.example.com
www02.example.com
www03.example.com
www04.example.com
www05.example.com
www06.example.com
答案 0 :(得分:1)
Q:“是否可以生成类似...的主机列表?”
A:是的。使用template。例如
$ cat hosts
[webservers]
www[01:50].example.com
$ cat play.yml
- hosts: localhost
vars:
my_group: webservers
tasks:
- template:
src: hosts-template.j2
dest: /etc/ansible/hosts-webservers
$ cat hosts-template.j2
[{{ my_group }}]
{% for my_host in groups[my_group] %}
{{ my_host }}
{% endfor %}
注释
hosts
清单库存文件位于非标准位置(即不在/etc/ansible/hosts
中),则在启动剧本时ansible-playbook -i /path/to/inventory/hosts play.yml