저는 이와 같이 구성된 변수가 있습니다. 나는 성공적 같이, 이것은 mysql_db
ansible 모듈을 사용하여 적용되는 accessible_from
사전에있는 목록을 반복적으로 반복하십시오.
vars:
mysql_dbs:
db1:
user: db1_user
pass: "password"
accessible_from: localhost
db2:
user: db2_user
pass: "password2"
accessible_from: '%'
에 하나의 키와 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' 때 전체 'mysql_dbs' 객체는 정의되지 않습니다. .. –
잘라 내기 및 붙여 넣기가 잘못되었습니다. 제거 된 기본값. 고마워, @ ConstantinSuvorov – gile