Ich versuche herauszufinden, ob ein bestimmter Buchstabe in einem stdout_lines-Array existiert.Suche nach einem String innerhalb eines stdout_lines-Arrays
Ich möchte die Rolle ausführen, wenn ein 'P' in der stdout_output gefunden wird.
Die stdout_lines Array sieht wie folgt aus:
"stdout": "P\r\nA\r\nS\r\nI\r\n", "stdout_lines": ["P", "A", "S", "I"]
myrole.yml
---
- hosts: windows
gather_facts: false
roles:
- all_servers
- {role: production_server, when: prod_fact.find('P')}
Der Fehler, den ich bekommen habe ist
fatal: [Hostname]: failed! => {"failed": true, "msg": "FEHLER! Die bedingte Prüfung '{{prod_fact}}. find (' P ')' ist fehlgeschlagen. Der Fehler war: ERROR! Template Fehler beim Templating String: expected token ' , 'erwartet, 'string' "}
um die stdout_variable ich bin mit set_fact
---
- name: Check Env Type and Save it in Var=prod_fact
script: files/CheckEnvType.ps1 -hostname {{inventory_hostname}}
register: result
- set_fact:
prod_fact: "{{result.stdout_lines | default('')}}"