Я пытаюсь найти, существует ли определенная буква в массиве stdout_lines.Поиск строки в массиве stdout_lines
Я хочу, чтобы роль выполнялась, если в файле stdout_output есть «P».
Массив stdout_lines выглядит следующим образом:
"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')}
Ошибка я получаю
фатальным: [имя хоста]: FAILED! => {"failed": true, "msg": "ERROR! Условная проверка '{{prod_fact}}. find (' P ')' не удалось. Ошибка: ошибка ERROR! template при шаблоне шаблона: ожидаемый токен ' ', есть „строка“ "}
для того, чтобы получить stdout_variable Я использую 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('')}}"