gpt4 book ai didi

Ansible:使用 YAML 文件中的键读取单个值

转载 作者:行者123 更新时间:2023-12-04 01:04:15 24 4
gpt4 key购买 nike

我有一个 yaml 文件,内容如下

abc: 123
def: 456
ddd: {{ eee }}
xyz: 789
我尽量避免将整个文件加载到 vars 空间中,但我的剧本中需要 'def' 的值。我以为我可以使用查找来解决问题。但是之后
lookup('file', 'path/to/file.yaml')
我不知道如何使用 Ansible 解析文件的内容以获取带有其键的值。
我尝试了 include_vars,但那个迫使我将 yaml 文件值修改为 {{ eee }} 到“{{ eee }}”,这修改了实际值。
有没有一种简单的方法来读取 YAML 文件键值?

最佳答案

使用模板读取文件,例如

    - set_fact:
_def: "{{ (lookup('template', 'path/to/file.yaml')|from_yaml).def }}"
vars:
eee: 'default'

  _def: '456'
必须定义变量 eee。请参阅 thread

可能,您可能想先设置字典,例如
    - set_fact:
d1: "{{ lookup('template', 'path/to/file.yaml')|from_yaml }}"
vars:
eee: 'default'
- set_fact:
_def: d1.def

关于Ansible:使用 YAML 文件中的键读取单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67054607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com