0
我正在嘗試查找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」:true,「msg」:「錯誤!條件檢查'{{prod_fact}}。find('P')'failed。錯誤是:ERROR!模板錯誤,模板字符串:expected token' 「,得到了‘串’」}
爲了得到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('')}}"