Sha256: da5627a5815ef22a25aa05fe2400fbf0ea5945b328cf6e25ab9c9f8ddea2550b

Contents?: true

Size: 1.16 KB

Versions: 214

Compression:

Stored size: 1.16 KB

Contents

require 'puppet/settings/base_setting'

# A setting that represents a scheduling priority, and evaluates to an
# OS-specific priority level.
class Puppet::Settings::PrioritySetting < Puppet::Settings::BaseSetting
  PRIORITY_MAP =
    if Puppet::Util::Platform.windows?
      require 'puppet/util/windows/process'
      {
        :high    => Puppet::Util::Windows::Process::HIGH_PRIORITY_CLASS,
        :normal  => Puppet::Util::Windows::Process::NORMAL_PRIORITY_CLASS,
        :low     => Puppet::Util::Windows::Process::BELOW_NORMAL_PRIORITY_CLASS,
        :idle    => Puppet::Util::Windows::Process::IDLE_PRIORITY_CLASS
      }
    else
      {
        :high    => -10,
        :normal  => 0,
        :low     => 10,
        :idle    => 19
      }
    end

  def type
    :priority
  end

  def munge(value)
    return unless value

    case
    when value.is_a?(Integer)
      value
    when (value.is_a?(String) and value =~ /\d+/)
      value.to_i
    when (value.is_a?(String) and PRIORITY_MAP[value.to_sym])
      PRIORITY_MAP[value.to_sym]
    else
      raise Puppet::Settings::ValidationError, "Invalid priority format '#{value.inspect}' for parameter: #{@name}"
    end
  end
end

Version data entries

214 entries across 214 versions & 2 rubygems

Version Path
puppet-4.10.4-universal-darwin lib/puppet/settings/priority_setting.rb
puppet-retrospec-1.4.1 vendor/gems/puppet-4.5.2/lib/puppet/settings/priority_setting.rb
puppet-4.10.1 lib/puppet/settings/priority_setting.rb
puppet-4.10.1-x86-mingw32 lib/puppet/settings/priority_setting.rb
puppet-4.10.1-x64-mingw32 lib/puppet/settings/priority_setting.rb
puppet-4.10.1-universal-darwin lib/puppet/settings/priority_setting.rb
puppet-retrospec-1.4.0 vendor/gems/puppet-4.5.2/lib/puppet/settings/priority_setting.rb
puppet-4.10.0 lib/puppet/settings/priority_setting.rb
puppet-4.10.0-x86-mingw32 lib/puppet/settings/priority_setting.rb
puppet-4.10.0-x64-mingw32 lib/puppet/settings/priority_setting.rb
puppet-4.10.0-universal-darwin lib/puppet/settings/priority_setting.rb
puppet-retrospec-1.3.2 vendor/gems/puppet-4.5.2/lib/puppet/settings/priority_setting.rb
puppet-4.9.4 lib/puppet/settings/priority_setting.rb
puppet-4.9.4-x86-mingw32 lib/puppet/settings/priority_setting.rb
puppet-4.9.4-x64-mingw32 lib/puppet/settings/priority_setting.rb
puppet-4.9.4-universal-darwin lib/puppet/settings/priority_setting.rb
puppet-retrospec-1.3.1 vendor/gems/puppet-4.5.2/lib/puppet/settings/priority_setting.rb
puppet-4.9.3 lib/puppet/settings/priority_setting.rb
puppet-4.9.3-x86-mingw32 lib/puppet/settings/priority_setting.rb
puppet-4.9.3-x64-mingw32 lib/puppet/settings/priority_setting.rb