我有一个Ansible任务,可确保创建用户列表(dict
),并在需要时创建它们。
我希望此任务不会更新密码(仅on_creation
),除非我将全局变量enforce_config
设置为true
。在这种情况下,我希望所有托管用户都使用默认密码更新密码(存储在我的用户dict中)。
简而言之,我希望根据enforce_config
变量的值更改此user
模块选项:
update_password: on_create
成:
update_password: always
这是完整的任务:
- name: Manage users and their password
user:
name: "{{ item.key }}"
home: "{{ item.value.home }}"
createhome: yes
shell: "{{ item.value.shell }}"
password: "{{ item.value.password }}"
# IF `enforce_config` == true
# update_password: always
# ELSE
update_password: on_create
with_dict: "{{ users }}"
答案 0 :(得分:0)
update_password: "{{ ‘always’ if (`enforce_config` == true) else ‘on_create’ }}"
或者
update_password: "{{ (`enforce_config` == true) | ternary(‘always’, ‘on_create’) }}"
答案 1 :(得分:0)
阅读此question here后,我实际上找到了自己问题的答案。
update_password
选项中的Jinja2 if-else: update_password: "{% if enforce_config==true %}always{% else %}on_create{% endif %}"