Verwenden von templates / jinja2 Filter in Ansible Playbook, um bestimmte bedingt auszuführen


2

Ich erstelle ein Playbook für die Orchestrierung von Netzwerkgeräten. Ich muss bestimmte Befehle ausführen, abhängig von der Eingabe der booleschen Variablen, die ich erhalte.

Ist es möglich, die booleschen Eingaben zu verwenden, um die Befehle aufzufüllen, die innerhalb einer Task ausgeführt werden müssen? Ich bevorzuge es, wenn möglich, 1 Aufgabe zu verwenden.

Um besser zu erklären, was ich erreichen möchte, möchte ich folgendes Beispiel geben:

---

task: foo_netw_task
ios_config:
  provider: "{{ router_provider }}"
  lines:
    - "{{if bool_val_1 then 'command_1'}}"
    - "{{if bool_val_2 then 'command_2'}}"
    - "{{if bool_val_3 then 'command_3'}}"

Also gib die Eingabe unten ein:

bool_val_1 = true, bool_val_2 = true, bool_val_3 = false

Ich würde erwarten, dass das ausführende Playbook so aussieht:

task: foo_netw_task
ios_config:
  provider: "{{ router_provider }}"
  lines:
    - 'command_1'
    - 'command_2'

Danke für Ihre Hilfe!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.