2016-10-28 6 views
0

У меня есть следующий сборник пьес:Как включить переменный файл в Ansible?

- hosts: localhost 
    tasks: 
    - set_fact: main_body="test_main" 
    - template: 
     src: test_src.j2 
     dest: /tmp/test_dest.j2 

И следующий шаблон дзиндзя:

main() 
{ 
    {{ include main_body }} 
} 

Когда я бегу пьес я получаю ошибку:

AnsibleError: template error while templating string: expected token 'end of print statement', got 'main_body'.

Как сказать дзиндзя в включить файл, его имя хранится в ранее определенном факте?

+0

включают {{}} main_body попробовать это – Shasha99

ответ

2

Синтаксис include в Jinja2 является следующее:

main() 
{ 
    {% include main_body %} 
} 
+0

Это то, что работает. И ошибка, которую вы включили в вопрос, генерируется, когда вы используете '{{include main_body}}' (в качестве исходного вопроса) вместо '{% include main_body%}'. – techraf

+0

Да, вы правы. Я думал, что сделал это, но, похоже, я перепутал эти две записи. – ceving

 Смежные вопросы

  • Нет связанных вопросов^_^