我有一個像這樣的結構變量。我在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