blob: 9eafc22084ba1d95226bc99eb529f8a7d4db1e6c [file] [log] [blame]
---
#
# Wrapper to pass through following variables
# resources_source_host
# resources_dir
# resource_source_filename
# resource_destination_directory
# And handling target directory creation and possible removal on failure.
# Idempotence is also handled here as nothing is done if resource_destination_directory
# was already created.
#
# Logically also tranport method selection belongs to here but left it to caller
# as this is called in a loop causing "package_facts" called many times
# (not sure if it would matter).
#
- name: "Create {{ resource_destination_directory }} directory"
file:
path: "{{ resource_destination_directory }}"
state: directory
register: create_destination_dir
- name: "Handle transport of one archive file"
block:
- name: Re-set upload_failed
set_fact:
upload_failed: false
- name: "Unarchive resource {{ resource_source_filename }} from host {{ resources_source_host }}, transport is {{ transport }}"
include_tasks: "unarchive-{{ transport }}-resource.yml"
- name: "Remove the destination directory {{ resource_destination_directory }} on error"
file:
path: "{{ resource_destination_directory }}"
state: absent
when: upload_failed
when: create_destination_dir.changed