我有一个 ansible 剧本,我想循环一个整数并为每个创建的文件增加一个值,如下所示:
file_a :
name = a
number = 20
file_b
name = b
number = 21
playbook.yml
- name: Copy file from jinja template
template:
src: "jinja.j2"
dest: "/file_{{ item }}"
owner: "root"
group: "root"
with_items: "{{ jinja_var }}"
库存.yml
jinja_var:
- a
- b
jinja.j2
name = {{ item }}
number =
我有一个使用 key、value 的字典的解决方案,但我不想修改 inventory.yml,所以我可以通过 jinja 文件给出一个增量整数
最佳答案
使用loop_control 。例如模板
shell> cat templates/jinja.j2
name = {{ item }}
number = {{ index + offset }}
和剧本
shell> cat playbook.yml
- hosts: localhost
vars:
jinja_var: [a, b]
offset: 20
tasks:
- template:
src: jinja.j2
dest: "files/file_{{ item }}"
loop: "{{ jinja_var }}"
loop_control:
index_var: index
给予
shell> cat files/file_a
name = a
number = 20
shell> cat files/file_b
name = b
number = 21
关于Ansible 循环遍历 jinja 模板的变量整数和增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65339752/