Для добавления недостающей части к Ansible playbook, чтобы собрать данные об удаленных машинах, их IP-адресах, хостнеймах, и установленных пакетах с версией, нам потребуется использовать Ansible модули и факты.
Ниже приведен пример Ansible playbook, который собирает указанную информацию:
```yaml
---
- hosts: all
tasks:
- name: Получить IP-адрес удаленной машины
debug:
msg: "IP-адрес {{ ansible_host }}"
- name: Получить хостнейм удаленной машины
debug:
msg: "Хостнейм {{ ansible_hostname }}"
- name: Получить установленные пакеты с версией
debug:
msg: "Пакеты {{ ansible_facts.packages }}"
```
В этом примере используются встроенные переменные Ansible (ansible_host для IP-адреса, ansible_hostname для хостнейма) и факты (ansible_facts.packages для списка установленных пакетов с версией).
После запуска данного playbook на управляющей машине будет отображена информация об IP-адресе, хостнейме и установленных пакетах для каждой удаленной машины, указанной в инвентаре.
Дополнительно, можно использовать другие модули Ansible, такие как command, shell или setup для выполнения команд на удаленных машинах и получения различной информации о них.