Puppet Function: deprecation

Defined in:
modules/stdlib/lib/puppet/functions/deprecation.rb
Function type:
Ruby 4.x API

Overview

deprecation(String $key, String $message)Any

Function to print deprecation warnings, Logs a warning once for a given key.

The uniqueness key - can appear once. The msg is the message text including any positional information that is formatted by the user/caller of the method. It is affected by the puppet setting 'strict', which can be set to :error (outputs as an error message), :off (no message / error is displayed) and :warning (default, outputs a warning) Type: String, String.

Parameters:

Returns:

  • (Any)

    deprecated warnings



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'modules/stdlib/lib/puppet/functions/deprecation.rb', line 10

Puppet::Functions.create_function(:deprecation) do
  # @param key
  # @param  message
  # @return deprecated warnings
  dispatch :deprecation do
    param 'String', :key
    param 'String', :message
  end

  def deprecation(key, message)
    if defined? Puppet::Pops::PuppetStack.stacktrace
      stacktrace = Puppet::Pops::PuppetStack.stacktrace()
      file = stacktrace[0]
      line = stacktrace[1]
      message = "#{message} at #{file}:#{line}"
    end
    # depending on configuration setting of strict
    case Puppet.settings[:strict]
    when :off # rubocop:disable Lint/EmptyWhen : Is required to prevent false errors
      # do nothing
    when :error
      raise("deprecation. #{key}. #{message}")
    else
      unless ENV['STDLIB_LOG_DEPRECATIONS'] == 'false'
        Puppet.deprecation_warning(message, key)
      end
    end
  end
end