Sha256: 556089337d2ea8b0574134cc760bb59bd60dab646afc49a5fd471e2af3c5abb2
Contents?: true
Size: 1.28 KB
Versions: 4
Compression:
Stored size: 1.28 KB
Contents
module Kitchen module Transport class Winrm < Kitchen::Transport::Base # Monkey patch of test-kitchen winrm transport # that returns stdout class Connection < Kitchen::Transport::Base::Connection def node_execute(command, &block) unelevated_session.run(command, &block) end end end end module Provisioner module Finder # WinRM implementation for returning active non-localhost IPs class Winrm Finder.register_finder(Kitchen::Transport::Winrm, self) def initialize(connection) @connection = connection end def find_ips out = @connection.node_execute( '(ipconfig) -match \'IPv[46] Address\'' ) data = [] out.stdout.lines.each do |line| data << Regexp.last_match[1] if line.chomp =~ /:\s*(\S+)/ end data end def find_fqdn out = @connection.node_execute <<-EOS [System.Net.Dns]::GetHostByName($env:computername) | FL HostName | Out-String | % { \"{0}\" -f $_.Split(':')[1].Trim() } EOS data = '' data = out.stdout.chomp unless out.stdout.nil? data end end end end end
Version data entries
4 entries across 4 versions & 3 rubygems