Sha256: eb00ef11eba62fb741e8b67d8c739b6af147e33295e05d0823c1b77a9809009a

Contents?: true

Size: 1.25 KB

Versions: 293

Compression:

Stored size: 1.25 KB

Contents

require 'puppet/provider/parsedfile'

Puppet::Type.type(:sshkey).provide(
  :parsed,
  :parent => Puppet::Provider::ParsedFile,
  :filetype => :flat
) do
  desc "Parse and generate host-wide known hosts files for SSH."

  text_line :comment, :match => /^#/
  text_line :blank, :match => /^\s*$/

  record_line :parsed, :fields => %w{name type key},
    :post_parse => proc { |hash|
      names = hash[:name].split(",", -1)
      hash[:name]  = names.shift
      hash[:host_aliases] = names
    },
    :pre_gen => proc { |hash|
      if hash[:host_aliases]
        hash[:name] = [hash[:name], hash[:host_aliases]].flatten.join(",")
        hash.delete(:host_aliases)
      end
    }

  # Make sure to use mode 644 if ssh_known_hosts is newly created
  def self.default_mode
    0644
  end

  def self.default_target
    case Facter.value(:operatingsystem)
    when "Darwin"
      # Versions 10.11 and up use /etc/ssh/ssh_known_hosts
      version = Facter.value(:macosx_productversion_major)
      if version
        if Puppet::Util::Package.versioncmp(version, '10.11') >= 0
          "/etc/ssh/ssh_known_hosts"
        else
          "/etc/ssh_known_hosts"
        end
      else
        "/etc/ssh_known_hosts"
      end
    else
      "/etc/ssh/ssh_known_hosts"
    end
  end
end

Version data entries

293 entries across 293 versions & 3 rubygems

Version Path
puppet-5.5.22 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.22-x86-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.22-x64-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.22-universal-darwin lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.21 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.21-x86-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.21-x64-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.21-universal-darwin lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.20 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.20-x86-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.20-x64-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.20-universal-darwin lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.19 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.19-x86-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.19-x64-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.19-universal-darwin lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.18 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.18-x86-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.18-x64-mingw32 lib/puppet/provider/sshkey/parsed.rb
puppet-5.5.18-universal-darwin lib/puppet/provider/sshkey/parsed.rb