ansible with_items Liste der Listen flacht ab

9

Ich versuche mit ansible eine Liste von Listen zu durchlaufen, um einige Pakete zu installieren. Aber {{item}} gibt jedes Element in den Unterlisten und nicht die Unterliste selbst zurück. Ich habe eine Yaml-Datei, die von einer Manifest-Liste von außerhalb Ansible kommen und es sieht so aus:

%Vor%

Meine Aufgabe sieht folgendermaßen aus:

%Vor%

Wenn ich renne, bekomme ich:

%Vor%

Wenn ich es versuche:

%Vor%

Es druckt jedes Element (Modul, Version, Extra, usw.), nicht nur die Unterliste (was ich erwarten würde)

    
Neybar 26.02.2016, 21:49
quelle

3 Antworten

5

Leider ist dies das beabsichtigte Verhalten. Bitte sehen Sie sich diese Diskussion über with_tems und verschachtelte Listen

an     
helloV 26.02.2016, 22:10
quelle
4

Eine andere Möglichkeit, dieses Problem zu lösen, ist die Verwendung eines komplexen Elements anstelle einer Liste von Listen. Strukturiere deine Variablen wie folgt:

%Vor%

Dann kannst du with_items immer noch so verwenden:

%Vor%     
gameweld 22.12.2016 23:18
quelle
3

@helloV hat bereits die Antwort geliefert, dass Sie dies nicht mit with_items tun können, ich werde Ihnen zeigen, wie Sie Ihre aktuelle Datenstruktur mit with_nested verwenden können, um die gewünschte Ausgabe zu erhalten.

Hier ist ein Beispielbuch:

%Vor%

Nun erhalten Sie Folgendes als stdout_lines :

%Vor%     
heemayl 28.02.2016 05:19
quelle

Tags und Links