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!