I put up a demo/tutorial on multi-machine vagrant, ingesting hostnames, ip addresses, forward guest-host port mappings, and default primary system, from a variety of file formats:
hosts file and other space delimited files,
INI config,
CSV tables,
SQL,
XML,
JSON, and
YAML. Some bash scripts are used to read the same data and create
hosts and
ssh_config on each system for password-less log-ons between systems.
The Vagrantfile reads in a ruby hash and creates the systems, and there's ruby code to read the data-files, build the ruby hash.
Lastly, for reference, put a simple static single-machine and static multi-machine, as well as in-memory Ruby hash multi-machine for comparison and learning. Check it out at:
Note, I only tested this on Mac OS X "El Capitan", but should work wherever there's Homebrew (OS X) or Chocolately (Windows).
- Joaquin Menchaca