如何在ansible playbook中检查额外参数是否应该通过?

时间:2014-03-13 06:23:39

标签: ansible ansible-playbook

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

我在这里尝试的是什么。

运行命令: -

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

如果action为空或未通过,则应显示错误消息。

$ 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]

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

1 个答案:

答案 0 :(得分:0)

您的代码在我的机器上工作正常。您使用的是什么Ansible版本?