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

7 years ago
7 years ago
  1. ---
  2. - name: Download file if necessary
  3. when: source | regex_search('^https?://')
  4. get_url: "url={{source}} dest={{localdir}}/{{source | basename | regex_replace('\\?.*$','')}}"
  5. register: downloaded
  6. connection: local
  7. run_once: yes
  8. become: no
  9. - name: Figure out file source
  10. set_fact:
  11. compiledsource: "{{ (downloaded.skipped is defined) | ternary(source, downloaded.dest) }}"
  12. connection: local
  13. become: no
  14. - name: Extract file to destination
  15. when: compiledsource | regex_search('\\.(zip|tar|tar\\.gz|tgz|tb2|tbz|tbz2|tar\\.bz2|txz|tar\\.xz)$')
  16. register: extractcopy
  17. unarchive:
  18. src: "{{compiledsource}}"
  19. dest: "{{destination}}"
  20. - name: Copy non-zipped file to destination
  21. when: extractcopy.skipped is defined
  22. copy: "src='{{compiledsource}}' dest='{{destination}}'"