win_disk_facts - get size and size remaining

311 views
Skip to first unread message

Jeremie Levy

unread,
May 10, 2018, 7:22:46 AM5/10/18
to Ansible Project
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

Varun Chopra

unread,
May 11, 2018, 12:29:28 AM5/11/18
to Ansible Project
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.

Jeremie Levy

unread,
May 15, 2018, 1:52:53 AM5/15/18
to Ansible Project
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!
Reply all
Reply to author
Forward
0 new messages