0
我存储所有ansible变量YAML文件(过滤掉那些以“ansible_”)这个剧本:如何使所有ansible变量YML文件,ansible 2.3
- hosts: localhost
tasks:
- set_fact:
all_vars: "{{all_vars | default({}) |combine({item.key: item.value})}}"
when: "{{not item.key.startswith('ansible_')}}"
with_dict: "{{vars}}"
- copy:
content: "{{ all_vars }}"
dest: "/tmp/tmp.yml"
这是group_vars/all/defaults.yml
SOME_FACT1: "some-fact"
SOME_FACT2: "{{ SOME_FACT1 }}"
SOME_FACT3: "{{ SOME_FACT2 }}"
这与理论2.2完美结合。但是在2.3(2.3.1.0)中,变量不会被渲染。 我得到的结果是这样的:
... "SOME_FACT1": "some-fact", "SOME_FACT3": "{{ SOME_FACT2 }}", "SOME_FACT2": "{{ SOME_FACT1 }}" ...
我怎么能强迫ansible 2.3渲染变量?
我编辑了问题以获得更多清晰度 – Nathan
'vars'是内部对象,并以特殊方式模板化(更好地说是_not_模板)。你为什么需要做这个任务? –
我想执行一个可以访问所有可变变量的python脚本(用对流层创建一个cloudformation文件)。 – Nathan