Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/jammy64"

  config.vm.provider "virtualbox" do |v|
    v.memory = 512
  end

  config.vm.define "inetRouter" do |conf|
    conf.vm.network "private_network", adapter: 2, auto_config: false, virtualbox__intnet: "router-net"
    conf.vm.network "private_network", adapter: 3, auto_config: false, virtualbox__intnet: "router-net"
    conf.vm.hostname = "inetRouter"
    conf.vm.provider "virtualbox" do | net|
       net.customize ["modifyvm", :id, "--nicpromisc2", "allow-all"]
       net.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"]
    end
  end



  config.vm.define "centralRouter" do |conf|
    conf.vm.network "private_network", adapter: 2, auto_config: false, virtualbox__intnet: "router-net"
    conf.vm.network "private_network", adapter: 3, auto_config: false, virtualbox__intnet: "router-net"
    conf.vm.network "private_network", adapter: 4, auto_config: false, virtualbox__intnet: "vlan10"
    conf.vm.network "private_network", adapter: 5, auto_config: false, virtualbox__intnet: "vlan20"
    conf.vm.provider "virtualbox" do | net|
       net.customize ["modifyvm", :id, "--nicpromisc2", "allow-all"]
       net.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"]
    end
    conf.vm.hostname = "centralRouter"
  end


 config.vm.define "testServer1" do |conf|
    conf.vm.network "private_network",auto_config: false, virtualbox__intnet: "vlan10"
    conf.vm.hostname = "testServer1"
  end

  config.vm.define "testClient1" do |conf|
    conf.vm.network "private_network",auto_config: false, virtualbox__intnet: "vlan10"
    conf.vm.hostname = "testClient1"
  end

  config.vm.define "testServer2" do |conf|
    conf.vm.network "private_network",auto_config: false, virtualbox__intnet: "vlan20"
    conf.vm.hostname = "testServer2"
  end

  config.vm.define "testClient2" do |conf|
    conf.vm.network "private_network",auto_config: false, virtualbox__intnet: "vlan20"
    conf.vm.hostname = "testClient2"
  end

  config.vm.provision "ansible" do |ansible|
    #ansible.verbose = "vvv"
    ansible.playbook = "ansible.yml"
    ansible.become = "true"
  end

end