Book Image

Mastering Ansible

Book Image

Mastering Ansible

Overview of this book

Table of Contents (16 chapters)

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 for 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...