Ich verwende die Modul-Statistik, um zu überprüfen, ob einige Dateien in einem Remote-Server vorhanden sind, und ihr Ergebnis in einer Variablen zu registrieren. d. h. Konfigurationsdateien, nach denen ich suche: conf_dev.conf, conf_pred.conf, conf_pro.conf.Ansible - Wie Schleife über registriert
Später verwende ich das Copy-Modul für die Übertragung nur der Dateien, die fehlen, mit einer bedingten basierend auf einem Attribut in Variable.Ergebnisse. {{(ITEM) Index}}. Stat.exists. Dies gibt returnTRUE zurück, wenn die Datei existiert, und FALSE, wenn dies nicht der Fall ist.
Zum ordnungsgemäßen Betrieb Da die Registervariable ein Array ist, gibt es einen Index, der das Ergebnis für jede Datei speichert, die ich anfrage, daher kann ich das Element nicht in einen Index konvertieren (0,1,2,3)
Kann jemand den Index eines Einzelteils erhalten? Ich habe diesen (Blick auf der letzte Zeile) versucht:
- name: Checking if common configuration files exists
stat:
path: "{{HOME_COMUN_CONFIG}}/{{item}}"
with_items: "{{LIST_COMMON_CONFIGURATION_ARTIFACTS}}"
register: store_results
- name: debug existe_app_comun
debug:
var: store_results
- name: Deploying missing files
copy:
src: "{{DIRTEMP_COMUN_CONFIG}}/{{item}}"
dest: "{{HOME_COMUN_CONFIG}}/{{item}}"
with_items: "{{LIST_COMMON_CONFIGURATION_ARTIFACTS}}"
when: existe_app_comun.results.{{index(item)}}.stat.exists is defined