deploy/ansible/roles-sap/3.3-bom-processing/tasks/process_exe_archives.yaml (38 lines of code) (raw):

# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. --- - name: 'Create temporary extract directory {{ item.archive }}' ansible.builtin.tempfile: path: "/mnt" state: directory suffix: extract register: tempdir - name: Show extract command ansible.builtin.debug: msg: - "Extract directory: {{ tempdir.path }}" - "Extract command: {% if (ansible_os_family | upper) == 'REDHAT' %}unar -s -D{% else %}unrar x{% endif %} {{ target_media_location }}/{% if item.path is undefined %}downloads{% else %}{{ item.path }}{% endif %}/{% if item.filename is undefined %}{{ item.archive }}{% else %}{{ item.filename }}{% endif %}" - name: "Install unar on RHEL" ansible.builtin.dnf: name: unar state: present skip_broken: true when: (ansible_os_family | upper) == 'REDHAT' - name: "3.3 BoM Processing: - Extract File, exe file" ansible.builtin.command : "{% if (ansible_os_family | upper) == 'REDHAT' %}unar -s -D{% else %}unrar x{% endif %} {{ target_media_location }}/{% if item.path is undefined %}downloads{% else %}{{ item.path }}{% endif %}/{% if item.filename is undefined %}{{ item.archive }}{% else %}{{ item.filename }}{% endif %}" args: chdir: '{{ tempdir.path }}' creates: '{{ tempdir.path }}{% if item.tempDir is defined %}/{{ item.tempDir }}{% endif %}/{{ item.creates }}' register: extract_result - name: Show extract result ansible.builtin.debug: var: extract_result # - name: Wait for file to exist before continuing # ansible.builtin.wait_for: # path: '{{ tempdir.path }}{% if item.tempDir is defined %}/{{ item.tempDir }}{% endif %}/{{ item.creates }}' - name: Copy the folder ansible.builtin.copy: src: '{{ tempdir.path }}{% if item.tempDir is defined %}/{{ item.tempDir }}{% endif %}/' dest: '{{ target_media_location }}/{{ item.extractDir }}' remote_src: true mode: 0755 - name: Remove extract directory ansible.builtin.file: path: '{{ tempdir.path }}' state: absent ...