交互式提示

在少数情况下,ansible任务运行的过程中需要用户输入一些数据,这些数据要么比较秘密不方便,或者数据是动态的,不同的用户有不同的需求,比如输入用户自己的账户和密码或者输入不同的版本号会触发不同的后续操作等。ansible的vars_prompt关键字就是用来处理上述这种与用户交互的情况的。

- hosts: all
remote_user: root
vars_prompt:
- name: share_user
prompt: "what is your network username?"
private: yes

- name: share_pass
prompt: "what is your network password"
private: yes

tasks:
- debug:
var: share_user
- debug:
var: share_pass

vars_prompt常用选项说明:


  • private: 默认为yes,表示用户输入的值在命令行不可见
  • default:定义默认值,当用户未输入时则使用默认值
  • confirm:如果设置为yes,则会要求用户输入两次,适合输入密码的情况
    =============================