Using VMware dynamic inventory plugin

VMware Dynamic Inventory Plugin

The best way to interact with your hosts is to use the VMware dynamic inventory plugin, which dynamically queries VMware APIs and tells Ansible what nodes can be managed.

To be able to use this VMware dynamic inventory plugin, you need to enable it first by specifying the following in the ansible.cfg file:

[inventory]
enable_plugins = vmware_vm_inventory

Then, create a file that ends in .vmware.yml or .vmware.yaml in your working directory.

The vmware_vm_inventory script takes in the same authentication information as any VMware module.

Here’s an example of a valid inventory file:

plugin: vmware_vm_inventory
strict: False
hostname: 10.65.223.31
username: [email protected]
password: Esxi@123$%
validate_certs: False
with_tags: True

Executing ansible-inventory --list -i <filename>.vmware.yml will create a list of VMware instances that are ready to be configured using Ansible.

See also

pyVmomi
The GitHub Page of pyVmomi
pyVmomi Issue Tracker
The issue tracker for the pyVmomi project
Working With Playbooks
An introduction to playbooks