--- # Default virtual users/group - name: (pure-ftpd-install.yml) Ensure Pure-FTPd group exists. ansible.builtin.group: name: "{{ pureftpd_virtual_users_group }}" gid: "{{ pureftpd_virtual_users_gid | default(omit) }}" system: false state: present when: pureftpd_virtual_users | length > 0 - name: (pure-ftpd-install.yml) Ensure Pure-FTPd user exists. ansible.builtin.user: name: "{{ pureftpd_virtual_users_user }}" uid: "{{ pureftpd_virtual_users_uid | default(omit) }}" group: "{{ pureftpd_virtual_users_group }}" home: /dev/null shell: /usr/sbin/nologin system: false state: present when: pureftpd_virtual_users | length > 0 # user databas - name: (pure-ftpd-install.yml) Verify virtual users database existence. ansible.builtin.stat: path: "{{ pureftpd_config_dir }}/pureftpd.passwd" register: common_pureftpd_virtual_users_database - name: (pure-ftpd-install.yml) Ensure virtual users database exists. ansible.builtin.file: path: "{{ pureftpd_config_dir }}/pureftpd.passwd" owner: root group: root mode: '0600' state: touch when: (pureftpd_virtual_users | length > 0) and not common_pureftpd_virtual_users_database.stat.exists | default(false) # - Cretate virtual user - name: (pure-ftpd-install.yml) Include create virtual ftp user task. ansible.builtin.include_tasks: create-virtual-ftp-user.yml vars: user: "{{ item }}" with_items: "{{ pureftpd_virtual_users }}" when: pureftpd_virtual_users | length > 0 no_log: true # Remove virtual user # - - name: (pure-ftpd-install.yml) Include remove virtual ftp user task. ansible.builtin.include_tasks: remove-virtual-user.yml vars: user: "{{ item }}" with_items: "{{ pureftpd_virtual_deleted_users }}" when: pureftpd_virtual_deleted_users | length > 0