gpt4 book ai didi

ansible - 如何使用 Ansible "slurp"多个文件

转载 作者:行者123 更新时间:2023-12-04 13:18:30 25 4
gpt4 key购买 nike

使用 Ansible,我需要从多个文件中提取内容。对于一个文件,我使用了 slurp 并注册了一个变量。

- name: extract nameserver from .conf file
slurp:
src: /opt/test/roles/bind_testing/templates/zones/example_file.it.j2
delegate_to: 127.0.0.1
register: file

- debug:
msg: "{{ file['content'] | b64decode }}"

但现在我有多个文件,所以我需要从每个文件中提取内容,一个一个地注册它们,以便以后能够使用 sed、merging_list 等操作处理它们......

我如何在 ansible 中执行此操作?

我尝试将 slurp 与 with_fileglob 指令一起使用,但我无法注册文件...

- name: extract nameserver from .conf file
slurp:
src: "{{ item }}"
with_fileglob:
- "/opt/test/roles/bind9_domain/templates/zones/*"
delegate_to: 127.0.0.1
register: file

最佳答案

您应该只使用 loop 选项,配置要slurp 的文件列表。检查这个例子:

---
- hosts: local
connection: local
gather_facts: no
tasks:
- name: Find out what the remote machine's mounts are
slurp:
src: '{{ item }}'
register: files
loop:
- ./files/example.json
- ./files/op_content.json

- debug:
msg: "{{ item['content'] | b64decode }}"
loop: '{{ files["results"] }}'

我正在 slurping 每个文件,然后遍历 results 以获取其内容。

希望对你有帮助。

关于ansible - 如何使用 Ansible "slurp"多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57289491/

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