I'm new to Ansible. Below is the small snippet of the playbook which I am trying to play but facing the error "ERROR! 'fail' is not a valid attribute for a Play"
---
- vars_prompt:
- name: "var1"
prompt: "Please pass variable"
private: no
- fail: msg="var1 is not passed or blank"
when: var1 is undefined or ( var1 is defined and storeid == "" )
I have tried multiple options found on stackoverflow but no success.
The fail directive has to be used at the task level.
This means that to get your desired effect, you would have to do something like
---
vars_prompt:
- name: "var1"
prompt: "Please pass variable"
private: no
tasks:
- fail: msg="var1 is not passed or blank"
when: var1 is undefined or ( var1 is defined and storeid == "" )
And you would simply place the rest of your tasks after that declaration. The "ERROR! 'fail' is not a valid attribute for a Play" message is because you're currently declaring it at a nesting level that Ansible is expecting to be a play.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With