--- - name: Fail on invalid ipabackup_name ansible.builtin.fail: msg: "ipabackup_name {{ ipabackup_name }} is not valid" when: ipabackup_name is not defined or ipabackup_name | length < 1 or (ipabackup_name.find("ipa-full-") == -1 and ipabackup_name.find("ipa-data-") == -1) - name: Set controller source directory ansible.builtin.set_fact: __derived_controller_dir: "{{ ipabackup_controller_path | default(lookup('env', 'PWD')) }}" - name: Set ipabackup_item ansible.builtin.set_fact: ipabackup_item: "{{ ipabackup_name | regex_search('.*_(ipa-.+)', '\\1') | first }}" when: "'_ipa-' in ipabackup_name" - name: Set ipabackup_item ansible.builtin.set_fact: ipabackup_item: "{{ ipabackup_name }}" when: "'_ipa-' not in ipabackup_name" - name: Stat backup to copy ansible.builtin.stat: path: "{{ __derived_controller_dir }}/{{ ipabackup_name }}" register: result_backup_stat delegate_to: localhost become: no - name: Fail on missing backup to copy ansible.builtin.fail: msg: "Unable to find backup {{ ipabackup_name }}" when: result_backup_stat.stat.isdir is not defined - name: Copy backup files to server for "{{ ipabackup_item }}" ansible.builtin.copy: src: "{{ __derived_controller_dir }}/{{ ipabackup_name }}/" dest: "{{ ipabackup_dir }}/{{ ipabackup_item }}" owner: root group: root mode: u=rw,go=r directory_mode: u=rwx,go=