--- # --- # Add virtual ftp users # --- - name: (create-virtual-ftp-user.yml) Verify if virtual ftp user exists for {{ user.name }} ansible.builtin.command: pure-pw show {{ user.name }} register: common_pureftpd_virtual_user_exists changed_when: false failed_when: - common_pureftpd_virtual_user_exists.rc != 0 - common_pureftpd_virtual_user_exists.rc != 16 loop_control: label: '{{ user.name }}' - name: (create-virtual-ftp-user.yml) Create virtual ftp user for {{ user.name }} ansible.builtin.shell: cmd: >- set -o pipefail && (echo {{ user.password }}; echo {{ user.password }}) | pure-pw useradd {{ user.name }} -u {{ user.uid | default(pureftpd_virtual_users_user) }} -g {{ user.gid | default(pureftpd_virtual_users_group) }} -d {{ user.homedir }} -n {{ user.quota_files | default('""') }} -N {{ user.quota_size | default('""') }} -t {{ user.bandwidth_dl | default('""') }} -T {{ user.bandwidth_ul | default('""') }} -q {{ user.ratio_ul | default('""') }} -Q {{ user.ratio_dl | default('""') }} executable: /bin/bash when: common_pureftpd_virtual_user_exists.rc == 16 changed_when: true notify: reload Pure-FTPd users - name: (create-virtual-ftp-user.yml) Update virtual ftp user for {{ user.name }} ansible.builtin.command: >- pure-pw usermod {{ user.name }} -u {{ user.uid | default(pureftpd_virtual_users_user) }} -g {{ user.gid | default(pureftpd_virtual_users_group) }} -d {{ user.homedir }} -n {{ user.quota_files | default('""') }} -N {{ user.quota_size | default('""') }} -t {{ user.bandwidth_dl | default('""') }} -T {{ user.bandwidth_ul | default('""') }} -q {{ user.ratio_ul | default('""') }} -Q {{ user.ratio_dl | default('""') }} when: common_pureftpd_virtual_user_exists.rc == 0 changed_when: true notify: reload Pure-FTPd users - name: (create-virtual-ftp-user.yml) Update virtual ftp user password for {{ user.name }} ansible.builtin.shell: cmd: >- set -o pipefail && (echo {{ user.password }}; echo {{ user.password }}) | pure-pw passwd {{ user.name }} executable: /bin/bash when: common_pureftpd_virtual_user_exists.rc == 0 changed_when: true notify: reload Pure-FTPd users