ansible - jinja模板的变量整数和增量值的Ansible循环
问题描述
我有一个可靠的剧本,我想循环一个整数并为每个创建的文件增加一个值,就像这样:
file_a :
name = a
number = 20
file_b
name = b
number = 21
剧本.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
神社.j2
name = {{ item }}
number =
我有一个使用键、值的 dict 的解决方案,但我不想修改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
推荐阅读
- java - 一种方法中的多个布尔测试
- ios - 如何更改模态演示ios13的背景颜色?
- android - 启动 AVD Android 10.0 API 29 时 Windows 10 蓝屏死机
- python - 如何从python字符串中提取日期
- azure - 如何在应用服务计划中的应用之间分配资源
- python - 多类分割 UNet 给出了意想不到的输出
- r - 我可以使用 lm 的多个子集创建一个带有 geom_smooth 的 lm 吗?
- c - 我没有得到此代码的输出(反转字符串)。谁能告诉我为什么?
- android - 如何防止 gms.Task 的内存泄漏?
- python - 创建范围内缺失的指数列表