我有这个剧本可以通过循环创建多个用户
- name: creation des users
become: yes
become_method: sudo
become_user: root
user:
name: "{{ item.username }}"
shell: /bin/bash
groups: admin
append: yes
state: present
password: "{{ 'some_password' | password_hash('sha512') }}"
update_password: on_create
with_items: "{{ users }}"
register: createaccount
和我 vars/main.yml
# vars file for linux_users_saas_create
users:
- username: user1
- username: user2
- username: user3
- username: user4
现在我希望能够覆盖此循环变量以创建一个不在列表中的其他用户,因为它是临时用户
像这样:ansible-playbook -i inventory -e“username=user5”
你能帮我吗
如果只是暂时的,请勿覆盖它。
只需设置默认的空
temp_user
,然后覆盖即可。
name: "{{ item.username + temp_user | default('') }}"
然后在cli上,您可以添加它们:
ansible-playbook -i inventory -e "temp_user=user5"
-- 编辑 --
顺便说一句,将列表定义为更清晰:
users:
- user1
- user2
请注意,每个创建的用户的每个密码都是相同的,我想说,这并不真正安全。