Wie zur Durchsetzung der Ordnung der with_dict in Ansible?
Habe ich dictionary-Datentyp, möchte ich Durchlaufen und halten die Reihenfolge ist wichtig:
with_dict_test:
one: 1
two: 2
three: 3
four: 4
five: 5
six: 6
Wenn ich jetzt schreiben eine Aufgabe zu drucken, die Schlüssel und Werte, auf die Sie gedruckt sind, in scheinbar zufälliger Reihenfolge (6, 3, 1, 4, 5, 2).
---
- name: with_dict test
debug: msg="{{item.key}} --> {{item.value}}"
with_dict: with_dict_test
Wie kann ich erzwingen, Ansible zu iterieren in der Reihenfolge? Oder ist es etwas, das besser geeignet als with_dict
? Ich brauche wirklich beide den Schlüssel und den Wert während der Ausführung der Aufgabe...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich sehe nicht einen einfachen Weg, um dicts als Sie dort festzustellen, um aus der Reihenfolge der Hash-Schlüssel.
Sie können Folgendes tun:
und in das playbook ersetzen Sie einfach
with_dict
mitwith_items
:Wenn Sie feststellen, dass diese Lösung (die Deklaration der Variablen) zu hässlich ist, können Sie dies tun:
und in das playbook
Ich bin mir nicht ganz sicher, aber vielleicht dies wird Ihnen helfen auf dem Weg:
Ich nehme an, Sie verwenden können, die Jinja filter irgendwie zu Sortieren, die auf komplexe Werte. Eine andere Sache, die Sie vielleicht check out ist die Kombination
dict.values()|list
undwith_sequence
, aber alles, was Sie Milch heraus, dass der Stein nicht genau Schreien "wartbar."with_dict_test
ist nur eine illustration. In der Realität, ich will die Einträge werden sortiert nach der angegebenen Reihenfolge in der Datei, weder sortiert nach den Schlüsseln noch die Werte...