我有一个像这样的结构变量。我在accessible_from
在一本字典中迭代一个名单中的一个清单
vars:
mysql_dbs:
db1:
user: db1_user
pass: "password"
accessible_from: localhost
db2:
user: db2_user
pass: "password2"
accessible_from: '%'
这是使用mysql_db
ansible模块应用了一个关键成功地使用这种与with_dict
,像这样:
- name: Configure mysql users
mysql_user: name={{ item.value.user }} password={{ item.value.pass }} host={{ item.value.accessible_from | default('localhost')}} priv={{ item.key }}.*:ALL state=present
with_dict: "{{ mysql_dbs }}"
我想accessible_from
到必须的能力一个列表。没关系,如果它有是一个列表,但单一的键/值对是不够的:)因此,例如:
vars:
mysql_dbs:
db1:
user: db1_user
pass: "password"
accessible_from:
- server1
- server2
- localhost
db2:
user: db2_user
pass: "password"
accessible_from:
- '%'
所以 - 目的是创建所有DB和用户在一场比赛中。我试过玩with_subelements
,没有成功。实际上可以做到这一点吗?还是有必要重组数据,或重写剧本?如果必须的话,我会这样做,但我想知道是否有其他方法。
我想这' “{{mysql_dbs |默认( 'localhost' 的)}}”'将默认字符串'localhost',当整个'mysql_dbs'对象是不确定的。 .. –
错误切割和粘贴。删除默认。谢谢,@KonstantinSuvorov – gile