- hosts: localhost tasks: - name: Get disk usage ansible.builtin.command: df -h --output=source,size,used,avail,pcent,target register: disk_usage_raw - name: Parse disk usage ansible.builtin.set_fact: disk_usage: | {% set lines = disk_usage_raw.stdout_lines[1:] %} {% set parsed = [] %} {% for line in lines %} {% set parts = line.split() %} {% if parts | length >= 6 %} {% set _ = parsed.append({ 'source': parts[0], 'size': parts[1], 'used': parts[2], 'avail': parts[3], 'pcent': parts[4], 'target': parts[5] }) %} {% endif %} {% endfor %} {{ parsed }} - name: Print disk usage ansible.builtin.debug: var: disk_usage