我想知道使我能够检索文件内容并使用它在新文件中创建变量的语法
在我的示例中,我有我的YAML配置文件,并且有一个VARIABLE文件,我不知道如何获取第一行并将其设置为第一个文件中的变量
########## config.yml ############
---
- hosts: my-computer
remote_user: toto
tasks:
-vars:
- my-first-vars: {{ THIS IS VARS }}
- name: "config host"
lineinfile:
path: /etc/file.cfg
regexp: '(.*)this_to_change_with_vars(.*)'
line: '{{ my-first-vars }}'
```########### file.vars #########
THIS IS VARS : 10.10.10.10
THIS IS OTHER VARS: 10.10.9.9
答案 0 :(得分:0)
您也可以使用vars_files
。
例如
- hosts: my-computer
remote_user: toto
vars_files:
- file.vars
tasks:
- name: "config host"
lineinfile:
path: /etc/file.cfg
regexp: '(.*)this_to_change_with_vars(.*)'
line: '{{ my-first-vars }}'
,然后在您的file.vars中直接将您的var添加为
my-first-vars: 10.10.10.10
答案 1 :(得分:0)
这可能是使用templates
的好时机:
- name: config host
template:
src: template/file.cfg.j2
dest: /etc/file.cfg
mode: 0644
文件file.cfg.j2
应该是您要在dest
路径下复制的文件的副本。您的变量位于j2
文件中,可以在每次交互时进行更改。
示例:
vi file.cfg.j2
my cfg file
{{ my-first-vars }}