You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

27 lines
804 B

---
- 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}}'"