- name: Container OS
  block:
  - name: Download container os if missing
    uri:
      url: "https://{{ PROXMOX_HOST }}:8006/api2/json/nodes/{{ PROXMOX_NODE }}/storage/local/download-url"
      method: POST
      headers: "{{ proxmox_auth | combine({'Content-Type': 'application/json'}) }}"
      body_format: json
      body:
        url: "http://download.proxmox.com/images/system/{{ os.split('/')[-1] }}"
        filename: "{{ os.split('/')[-1] }}"
        content: "vztmpl"
    register: os_download

  - name: Wait for os to be downloaded
    uri:
      url: "https://{{ PROXMOX_HOST }}:8006/api2/json/nodes/{{ PROXMOX_NODE }}/storage/local/content"
      method: GET
      headers: "{{ proxmox_auth }}"
    delay: "{{ check_delay }}"
    retries: "{{ check_retries }}"
    register: os_available
    until: os in (os_available.json.data | map(attribute='volid') | list)
    when: os_download is defined