Class: NodeSpec::CommunicationAdapters::WinrmCommunicator
- Inherits:
-
Object
- Object
- NodeSpec::CommunicationAdapters::WinrmCommunicator
- Includes:
- VerboseOutput
- Defined in:
- lib/nodespec/communication_adapters/winrm_communicator.rb
Constant Summary collapse
- DEFAULT_PORT =
5985
- DEFAULT_TRANSPORT =
:plaintext
- DEFAULT_TRANSPORT_OPTIONS =
{disable_sspi: true}
Instance Attribute Summary collapse
-
#session ⇒ Object
readonly
Returns the value of attribute session.
Instance Method Summary collapse
- #backend ⇒ Object
- #backend_proxy ⇒ Object
- #init_session(configuration) ⇒ Object
-
#initialize(host, options = {}) ⇒ WinrmCommunicator
constructor
A new instance of WinrmCommunicator.
Methods included from VerboseOutput
Constructor Details
#initialize(host, options = {}) ⇒ WinrmCommunicator
Returns a new instance of WinrmCommunicator.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/nodespec/communication_adapters/winrm_communicator.rb', line 16 def initialize(host, = {}) @host = host opts = .dup port = opts.delete('port') || DEFAULT_PORT @endpoint = "http://#{host}:#{port}/wsman" if opts.has_key?('transport') @transport = opts.delete('transport').to_sym @options = opts else @transport = DEFAULT_TRANSPORT @options = DEFAULT_TRANSPORT_OPTIONS.merge(opts) end @options = @options.inject({}) {|h,(k,v)| h[k.to_sym] = v; h} end |
Instance Attribute Details
#session ⇒ Object (readonly)
Returns the value of attribute session.
14 15 16 |
# File 'lib/nodespec/communication_adapters/winrm_communicator.rb', line 14 def session @session end |
Instance Method Details
#backend ⇒ Object
47 48 49 |
# File 'lib/nodespec/communication_adapters/winrm_communicator.rb', line 47 def backend :winrm end |
#backend_proxy ⇒ Object
43 44 45 |
# File 'lib/nodespec/communication_adapters/winrm_communicator.rb', line 43 def backend_proxy BackendProxy.create(:winrm, @session) end |
#init_session(configuration) ⇒ Object
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/nodespec/communication_adapters/winrm_communicator.rb', line 32 def init_session(configuration) configuration.unbind_ssh_session @session = configuration.bind_winrm_session_for({host: @host, endpoint: @endpoint}) do RuntimeGemLoader.require_or_fail('winrm') do verbose_puts "\nConnecting to #{@endpoint}..." WinRM::WinRMWebService.new(@endpoint, @transport, @options) end end end |