func tf_to_vbox(d *schema.ResourceData, vm *vbox.Machine) error {
	var err error
	vm.OSType = "Linux_64"
	vm.CPUs = uint(d.Get("cpus").(int))
	bytes, err := humanize.ParseBytes(d.Get("memory").(string))
	vm.Memory = uint(bytes / humanize.MiByte) // VirtualBox expect memory to be in MiB units
	if err != nil {
		return err
	}
	vm.VRAM = 20 // Always 10MiB for vram
	vm.Flag = vbox.F_acpi | vbox.F_ioapic | vbox.F_rtcuseutc | vbox.F_pae |
		vbox.F_hwvirtex | vbox.F_nestedpaging | vbox.F_largepages | vbox.F_longmode |
		vbox.F_vtxvpid | vbox.F_vtxux
	vm.BootOrder = []string{"disk", "none", "none", "none"}
	vm.NICs, err = net_tf_to_vbox(d)
	userData := d.Get("user_data").(string)
	if userData != "" {
		err = vm.SetExtraData("user_data", userData)
	}
	return err
}