gpt4 book ai didi

ansible - 如何将 ansible 变量保存到在 playbook 执行结束时自动删除的临时文件中?

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

为了在本地(不在远程机器上)执行一些操作,我需要将 ansible 变量的内容放在一个临时文件中。

请注意,我正在寻找一种解决方案,该解决方案负责将临时文件生成到可以写入的位置(没有硬编码名称),并且还负责删除文件,因为我们不想留下任何东西.

最佳答案

您应该可以使用 tempfile模块,后跟 copytemplate模块。像这样:

- hosts: localhost
tasks:

# Create a file named ansible.{random}.config
- tempfile:
state: file
suffix: config
register: temp_config

# Render template content to it
- template:
src: templates/configfile.j2
dest: "{{ temp_config.path }}"
vars:
username: admin

或者,如果您以某个角色运行它:

- tempfile:
state: file
suffix: config
register: temp_config

- copy:
content: "{{ lookup('template', 'configfile.j2') }}"
dest: "{{ temp_config.path }}"
vars:
username: admin

然后通过 temp_config.path到您需要将文件传递到的任何模块。

这不是一个很好的解决方案,但另一种方法是编写一个自定义模块来一步完成。

关于ansible - 如何将 ansible 变量保存到在 playbook 执行结束时自动删除的临时文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36646683/

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