2017-02-14 64 views
0

有一個很難描述的問題,爲了使這個問題更易於理解而提出了改進的建議,我們非常感謝。Ansible&Jinja2 - 在每個變量的目錄中放置模板

目標: 首先爲單個模板設置變量,然後根據變量集設置目標。基於一個模板。我想避免爲每個目錄使用多個模板。

舉例:my_jinja.j2包含:

a line of code 
/path{{ variable }}/something 
another line of code 

我想設置的模板已被設定與variable目錄。 如果variable包含:

- /tmp 
- /var 

如果/tmp設置,模板應該在/foo

設置如果/var設置,我想放在/bar

的模板/tmp的模板應看起來像:

a line of code 
/path/tmp/something 
another line of code 

回答

2

W正高一試:

模板:

a line of code 
/path{{ path_var }}/something 
another line of code 

VAR:

my_list: 
    - path: /tmp 
    dest: /foo 
    - path: /var 
    dest: /bar 

任務:

- template: 
    src: my_jinja.j2 
    dest: "/path/to/{{ item.dest }}" 
    vars: 
    path_var: "{{ item.path }}" 
    with_items: "{{ my_list }}" 
+0

聖該死。似乎工作!生病的技能:/ – Kevin