2016-03-30 19 views
3

Ich möchte zusätzliche mysql Benutzer bereitstellen - wenn festgelegt. Also ich benutze ein Wörterbuch. Zum Beispiel:Ansible prüfen, ob Wörterbuch existiert

mysql_additional_users: 
    user1: 
    password: mysecretpass 
    privs: "database1.*:ALL" 

was gut funktioniert, solange das Diktat definiert ist. Wenn nicht - es scheitert.

Obwohl ich versucht, zu bestimmen, ob die dict definiert:

- name: create additional mysql users 
    mysql_user: name={{ item.key }} password={{ item.value.password }} priv={{ item.value.privs }} state=present  
    with_dict: "{{ mysql_additional_users }}" 
    when: mysql_additional_users is defined 

Aber ich bekomme immer eine Fehlermeldung:

fatal: [<hostname>]: FAILED! => {"failed": true, "msg": "ERROR! 'mysql_additional_users' is undefined"} 

Irgendwelche Ideen?

Antwort

5

with_dict wird immer ausgewertet. Wenn Sie es mit when verwenden möchten, versuchen Sie dies:

with_dict: mysql_additional_users | default({}) 
when: mysql_additional_users is defined 

es leer dict bewerten wird aber die Aufgabe wird durch when übersprungen werden.

+0

funktioniert perfekt! – derRobert

Verwandte Themen