Class: Kitchen::Transport::Winrm
- Defined in:
- lib/kitchen/transport/winrm.rb
Overview
A Transport which uses WinRM 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
#cleanup!, #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/winrm.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
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/kitchen/transport/winrm.rb', line 58 def finalize_config!(instance) super transport = config[:winrm_transport].to_sym config[:winrm_transport] = case transport when :sspinegotiate if host_os_windows? transport else :plaintext end else transport end self end |