|
---
|
|
|
|
- name: Download file if necessary
|
|
when: source | regex_search('^https?://')
|
|
get_url: "url={{source}} dest={{localdir}}/{{source | basename | regex_replace('\\?.*$','')}}"
|
|
register: downloaded
|
|
connection: local
|
|
run_once: yes
|
|
become: no
|
|
|
|
- name: Figure out file source
|
|
set_fact:
|
|
compiledsource: "{{ (downloaded.skipped is defined) | ternary(source, downloaded.dest) }}"
|
|
connection: local
|
|
become: no
|
|
|
|
- name: Extract file to destination
|
|
when: compiledsource | regex_search('\\.(zip|tar|tar\\.gz|tgz|tb2|tbz|tbz2|tar\\.bz2|txz|tar\\.xz)$')
|
|
register: extractcopy
|
|
unarchive:
|
|
src: "{{compiledsource}}"
|
|
dest: "{{destination}}"
|
|
|
|
- name: Copy non-zipped file to destination
|
|
when: extractcopy.skipped is defined
|
|
copy: "src='{{compiledsource}}' dest='{{destination}}'"
|
|
|