Sha256: 8b2764d8328277afd26be691057145465de310ce582c2abe294d22ded29c7ebf

Contents?: true

Size: 1.02 KB

Versions: 142

Compression:

Stored size: 1.02 KB

Contents

require 'puppet/util/checksums'

# Specify which checksum algorithm to use when checksumming
# files.
Puppet::Type.type(:file).newparam(:checksum) do
  include Puppet::Util::Checksums

  desc "The checksum type to use when determining whether to replace a file's contents.

    The default checksum type is md5."

  newvalues "md5", "md5lite", "sha256", "sha256lite", "mtime", "ctime", "none"

  defaultto do
    Puppet[:digest_algorithm].to_sym
  end

  def sum(content)
    type = digest_algorithm()
    "{#{type}}" + send(type, content)
  end

  def sum_file(path)
    type = digest_algorithm()
    method = type.to_s + "_file"
    "{#{type}}" + send(method, path).to_s
  end

  def sum_stream(&block)
    type = digest_algorithm()
    method = type.to_s + "_stream"
    checksum = send(method, &block)
    "{#{type}}#{checksum}"
  end

  private

  # Return the appropriate digest algorithm with fallbacks in case puppet defaults have not
  # been initialized.
  def digest_algorithm
    value || Puppet[:digest_algorithm].to_sym
  end
end

Version data entries

142 entries across 142 versions & 2 rubygems

Version Path
puppet-retrospec-1.5.0 vendor/gems/puppet-4.5.2/lib/puppet/type/file/checksum.rb
puppet-retrospec-1.4.1 vendor/gems/puppet-4.5.2/lib/puppet/type/file/checksum.rb
puppet-retrospec-1.4.0 vendor/gems/puppet-4.5.2/lib/puppet/type/file/checksum.rb
puppet-retrospec-1.3.2 vendor/gems/puppet-4.5.2/lib/puppet/type/file/checksum.rb
puppet-retrospec-1.3.1 vendor/gems/puppet-4.5.2/lib/puppet/type/file/checksum.rb
puppet-retrospec-1.3.0 vendor/gems/puppet-4.5.2/lib/puppet/type/file/checksum.rb
puppet-4.7.1 lib/puppet/type/file/checksum.rb
puppet-4.7.1-x86-mingw32 lib/puppet/type/file/checksum.rb
puppet-4.7.1-x64-mingw32 lib/puppet/type/file/checksum.rb
puppet-4.7.1-universal-darwin lib/puppet/type/file/checksum.rb
puppet-retrospec-1.2.1 vendor/gems/puppet-4.5.2/lib/puppet/type/file/checksum.rb
puppet-retrospec-1.2.0 vendor/gems/puppet-4.5.2/lib/puppet/type/file/checksum.rb
puppet-4.7.0 lib/puppet/type/file/checksum.rb
puppet-4.7.0-x86-mingw32 lib/puppet/type/file/checksum.rb
puppet-4.7.0-x64-mingw32 lib/puppet/type/file/checksum.rb
puppet-4.7.0-universal-darwin lib/puppet/type/file/checksum.rb
puppet-4.6.2 lib/puppet/type/file/checksum.rb
puppet-4.6.2-x86-mingw32 lib/puppet/type/file/checksum.rb
puppet-4.6.2-x64-mingw32 lib/puppet/type/file/checksum.rb
puppet-4.6.2-universal-darwin lib/puppet/type/file/checksum.rb