【发布时间】:2016-06-20 06:08:20
【问题描述】:
我正在尝试构建一个使用文件中的一些变量的角色。 虽然这些变量也依赖于一些公共变量,但我想为所有角色定义一个变量,而无需将其复制并粘贴到每个变量文件中。
虽然我不明白我怎么能做到这一点。我说的只是 vars 文件。
例如roles/dns/tasks/main.yml 包含特定位置的文件:
- include_vars: ../vars/dns/domains_{{ location }}.yml
位置是在角色级别定义的。在这里面,我试图为各种 dns 名称定义设置,例如:
domains: [
{
domain: "domain.com",
location: "america",
ip: "xx.xx.xx.xx",
ttl: 1800,
mx: "10 mail",
subdomains: [
{ name: "www", ip: "xx.xx.xx.xx"},
]
},
]
所以在这里我为每个条目定义了相同的 IP。 有没有办法将所有 IP 放入某个全局 var 文件(例如 group_vars/all/vars_file.yml )并在这个角色特定的 var 文件中使用它,如下所示:
domains: [
{
domain: "domain.com",
location: "america",
ip: server.america.ip,
ttl: 1800,
mx: "10 mail",
subdomains: [
{ name: "www", ip: server.america.ip },
]
},
]
server.america.ip 是在哪里定义的?
【问题讨论】: