40 lines
1.6 KiB
YAML
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.
|