---
- name: List users
  ansible.builtin.shell: yunohost user list --output-as json
  register: yunohost_registered_users_raw
  changed_when: False

- name: Format json of users
  ansible.builtin.set_fact: yunohost_registered_users="{{ yunohost_registered_users_raw.stdout | from_json }}"

- name: Create missing users
  ansible.builtin.shell: |
    yunohost user create {{ item.name }} \
    -f {{ item.firstname }} \
    -l {{ item.lastname }} \
    -d {{ item.mail_domain }} \
    -p {{ item.pass }}
  loop: "{{ yunohost.users }}"
  when: item.name not in yunohost_registered_users.users.keys()
