puppetlabs/puppet · error · Puppet::Settings::SettingError

The %{parameter} parameter for the setting '%{name}' must be

Error message

The %{parameter} parameter for the setting '%{name}' must be either 'root' or 'service', not '%{value}'

What it means

Error "The %{parameter} parameter for the setting '%{name}' must be either 'root' or 'service', not '%{value}'" thrown in puppetlabs/puppet.

Source

Thrown at lib/puppet/settings/file_setting.rb:205

  # @param option [String] Extra file operation mode information to use
  #   (defaults to read-only mode 'r')
  #   This is the standard mechanism Ruby uses in the IO class, and therefore
  #   encoding may be explicitly like fmode : encoding or fmode : "BOM|UTF-*"
  #   for example, a:ASCII or w+:UTF-8
  def open(option = 'r', &block)
    controlled_access do |mode|
      Puppet::FileSystem.open(file, mode, option, &block)
    end
  end

  private

  def file
    Puppet::FileSystem.pathname(value)
  end

  def unknown_value(parameter, value)
    raise SettingError, _("The %{parameter} parameter for the setting '%{name}' must be either 'root' or 'service', not '%{value}'") % { parameter: parameter, name: name, value: value }
  end

  def controlled_access(&block)
    chown = nil
    if Puppet.features.root?
      chown = [owner, group]
    else
      chown = [nil, nil]
    end

    Puppet::Util::SUIDManager.asuser(*chown) do
      # Update the umask to make non-executable files
      Puppet::Util.withumask(File.umask ^ 0o111) do
        yielded_value = case mode
                        when String
                          mode.to_i(8)
                        when NilClass
                          0o640

View on GitHub (pinned to e227c27540)

When it happens

Trigger: Thrown at lib/puppet/settings/file_setting.rb:205 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of puppetlabs/puppet@e227c27540 (2026-08-21). Data as JSON: /api/errors/058e0362574c6b0f. Report an issue: GitHub.