我们如何在ansible剧本中检查额外的参数是否应该通过?

我们如何在ansible剧本中检查额外的参数是否应该通过?,ansible,ansible-playbook,Ansible,Ansible Playbook,我是新写剧本的。我正在试图找到一种方法,可以检查是否传递了额外的参数。若额外参数为null或未通过命令行传递,我希望在控制台上输出错误消息 我在这里尝试的是什么 运行命令:- $ ansible-playbook mytasks.yml -e "action=del" 如果操作为空或未通过,则应显示错误消息 $ ansible-playbook mytasks.yml -e "action=" $ ansible-playbook mytasks.yml mytasks.yml --

我是新写剧本的。我正在试图找到一种方法,可以检查是否传递了额外的参数。若额外参数为null或未通过命令行传递,我希望在控制台上输出错误消息

我在这里尝试的是什么

运行命令:-

$ ansible-playbook mytasks.yml -e "action=del"  
如果
操作
为空或未通过,则应显示错误消息

$ ansible-playbook mytasks.yml -e "action="  
$ ansible-playbook mytasks.yml
mytasks.yml

---
- hosts: local
  connection: local
  gather_facts: true

tasks:
- shell: echo "I've got '{{ action }}' and am not afraid to use it!"
  when: action is defined

- fail: msg="Bailing out. this play requires 'action'"
  when: action is not defined
我没有收到任何错误消息,只需获取

TASK: [fail msg="Bailing out. this play requires {{action | mandatory}}"] *****
skipping: [localhost]

请建议我如何检查是否传递了额外参数?

您的代码在我的机器上运行良好。您使用的是什么Ansible版本?

有什么建议或提示吗?我正在使用Ansible-1.4您可以试用最新的anible并检查问题是否仍然存在吗