Мне нужно получить оставшийся размер раздела C :, и у меня есть trooble, чтобы сделать это с модулем win_disk_fact.
Конечная цель - проверить, если оставшийся размер меньше 4 ГБ, перед обработкой установки программного обеспечения, но сейчас я просто пытаюсь напечатать значение с отладкой.
Я использую модуль win_disk_facts (https://docs.ansible.com/ansible/latest/modules/win_disk_facts_module.html) и могу отображать правильное значение с помощью
- debug:
var: ansible_facts.disks[0].partitions[1].volumes[0].size_remaining
Но в зависимости от того, где будет использоваться эта роль, раздел C: может отсутствовать на первом диске, раздел 1, том 0, это может быть где-то еще, я не имею представления об этом (я разрабатываю общую роль это будет широко использоваться другими людьми)
Я пытался использовать фильтр jinja, но когда я отображаю var, он возвращается пустым:
var:
disk_C: '{{ ansible_facts.disks|selectattr("drive_letter", "C") }}'
- debug:
var: disk_C
Есть также кое-что, что я не получаю, если я пытаюсь отобразить размер в:
- debug:
var: ansible_facts.disks[0].partitions[1].volumes[0].size_remaining
Результат:
ok: [lab-win-01] => {
"ansible_facts.disks[0].partitions[1].volumes[0].size_remaining": "52275679232"
}
Но если я попытаюсь сохранить это значение в новой переменной (для повторного использования в другом месте)
vars:
diskC: '{{ ansible_facts.disks[0].partitions[1].volumes[0].size_remaining }}'
- debug:
var: diskC
Тогда результат:
ok: [lab-bs-win-01] => {
"diskC": "VARIABLE IS NOT DEFINED!"
}
Пожалуйста, кто-нибудь может рассказать мне об этих двух вопросах?