Files
ansible-inventories/get_vxrail_linux_inventory.yml

40 lines
1.6 KiB
YAML

---
- name: Gather Linux VM inventory from VxRail vCenter
hosts: localhost
gather_facts: false
vars:
vcenter_hostname: "your_vcenter_ip" # Replace with your vCenter IP or hostname
vcenter_username: "administrator@vsphere.local" # Replace with your vCenter username
vcenter_password: "your_password" # Replace with your vCenter password (use ansible-vault for security)
validate_certs: false # Set to true if you have valid certs
cluster_name: "your_cluster_name" # Optional: Specify the VxRail cluster name if needed
tasks:
- name: Gather information about all VMs in vCenter
community.vmware.vmware_vm_info:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: "{{ validate_certs }}"
cluster: "{{ cluster_name }}" # Optional: Filter by cluster
register: vm_info
- name: Filter Linux VMs
set_fact:
linux_vms: "{{ vm_info.virtual_machines | selectattr('guest_full_name', 'contains', 'Linux') | list }}"
- name: Display the Linux VM inventory
debug:
var: linux_vms
- name: Save Linux VM inventory to file
copy:
content: "{{ linux_vms | to_nice_json }}"
dest: /root/vxrail_linux_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.
# - This playbook assumes connection to vCenter managing the VxRail cluster.