def _generate_uri
uri = @driver.dup
virt_path = case uri
when 'qemu', 'kvm'
@qemu_use_session ? '/session' : '/system'
when 'openvz', 'uml', 'phyp', 'parallels'
'/system'
when '@en', 'esx'
'/'
when 'vbox', 'vmwarews', 'hyperv'
'/session'
else
raise "Require specify driver #{uri}"
end
if uri == 'kvm'
uri = 'qemu'
end
if @connect_via_ssh
uri << '+ssh://'
uri << @username + '@' if @username
uri << if @host
@host
else
'localhost'
end
else
uri << '://'
uri << @host if @host
end
uri << virt_path
uri << '?no_verify=1'
if @id_ssh_key_file
uri << "\&keyfile="
@id_ssh_key_file.prepend("#{`echo ${HOME}`.chomp}/.ssh/") if @id_ssh_key_file !~ /\A\//
uri << @id_ssh_key_file
end
uri << "\&socket=" + @socket if @socket
uri
end