gpt4 book ai didi

ansible - 查找内部查找 - ansible

转载 作者:行者123 更新时间:2023-12-02 17:13:51 24 4
gpt4 key购买 nike

我正在尝试使用查找插件从查找文件的查找函数内部查找环境变量。

所以文件名是 _hosts.txt,我希望查找函数用传递的环境变量替换 ENV。

我查阅了ansible文档进行查找,但仍然无法找出错误。

这是代码块:

- name: "Update the /etc/hosts file"
blockinfile:
block: "{{ lookup('file', ' + lookup('env', 'ENV') +_hosts.txt') }}"
dest: "/etc/hosts"
backup: yes

输出:

FAILED! => {"msg": "template error while templating string: expected token ',', got 'env'. String: {{ lookup('file', ' + lookup('env', 'ENV') +_hosts.txt') }}"}

我知道这是一个语法问题,但就是不知道它是什么。

最佳答案

使用辅助变量:

- name: "Update the /etc/hosts file"
blockinfile:
block: "{{ lookup('file', filename) }}"
vars:
filename: "{{ lookup('env', 'ENV') }}_hosts.txt"

或者你可以将其写在一行中:

block: "{{ lookup('file', lookup('env', 'ENV') + '_hosts.txt' ) }}"

关于ansible - 查找内部查找 - ansible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52189923/

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