Jinja2-Filter in Ansible-Playbooks nutzen
Zugriff auf Variablen und Fakten
In Ansible-Playbooks können Sie Jinja2-Filter verwenden, um auf Variablen und Fakten zuzugreifen und diese zu manipulieren. Dies ermöglicht die Erstellung dynamischerer und flexiblerer Playbooks.
- name: Ausgabe einer Variablen mit dem Großschreibungsfilter
debug:
msg: "{{ my_variable | upper }}"
Bedingte Logik
Jinja2-Filter können verwendet werden, um bedingte Logik in Ihren Ansible-Playbooks zu implementieren, wie z. B. den default
-Filter, um einen Rückfallwert bereitzustellen.
- name: Ausgabe einer Variablen oder eines Standardwerts
debug:
msg: "{{ my_variable | default('Standardwert') }}"
Jinja2-Filter können verwendet werden, um Daten zu transformieren, z. B. die Konvertierung eines Dictionaries in JSON- oder YAML-Format.
- name: Ausgabe eines Dictionaries als JSON
debug:
msg: "{{ my_dictionary | to_json }}"
Listen- und Dictionary-Manipulation
Jinja2-Filter können verwendet werden, um Listen und Dictionaries zu manipulieren, z. B. Elemente zu verbinden oder bestimmte Attribute auszuwählen.
- name: Verbinden einer Liste von Elementen
debug:
msg: "{{ my_list | join(', ') }}"
Filterverkettung
Jinja2-Filter können verkettet werden, um mehrere Transformationen auf einer Variablen oder einem Ausdruck durchzuführen.
- name: Verketten mehrerer Filter
debug:
msg: "{{ my_variable | upper | replace('HELLO', 'GOODBYE') }}"