Developing dynamic inventory plugins
Inventory plugins are bits of code that will create inventory data for an Ansible execution. In many environments, the simple ini
file style inventory source and variable structure is not sufficient to represent the actual infrastructure being managed. In such cases, a dynamic inventory source is desired, one that will discover the inventory and data at runtime at every execution of Ansible. A number of these dynamic sources ship with Ansible, primarily to operate Ansible with the infrastructure built into one cloud computing platform or another. A short, incomplete list of dynamic inventory plugins that ship with Ansible includes:
apache-libcloud
cobbler
console_io
digital_ocean
docker
ec2
gce
libvirt_lxc
linode
openshift
openstack
rax
vagrant
vmware
windows_azure
An inventory plugin is essentially an executable script. Ansible calls the script with set arguments (--list
or --host <hostname>
) and expects JSON formatted output on standard...