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

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

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