PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
| Dir : /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/options/ |
| Server: Linux server1.ngambekcore.com 4.18.0-553.51.1.el8_10.x86_64 #1 SMP Wed Apr 30 04:00:07 EDT 2025 x86_64 IP: 159.198.77.92 |
| Dir : //opt/puppetlabs/puppet/lib/ruby/vendor_ruby/facter/framework/core/options/option_store.rb |
# frozen_string_literal: true
module Facter
class OptionStore
# default options
@debug = false
@verbose = false
# TODO: constant is not yet available when running puppet facts
@log_level = :warn
@show_legacy = true
@custom_facts = true
@blocked_facts = []
@ruby = true
@external_facts = true
@config = nil
@strict = false
@json = false
@cache = true
@yaml = false
@puppet = false
@ttls = []
@block = true
@cli = nil
@config_file_custom_dir = []
@config_file_external_dir = []
@default_external_dir = []
@fact_groups = {}
@sequential = true
@ttls = []
@block_list = []
@color = true
@trace = false
@timing = false
@external_dir = []
@custom_dir = []
@hocon = false
@allow_external_loggers = true
@force_dot_resolution = false
@http_debug = false
class << self
attr_reader :debug, :verbose, :log_level, :show_legacy,
:custom_facts, :blocked_facts, :ruby, :external_facts
attr_accessor :config, :strict, :json,
:cache, :yaml, :puppet, :ttls, :block, :cli, :config_file_custom_dir,
:config_file_external_dir, :default_external_dir, :fact_groups, :force_dot_resolution,
:block_list, :color, :trace, :sequential, :timing, :hocon, :allow_external_loggers, :http_debug
attr_writer :external_dir
def all
options = {}
instance_variables.each do |iv|
variable_name = iv.to_s.delete('@')
options[variable_name.to_sym] = OptionStore.send(variable_name.to_sym)
end
options
end
def no_ruby=(bool)
if bool
@ruby = false
@custom_facts = false
@blocked_facts << 'ruby'
else
@ruby = true
end
end
def no_block=(bool)
@block = !bool
end
def no_cache=(bool)
@cache = !bool
end
def no_color=(bool)
@color = !bool
end
def external_dir
return fallback_external_dir if @external_dir.empty? && @external_facts
@external_dir
end
def blocked_facts=(*facts)
@blocked_facts += [*facts]
@blocked_facts.flatten!
end
def custom_dir
return @config_file_custom_dir unless @custom_dir.any?
@custom_dir
end
def custom_dir=(*dirs)
@ruby = true
@custom_dir = [*dirs]
@custom_dir.flatten!
end
def debug=(bool)
if bool == true
self.log_level = :debug
else
@debug = false
self.log_level = Facter::DEFAULT_LOG_LEVEL
end
end
def verbose=(bool)
if bool == true
@verbose = true
self.log_level = :info
else
@verbose = false
self.log_level = Facter::DEFAULT_LOG_LEVEL
end
end
def no_custom_facts=(bool)
if bool == false
@custom_facts = true
@ruby = true
else
@custom_facts = false
end
end
def no_external_facts=(bool)
@external_facts = !bool
end
def log_level=(level)
level = level.to_sym
case level
when :trace
@log_level = :debug
when :debug
@log_level = :debug
@debug = true
else
@log_level = level
end
Facter::Log.level = @log_level
end
def show_legacy=(bool)
if bool == true
@show_legacy = bool
@ruby = true
else
@show_legacy = false
end
end
def set(key, value)
send("#{key}=".to_sym, value)
end
def reset
@debug = false
@verbose = false
# TODO: constant is not yet available when running puppet facts
@log_level = :warn
@show_legacy = true
@ruby = true
@json = false
@hocon = false
@cache = true
@yaml = false
@puppet = false
@ttls = []
@block = true
@cli = nil
@http_debug = false
reset_config
end
def reset_config
@blocked_facts = []
@external_facts = true
@config = nil
@strict = false
@config_file_custom_dir = []
@config_file_external_dir = []
@default_external_dir = []
@fact_groups = {}
@block_list = {}
@color = true
@sequential = true
@ttls = []
@trace = false
@timing = false
@allow_external_loggers = true
reset_facts
end
def reset_facts
@custom_facts = true
@force_dot_resolution = false
@external_dir = []
@custom_dir = []
end
def fallback_external_dir
return @config_file_external_dir if @config_file_external_dir.any?
@default_external_dir
end
end
end
end