2016-07-28 53 views
0

我想将相同的Ansible模板写入两个不同的文件,一个文件中的值设置为True,另一个值设置为False。将相同的模板写入两个不同的文件,更改一个值

什么是做到这一点的最好方法是什么?我的直觉是试图通过template:指令中的一个值。但是,it seems like this is frowned upon

一种方法是将两个不同的jinja文件的内容几乎完全相同;一个值设置为True,另一个False。

另一种方法是定义一个变量,编写一个模板,然后使用set_fact来更改变量的值,然后编写第二个文件。这似乎也有点麻烦。

另一种方法是让模板检测它被渲染为什么文件名,不知何故?并在该模板分支基础上。

我必须错过一些明显的东西。

+0

的可能的复制(http://stackoverflow.com/questions/31142369 /如何使用的模板模块与 - 不同的设置-的变量) –

回答

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 
相关问题