似乎有两种方法可以使文件内容依赖于变量。
copy:
path: /foo
content: |
{{ if myFoo }}
; lots of stuff
{{ else }}
; lots of other stuff
{{ end }}
或者我可以做
copy:
path: /foo
content: |
; lots of stuff
when: myFoo
和
copy:
path: /foo
content: |
; lots of other stuff
when: not myFoo
这里的正常构造是什么?想要什么?
答案1
我不得不重写任务。
- copy:
dest: /tmp/ansiblefile.txt
content: |
{% if myFoo %}
; lots of stuff
{% else %}
; lots of other stuff
{% endif %}
- copy:
dest: /foo
content: |
; lots of stuff
when: myFoo
- copy:
dest: /foo
content: |
; lots of stuff
when: not myFoo
在我看来,两者都可以。然而,我会使用后一种方法,因为我发现不处理 jinja 模板更容易; jinja 模板的文档不是很详细且易于理解。