--- - name: archive using gz and remove src files archive: path: "{{ output_dir }}/*.txt" dest: "{{ output_dir }}/archive_remove_01.gz" format: gz remove: yes register: archive_remove_result_01 - debug: msg="{{ archive_remove_result_01 }}" - name: verify that the files archived file: path={{ output_dir }}/archive_remove_01.gz state=file - name: check if gz file exists and includes all text files and src files has been removed assert: that: - "{{ archive_remove_result_01.changed }}" - "{{ 'archived' in archive_remove_result_01 }}" - "{{ archive_remove_result_01['archived'] | length }} == 3" - name: remove our gz file: path="{{ output_dir }}/archive_remove_01.gz" state=absent - name: check if src files has been removed assert: that: - "'{{ output_dir }}/{{ item }}' is not exists" with_items: - foo.txt - bar.txt - empty.txt - name: prep our files again copy: src={{ item }} dest={{ output_dir }}/{{ item }} with_items: - foo.txt - bar.txt - empty.txt - name: create a temporary directory to be check if it will be removed file: path: "{{ output_dir }}/tmpdir" state: directory - name: prep our files in tmpdir copy: src={{ item }} dest={{ output_dir }}/tmpdir/{{ item }} with_items: - foo.txt - bar.txt - empty.txt - name: archive using gz and remove src directory archive: path: "{{ output_dir }}/tmpdir" dest: "{{ output_dir }}/archive_remove_02.gz" format: gz remove: yes register: archive_remove_result_02 - debug: msg="{{ archive_remove_result_02 }}" - name: verify that the files archived file: path={{ output_dir }}/archive_remove_02.gz state=file - name: check if gz file exists and includes all text files assert: that: - "{{ archive_remove_result_02.changed }}" - "{{ 'archived' in archive_remove_result_02 }}" - "{{ archive_remove_result_02['archived'] | length }} == 3" - name: remove our gz file: path="{{ output_dir }}/archive_remove_02.gz" state=absent - name: check if src folder has been removed assert: that: - "'{{ output_dir }}/tmpdir' is not exists" - name: create temporary directory again file: path: "{{ output_dir }}/tmpdir" state: directory - name: prep our files in tmpdir again copy: src={{ item }} dest={{ output_dir }}/tmpdir/{{ item }} with_items: - foo.txt - bar.txt - empty.txt - name: archive using gz and remove src directory excluding one file archive: path: "{{ output_dir }}/tmpdir/*" dest: "{{ output_dir }}/archive_remove_03.gz" format: gz remove: yes exclude_path: "{{ output_dir }}/tmpdir/empty.txt" register: archive_remove_result_03 - debug: msg="{{ archive_remove_result_03 }}" - name: verify that the files archived file: path={{ output_dir }}/archive_remove_03.gz state=file - name: check if gz file exists and includes all text files assert: that: - "{{ archive_remove_result_03.changed }}" - "{{ 'archived' in archive_remove_result_03 }}" - "{{ archive_remove_result_03['archived'] | length }} == 2" - name: remove our gz file: path="{{ output_dir }}/archive_remove_03.gz" state=absent - name: verify that excluded file is still present file: path={{ output_dir }}/tmpdir/empty.txt state=file - name: prep our files in tmpdir again copy: src={{ item }} dest={{ output_dir }}/tmpdir/{{ item }} with_items: - foo.txt - bar.txt - empty.txt - sub - sub/subfile.txt - name: archive using gz and remove src directory archive: path: - "{{ output_dir }}/tmpdir/*.txt" - "{{ output_dir }}/tmpdir/sub/*" dest: "{{ output_dir }}/archive_remove_04.gz" format: gz remove: yes exclude_path: "{{ output_dir }}/tmpdir/sub/subfile.txt" register: archive_remove_result_04 - debug: msg="{{ archive_remove_result_04 }}" - name: verify that the files archived file: path={{ output_dir }}/archive_remove_04.gz state=file - name: remove our gz file: path="{{ output_dir }}/archive_remove_04.gz" state=absent - name: verify that excluded sub file is still present file: path={{ output_dir }}/tmpdir/sub/subfile.txt state=file - name: prep our files in tmpdir again copy: src={{ item }} dest={{ output_dir }}/tmpdir/{{ item }} with_items: - foo.txt - bar.txt - empty.txt - sub - sub/subfile.txt - name: archive using gz and remove src directory archive: path: - "{{ output_dir }}/tmpdir/" dest: "{{ output_dir }}/archive_remove_05.gz" format: gz remove: yes exclude_path: "{{ output_dir }}/tmpdir/sub/subfile.txt" register: archive_remove_result_05 - name: verify that the files archived file: path={{ output_dir }}/archive_remove_05.gz state=file - name: Verify source files were removed file: path: "{{ output_dir }}/tmpdir" state: absent register: archive_source_file_removal_05 - name: Verify that task status is success assert: that: - archive_remove_result_05 is success - archive_source_file_removal_05 is not changed - name: remove our gz file: path="{{ output_dir }}/archive_remove_05.gz" state=absent