Ich möchte Maßnahmen für einen Ordner ergreifen, wenn es leer ist. Also versuche ich Conditionals auf folders-stats zu verwenden. Die Ordner werden mit einem Wörterbuch erstellt.Zugriff auf Wörterbuch-Statistiken in Ansible
- name: Statistics of folder
stat: path=/srv/svn/{{ ansible_fqdn }}/{{ item.value.reponame }}
with_dict: "{{ repos }}"
register: result
- name: Create repository, if not already
command: svnadmin create /srv/svn/{{ ansible_fqdn }}/{{ item.value.reponame }}
with_dict: "{{ repos }}"
when: result.stat.size == "6"
# ignore_errors: True
- debug: var=repos
Wenn ich an der Debug-Ausgabe sehe ich „Größe“ für meinen Zustand verwenden kann. Aber beim Ausführen bekomme ich folgende Fehlermeldung:
'dict object' has no attribute 'stat'
Vielleicht hat es mit der "Liste" von 3 Verzeichnissen zu tun? Ich habe keine Ideen mehr.
Meine Problemumgehung besteht darin, keine Bedingung und ignore_errors zu verwenden, da es beim zweiten Durchlauf bereits ein Repository ist.
Dies ist, weil das Ergebnis eine Liste sein wird, jedes Mal, wenn Sie Ihr Diktat durchlaufen, erstellen Sie ein neues 'result [n]'. Ich bin mir auch nicht sicher, ob eine Überprüfung von 'result.stat.size == 6' so zuverlässig wäre. – shaps