Acho que a única maneira de decidir isso por um número de uid maior que / igual é ter dois recursos diferentes com condicional when
.
Mas se você não precisa ter uid: -1
, algo assim pode funcionar. Apenas se livre dos valores de uid
e non_unique
nas variáveis do usuário:
- name: Create users
user:
name={{ item.key }}
createhome=yes
shell={{ item.value.shell }}
password={{ item.value.password }}
home="{{ item.value.home }}"
append=yes
state=present
uid="{{ item.value.uid | default(omit) }}"
non_unique="{{ item.value.non_unique | default('no') }}"
with_dict: "{{users}}"
E, além de não usar uid e non_unique (pagar attantion a essa variável, deve haver _
em vez de -
) em usuários comuns:
user: { password: "HASH", shell: "/bin/zsh", home: "/home/user" }
userroot: { password: "HASH1", shell: "/bin/zsh", home: "/home/userroot", uid: 0, non_unique: "yes" }