要在Ansible中内联Jinja模板,并将输出作为列表返回,可以按照以下步骤操作:
---
- hosts: localhost
gather_facts: false
tasks:
- name: Inline Jinja template
debug:
msg: "{{ my_template_variable | template }}"
vars:
my_template_variable: |
{% set my_list = ['item1', 'item2', 'item3'] %}
{{ my_list }}
在上面的示例中,我们使用my_template_variable
作为模板变量,然后使用Jinja模板语法设置一个包含三个元素的列表my_list
。最后,我们使用{{ my_list }}
将列表作为模板变量的值返回。
ansible-playbook template_playbook.yml
PLAY [localhost] *****************************************************************
TASK [Inline Jinja template] *****************************************************
ok: [localhost] => {
"msg": [
"item1",
"item2",
"item3"
]
}
PLAY RECAP ***********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
在上述示例中,我们使用debug
模块将Jinja模板的输出作为消息打印到终端。输出结果是一个包含三个元素的列表["item1", "item2", "item3"]
。
这就是在Ansible中内联Jinja模板输出为列表的解决方法。