class Facter::Resolvers::Windows::Ssh

Constants

FILE_NAMES

Private Class Methods

determine_ssh_dir() click to toggle source
# File lib/facter/resolvers/windows/ssh.rb, line 34
def determine_ssh_dir
  progdata_dir = ENV['programdata']

  return if !progdata_dir || progdata_dir.empty?

  File.join(progdata_dir, 'ssh')
end
post_resolve(fact_name) click to toggle source
# File lib/facter/resolvers/windows/ssh.rb, line 13
def post_resolve(fact_name)
  @fact_list.fetch(fact_name) { retrieve_info(fact_name) }
end
retrieve_info(fact_name) click to toggle source
# File lib/facter/resolvers/windows/ssh.rb, line 17
def retrieve_info(fact_name)
  ssh_dir = determine_ssh_dir
  return unless ssh_dir && File.directory?(ssh_dir)

  ssh_list = []

  FILE_NAMES.each do |file_name|
    output = Util::FileHelper.safe_read(File.join(ssh_dir, file_name))
    next if output.empty?

    key_type, key = output.split(' ')
    ssh_list << ::Resolvers::Utils::SshHelper.create_ssh(key_type, key)
  end
  @fact_list[:ssh] = ssh_list.empty? ? nil : ssh_list
  @fact_list[fact_name]
end