ansible if else语句仅运行所需任务

ansible if else语句仅运行所需任务,ansible,ansible-facts,Ansible,Ansible Facts,我正在写剧本,它应该是有条件的 例如,当choice=repos时,我想运行第一个任务;如果choice=projects,我想运行第二个任务 tasks: - name: Run python script for generating Empty Repos Report command: python GetRepos.py -o {{ org }} -p {{ pat }} register: result - debug: msg="{{result.

我正在写剧本,它应该是有条件的

例如,当choice=repos时,我想运行第一个任务;如果choice=projects,我想运行第二个任务

tasks:
  - name: Run python script for generating Empty Repos Report
    command: python GetRepos.py -o {{ org }} -p {{ pat }}
    register: result
  - debug: msg="{{result.stdout}}"
    when:
       - "{{ choice }}" == "Repos"

  - name: Run python script for generating Empty Repos Report
    command: python GetRepos.py -o {{ org }} -p {{ pat }}
    register: result
  - debug: msg="{{result.stdout}}"
    when:
      - "{{ choice }}" == "Projects"

这给了我错误,因为错误的语法,什么是正确的语法来实现这一点?

这是正确的语法

任务:
-调试:
msg:运行第一个任务
时间:选择==“回购”
-调试:
msg:运行第二个任务
时间:选项==“项目”
(可选)使用默认值以避免由于未定义的变量选择而崩溃。比如说

when:choice |默认(“未定义”)=“项目”

作为问题的一个例子,简单的
-debug:msg=OK
就足够了。看见