如何使用ansible生成单个可重复使用的随机密码
也就是说:如何只对密码查找进行一次评估如何使用ansible生成单个可重复使用的随机密码,ansible,Ansible,也就是说:如何只对密码查找进行一次评估 - name: Demo hosts: localhost gather_facts: False vars: my_pass: "{{ lookup('password', '/dev/null length=15 chars=ascii_letters') }}" tasks: - debug: msg: "{{ my_pass }}" - debug: msg: "{{ my_pass }}"
- name: Demo
hosts: localhost
gather_facts: False
vars:
my_pass: "{{ lookup('password', '/dev/null length=15 chars=ascii_letters') }}"
tasks:
- debug:
msg: "{{ my_pass }}"
- debug:
msg: "{{ my_pass }}"
- debug:
msg: "{{ my_pass }}"
每个调试语句将打印出不同的值,例如:
PLAY [Demo] *************
TASK [debug] ************
ok: [localhost] => {
"msg": "ZfyzacMsqZaYqwW"
}
TASK [debug] ************
ok: [localhost] => {
"msg": "mKcfRedImqxgXnE"
}
TASK [debug] ************
ok: [localhost] => {
"msg": "POpqMQoJWTiDpEW"
}
PLAY RECAP ************
localhost : ok=3 changed=0 unreachable=0 failed=0
ansible 2.3.2.0使用
设置事实
分配永久事实:
- name: Demo
hosts: localhost
gather_facts: False
vars:
pwd_alias: "{{ lookup('password', '/dev/null length=15 chars=ascii_letters') }}"
tasks:
- set_fact:
my_pass: "{{ pwd_alias }}"
- debug:
msg: "{{ my_pass }}"
- debug:
msg: "{{ my_pass }}"
- debug:
msg: "{{ my_pass }}"
我一直这样做,从来没有遇到过问题
- name: Demo
hosts: localhost
gather_facts: False
tasks:
- set_fact:
my_pass: "{{ lookup('password', '/dev/null length=15 chars=ascii_letters') }}"
- debug:
msg: "{{ my_pass }}"
那么你问的问题是什么?如何生成标题中的密码,或者如何只计算一次值?请编辑您的问题,使其保持一致。因此,在默认值/vars/etc中无法做到这一点?在一个更大的对象中有一个变量可以使用?我们必须运行一个任务并设置一个事实?