Files
ansible-inventories/esxi_inventory_playbook.yml

33 lines
1.2 KiB
YAML

---
- name: Gather VM inventory from ESXi hypervisor
hosts: localhost
gather_facts: false
vars:
esxi_hostname: "your_esxi_host_ip" # Replace with your ESXi host IP or hostname
esxi_username: "root" # Replace with your ESXi username
esxi_password: "your_password" # Replace with your ESXi password (use ansible-vault for security)
validate_certs: false # Set to true if you have valid certs
tasks:
- name: Gather information about all VMs on the ESXi host
community.vmware.vmware_vm_info:
hostname: "{{ esxi_hostname }}"
username: "{{ esxi_username }}"
password: "{{ esxi_password }}"
validate_certs: "{{ validate_certs }}"
register: vm_info
- name: Display the VM inventory
debug:
var: vm_info
- name: Save VM inventory to file
copy:
content: "{{ vm_info | to_nice_json }}"
dest: /root/esxi_vm_inventory.json
# Notes:
# - Install the community.vmware collection: ansible-galaxy collection install community.vmware
# - Ensure pyvmomi is installed on the control machine: pip install pyvmomi
# - For production, secure passwords with ansible-vault or use environment variables.