有没有像在Ansible save_vars
任何会自动保存修改VAR /其实与include_vars
进口?
下面的代码提供了目的,但它不是一个完美的解决方案。
# vars/my_vars.json
{
"my_password": "Velicanstveni",
"my_username": "Franjo"
}
# playbook.yaml
---
- hosts: localhost
gather_facts: no
tasks:
- name: fetch vars
include_vars:
file: my_vars.json
name: playbook_var
- name: change var
set_fact:
playbook_var: "{{ playbook_var|combine({'my_username': 'Njofra' }) }}"
- name: save var to file
copy:
content: "{{ playbook_var | to_nice_json }}"
dest: vars/my_vars.json
我想知道如果在Ansible一个选项,以便每当VAR /事实改变时,剧本在执行过程中,这是自动在文件更新的变种,从进口的,我们可以打开。我试图解决的问题的背景是具有在Ansible全局变量。这样做是为了保存全局变量在文件中。 Ansible有hostavars的系统,这是每个主机变量的集合,但不是所有的数据总是主机相关的。
我认为fact cache会加上或减去做到这一点,尽管它可能有一些尖锐的边缘,以得到它的权利,因为恰好不是它正在设法解决这个问题。该json cache plugin听起来就像是最有可能你想要什么,但有一个yaml cache plugin了。
坏消息是,据我所知,一个无法通过剧本配置这些缓存的URI,而是一个必须使用环境变量或ansible.cfg
设置。