require 'yaml' settings = YAML.load_file('settings.yaml') VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.ssh.insert_key = false config.vm.synced_folder ".", "/vagrant", disabled: true settings['vms'].each do |vm| config.vm.define vm['name'] do |node| node.vm.box = vm['os'] node.vm.hostname = vm['hostname'] node.vm.network :private_network, ip: vm['ip'] config.vm.provider settings['provider']['type'].to_sym do |v| v.memory = vm['memory'] v.linked_clone = settings['provider']['linked_clone'] end end end end