首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >slurp可以直接替代查找吗?

slurp可以直接替代查找吗?
EN

Stack Overflow用户
提问于 2022-09-13 23:16:11
回答 1查看 35关注 0票数 1

我在模板文件foo.cfg.j2中有以下内容

代码语言:javascript
复制
nameserver dns1 {{ lookup('file','/etc/resolv.conf') | regex_search('\\b(?:[0-9]{1,3}\\.){3}[0-9]{1,3}\\b') }}:53

问题是它从本地/etc/resolv.conf获取值。我想从目标中获取值,我了解到我必须使用slurp,但是第二个“问题”是,我需要在任务中注册一个变量,然后将它传递给模板文件,如下所示:

代码语言:javascript
复制
tasks:
  - slurp:
      src: /etc/resolv.conf
    register: slurpfile

模板文件现在如下所示:

代码语言:javascript
复制
nameserver dns1 {{ slurpfile['content'] | b64decode | regex_search('\\b(?:[0-9]{1,3}\\.){3}[0-9]{1,3}\\b') }}:53

虽然这样做有效,但我感到有点不安,因为解决方案被分成两部分:任务完成了一些事情,然后模板文件完成了第二部分。是否有一个远程版本的lookup是一个直接替代?

EN

回答 1

Stack Overflow用户

发布于 2022-09-14 04:38:42

我宁愿远程文件,也不愿吃东西

代码语言:javascript
复制
  - fetch:
      src: /etc/resolv.conf
      dest: "{{ fetched_files }}"

,声明一个变量。

代码语言:javascript
复制
my_etc_recolv_conf: "{{ fetched_files }}/{{ inventory_hostname }}/etc/resolv.conf"

,并在模板中使用

代码语言:javascript
复制
nameserver dns1 {{ lookup('file', my_etc_recolv_conf) | ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73709975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档