2017-10-13 88 views
0

或者我應該問:如何僅評估一次該值?如何生成隨機密碼

- 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

+0

所以其中你問的問題是?如何在標題中生成密碼或如何僅評估一次值?請修改您的問題以使其一致。 – Mxx

回答

4

使用set_fact分配永久的事實:

- 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 }}"