Ansible:覆盖变量
Ansible: override variables
如何在以下情况下覆盖变量:
playbook/roles/role1/defaults/main.yml
# Example1
myvars:
var1: val1
var2: val2
我只想覆盖此散列中的 1 个变量,例如
# Example1
myvars:
var2: val2-new
我已经添加到 playbook.yml 以下结构:
vars_files:
- vars/local_conf_options.yml
vars/local_conf_options.yml 包含示例 2 中的内容
我收到关于未定义变量 var1 的错误。
我该如何解决这个问题?
PS:我尝试将 'defaults' 重命名为 'vars',但出现了同样的错误。
您可以将hash_behaviour修改为merge
。默认为 replace
.
但请注意,这是全局设置!由于此更改,您的剧本的其他部分可能会中断。
如何在以下情况下覆盖变量: playbook/roles/role1/defaults/main.yml
# Example1
myvars:
var1: val1
var2: val2
我只想覆盖此散列中的 1 个变量,例如
# Example1
myvars:
var2: val2-new
我已经添加到 playbook.yml 以下结构:
vars_files:
- vars/local_conf_options.yml
vars/local_conf_options.yml 包含示例 2 中的内容 我收到关于未定义变量 var1 的错误。
我该如何解决这个问题?
PS:我尝试将 'defaults' 重命名为 'vars',但出现了同样的错误。
您可以将hash_behaviour修改为merge
。默认为 replace
.
但请注意,这是全局设置!由于此更改,您的剧本的其他部分可能会中断。