我在ansible中创建了一个ecs_taskdefinition,但是我想在sperate文件中创建任务定义。我能以某种方式做这样的事情:
ecs_taskdefintion:
containers: {{ load_external_yaml containers.yaml }}
volumes: {{ load_external_yaml_volumes.yaml }}
所以我想从外部文件加载yaml数据。
答案 0 :(得分:7)
您可以尝试将file查找和from_yaml过滤器组合在一起:
{{ lookup('file','containers.yaml') | from_yaml }}
请记住,查找是本地的,因此containers.yaml应位于ansible控制主机上。
答案 1 :(得分:1)
由于您的文件为YAML,因此您可以使用include_vars
来自https://docs.ansible.com/ansible/latest/collections/ansible/builtin/include_vars_module.html:
- name: Setup vars
tags: ["always"]
include_vars:
file: "./vars/tintin.yaml"
name: tintin
在任何地方都将tintin
用作普通变量!