module ChefHandlerForeman::ForemanHooks
Attributes
foreman_facts_handler[R]
foreman_report_handler[R]
foreman_reporter[R]
foreman_uploader[R]
Public Instance Methods
foreman_enc(enc, level = 'force_default')
click to toggle source
# File lib/chef_handler_foreman/foreman_hooks.rb, line 82 def foreman_enc(enc, level = 'force_default') if enc @foreman_enc_fetcher = ForemanEncFetcher.new(level) @foreman_enc_fetcher.uploader = @foreman_uploader if Chef::Config[:event_handlers].is_a?(Array) Chef::Config[:event_handlers].push @foreman_enc_fetcher else Chef::Config[:event_handlers] = [@foreman_enc_fetcher] end end end
foreman_facts_blacklist(blacklist)
click to toggle source
# File lib/chef_handler_foreman/foreman_hooks.rb, line 64 def foreman_facts_blacklist(blacklist) if @foreman_facts_handler @foreman_facts_handler.blacklist = blacklist end end
foreman_facts_cache_file(cache_file)
click to toggle source
# File lib/chef_handler_foreman/foreman_hooks.rb, line 76 def foreman_facts_cache_file(cache_file) if @foreman_facts_handler @foreman_facts_handler.cache_file = cache_file end end
foreman_facts_upload(upload)
click to toggle source
# File lib/chef_handler_foreman/foreman_hooks.rb, line 32 def foreman_facts_upload(upload) if upload @foreman_facts_handler = ForemanFacts.new @foreman_facts_handler.uploader = @foreman_uploader report_handlers << @foreman_facts_handler exception_handlers << @foreman_facts_handler end end
foreman_facts_whitelist(whitelist)
click to toggle source
# File lib/chef_handler_foreman/foreman_hooks.rb, line 70 def foreman_facts_whitelist(whitelist) if @foreman_facts_handler @foreman_facts_handler.whitelist = whitelist end end
foreman_reports_upload(upload, mode = 1)
click to toggle source
# File lib/chef_handler_foreman/foreman_hooks.rb, line 41 def foreman_reports_upload(upload, mode = 1) if upload case mode when 1 @foreman_reporter = ForemanResourceReporter.new(nil) @foreman_reporter.uploader = @foreman_uploader @foreman_reporter.log_level = @foreman_reports_log_level if Chef::Config[:event_handlers].is_a?(Array) Chef::Config[:event_handlers].push @foreman_reporter else Chef::Config[:event_handlers] = [@foreman_reporter] end when 2 @foreman_report_handler = ForemanReporting.new @foreman_report_handler.uploader = @foreman_uploader report_handlers << @foreman_report_handler exception_handlers << @foreman_report_handler else raise ArgumentError, 'unknown mode: ' + mode.to_s end end end
foreman_server_options(options={})
click to toggle source
{:url => '', …}
# File lib/chef_handler_foreman/foreman_hooks.rb, line 22 def foreman_server_options(options={}) options[:client_key] = client_key || '/etc/chef/client.pem' unless options[:client_key] raise "No Foreman URL! Please provide a URL" unless options[:url] @foreman_uploader = ForemanUploader.new(options) # set uploader if handlers are already created @foreman_facts_handler.uploader = @foreman_uploader if @foreman_facts_handler @foreman_report_handler.uploader = @foreman_uploader if @foreman_report_handler @foreman_reporter.uploader = @foreman_uploader if @foreman_reporter end
foreman_server_url(url)
click to toggle source
Provide a chef-client cookbook friendly option
# File lib/chef_handler_foreman/foreman_hooks.rb, line 17 def foreman_server_url(url) foreman_server_options(:url => url) end
reports_log_level(level)
click to toggle source
level can be string error notice debug
# File lib/chef_handler_foreman/foreman_hooks.rb, line 95 def reports_log_level(level) raise ArgumentError, 'unknown level: ' + level.to_s unless %w(error notice debug).include?(level) @foreman_reports_log_level = level if @foreman_reporter @foreman_reporter.log_level = level end end