win_disk_facts - get size and size remaining

Hi
I’m trying to use win_disk_facts new module.

I would like to get the size and remaining size of each disk/partition/volume.

Is there a way to “discover” how many of them there are in a kind of loop ?

  • name: Get disk facts
    win_disk_facts:
  • name: Output first disk size
    debug:
    msg: ‘{{ disk1s }}’
    vars:
    disk1s: ‘{{ ansible_facts.disks[0].partitions[0].volumes[0].size }}’

This one gives me info on the first partition, what about the others ? if there is 1 or 20 ?

Thanks!

@marqelme

@jborean93

This is pretty much why I was in favor of a separate module for volumes. I’d encountered the same issues but I ended up making my own module for it. You can take a look at this if it suits your fancy: https://github.com/chopraaa/win_volume_facts/

It’s kinda shit tbh but hey, it does the job.

I found how to loop over the data, but i still didn’t figure out how to select inside specific data

  • name: test 1
    debug:
    msg: “{{ item.key }}”
    with_dict: “{{ ansible_disks }}”

Got:

`


ok: [hostname] => (item=None) => {
“msg”: “partitions”
}

`

If trying to dig into partitions

{{ item.value.partitions }}

"msg": "The task includes an option with an undefined variable. The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'partitions'

Any chance someone give an input, it seems just a json gap i have and not ansible actually.

Thanks!