Module: Vagrant::Util::Remote::SSH::ClassMethods

Defined in:
lib/vagrant/util/remote/ssh.rb

Instance Method Summary collapse

Instance Method Details

#_raw_exec(ssh, command_options, ssh_info, opts) ⇒ Object



11
12
13
# File 'lib/vagrant/util/remote/ssh.rb', line 11

def _raw_exec(ssh, command_options, ssh_info, opts)
  raise "ssh exec is not yet implemented in server mode"
end

#_raw_subprocess(ssh, command_options, ssh_info, opts) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/vagrant/util/remote/ssh.rb', line 15

def _raw_subprocess(ssh, command_options, ssh_info, opts)
  subprocess_opts = {
    notify: [:stdout, :stderr]
  }

  if ssh_info[:forward_env]
    subprocess_opts[:env] = {}
    ssh_info[:forward_env].each do |key|
      subprocess_opts[:env][key] = ENV[key]
    end
  end

  command_options.append(subprocess_opts)

  Vagrant::Util::Subprocess.execute(ssh, *command_options) do |type, output|
    # TODO(phinze): For now we're collapsing stderr and stdout, because
    # we don't (yet!) have a way of sending stderr back through
    # terminal.UI. Once we plumb through that capability we should be
    # able to switch on type here so things are printed where they go.
    opts[:ui].client.output output
  end
end