Class: Kitchen::Transport::Ssh
- Defined in:
- lib/kitchen/transport/ssh.rb
Overview
A Transport which uses the SSH protocol to execute commands and transfer files.
Defined Under Namespace
Classes: Connection
Instance Attribute Summary
Attributes included from Configurable
Instance Method Summary collapse
-
#connection(state, &block) ⇒ Connection
Creates a new Connection, configured by a merging of configuration and state data.
- #finalize_config!(instance) ⇒ Object
Methods inherited from Base
#initialize, kitchen_transport_api_version
Methods included from Logging
#banner, #debug, #error, #fatal, #info, #warn
Methods included from Configurable
#[], #bourne_shell?, #calculate_path, #config_keys, #diagnose, #diagnose_plugin, included, #name, #powershell_shell?, #remote_path_join, #unix_os?, #verify_dependencies, #windows_os?
Constructor Details
This class inherits a constructor from Kitchen::Transport::Base
Instance Method Details
#connection(state, &block) ⇒ Connection
Creates a new Connection, configured by a merging of configuration and state data. Depending on the implementation, the Connection could be saved or cached to speed up multiple calls, given the same state hash as input.
78 79 80 81 82 83 84 85 86 |
# File 'lib/kitchen/transport/ssh.rb', line 78 def connection(state, &block) = (config.to_hash.merge(state)) if @connection && @connection_options == reuse_connection(&block) else create_new_connection(, &block) end end |
#finalize_config!(instance) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/kitchen/transport/ssh.rb', line 62 def finalize_config!(instance) super # zlib was never a valid value and breaks in net-ssh >= 2.10 # TODO: remove these backwards compatiable casts in 2.0 case config[:compression] when "zlib" config[:compression] = "[email protected]" when "none" config[:compression] = false end self end |