Ich bin neu zu ansible und ich habe ein Problem, einen Wert von JSON-Datei in ansible Rolle zu lesen. Meine Variable hat einen Wert wie folgt:
%Vor% Ich versuche, den Wert der Farbe nur zu drucken, um sie mit einer anderen Variablen zu vergleichen. Ich habe with_dict
verwendet, um über das json-Objekt (gespeichert in der Variablen jsonVar) wie folgt zu iterieren:
Bisher gibt es kein Glück, den Vergleich des Farbwerts von json mit "blau" aus der if-Anweisung zu erhalten. Ich habe mich gefragt, ob ich etwas falsch mache? Danke im Voraus!
Sie können eine JSON-Datei mit einem Nachschlage-Plugin namens file
lesen und an den from_json
jinja2-Filter übergeben. Sie hatten auch Fehler in der with_dict
-Schleife, da Sie die jsonVar['queue']
, nicht nur jsonVar
durchlaufen müssen. Hier ist ein vollständiger Code, der funktioniert:
Sie können die | verwenden json_query-Filter
Aber stellen Sie sicher, dass die Datei, die Sie eingeben, auch im passenden Format ist, wenn nicht, dann können Sie zwei Filter verwenden, erstens, um in einen geeigneten Filter zu konvertieren und zweitens, um eine json Abfrage durchzuführen.
Beispiel: - {{ variable_name | from_json | json_query('')}}
In Ihrem Fall würde das meiner Meinung nach helfen:
%Vor%Aber notieren Sie sich die Anforderungen wie Ansible-Version
Tags und Links ansible ansible-2.x