In most of scenario you need a input from user to decide how the playbook should execute.
When running a playbook, you may wish to prompt the user for certain input, and can do so with the ‘vars_prompt’ section.
Mostly this is use when you want to feed different version of application/programs or a password of user. Ansible has a module called prompt which prompt user to feed the value.
So lets see practically how this works, In this example I am going to show you how to prompt for username and password during playbook run.
[root@siddhesh ~]# cat prompt.yml
- hosts: localhost
gather_facts: False
vars_prompt:
- name: "Username"
prompt: "Please enter your username?"
- name: "Password"
prompt: "Please enter your password?"
tasks:
- name: Test case of prompt
debug:
msg:
- "Welcome {{ Username }}"
- "Your Password is {{ Password }}"
[root@siddhesh ~]#
Here :
In above playbook I have prompt module to capture value of username and password in Username & Password variable.
Now lets see the output of this playbook execution.
[root@siddhesh ~]# ansible-playbook prompt.yml
Please enter your username?:
Please enter your password?:
PLAY [localhost] ****************************************************************************************************************************************************
TASK [Test case of prompt] ******************************************************************************************************************************************
ok: [localhost] => {
"msg": [
"Welcome siddhesh",
"Your Password is Sid@123"
]
}
PLAY RECAP **********************************************************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
[root@siddhesh ~]#
As you can see while playing this book, it prompt to feed username and password. You can also unmask details entered by user by setting private to false.
Kommentare