我想将相同的Ansible模板写入两个不同的文件,一个文件中的值设置为True,另一个文件的值设置为False。
最好的方法是什么?我的直觉是尝试在template:
指令中传递一个值。但是,it seems like this is frowned upon。
一种方法是拥有两个不同的jinja文件,几乎完全相同的内容;一个值设置为True而另一个值设置为False。
另一种方法是定义变量,编写一个模板,然后使用set_fact
更改变量的值,然后编写第二个文件。这似乎有点麻烦。
另一种方法是让模板检测它呈现的文件名,不知何故?并基于该分支在模板中。
我一定错过了一些明显的东西。
答案 0 :(得分:0)
使用Ansible 2.x,您可以将vars:
用于任务:
---
- hosts: localhost
tasks:
- template: src=my_template.j2 dest=out1.txt
vars:
name: John
- template: src=my_template.j2 dest=out2.txt
vars:
name: Jane