我创建了一个允许更改用户密码的剧本。
此工资簿将与詹金斯一起执行,我想将密码设置为作业的参数。
任务/main.yml
---
- name: "Change user password"
user:
name: "{{user_name}}"
password: "{{new_password}"
update_password: always
默认值/main.yml
user_name: "{{user}}"
password: "{{password}}"
new_password: "{{ '"{{password}}"'|password_hash('sha512') }}"
我想我的问题出在“{{'{{password}}”'{password}哈希('sha512')}”上。
我运行playbook时使用:
ansible-playbook -e "user_name=<user>" -e "password=<best_password> -e "role=<role_name>" -e "server=<list_server>" main.yml
谢谢你的帮助!
最佳答案
password: "{{password}}"
这是不允许的递归定义。你为什么需要这个?new_password: "{{ '"{{password}}"'|password_hash('sha512') }}"
这是嵌套的Jinja2表达式,这是不允许的。使用new_password: "{{ password | password_hash('sha512') }}"