module ILO_SDK::LogEntryHelper
Contains helper methods for Log Entry actions
Public Instance Methods
clear_logs(log_type)
click to toggle source
Clear the specified logs @param [String, Symbol] log_type @raise [RuntimeError] if the request failed @return true
# File lib/ilo-sdk/helpers/log_entry_helper.rb, line 34 def clear_logs(log_type) new_action = { 'Action' => 'ClearLog' } response = rest_post(uri_for_log_type(log_type), body: new_action) response_handler(response) true end
get_logs(severity_level, duration, log_type)
click to toggle source
Get the specified logs @param [String, Symbol, NilClass] severity_level Set to nil to get all logs @param [String, Symbol] duration Up to this many hours ago @param [String, Symbol] log_type IEL or IML @raise [RuntimeError] if the request failed @return [Array] log entries
# File lib/ilo-sdk/helpers/log_entry_helper.rb, line 56 def get_logs(severity_level, duration, log_type) response = rest_get("#{uri_for_log_type(log_type)}Entries/") entries = response_handler(response)['Items'] start_time = Time.now.utc - (duration * 3600) if severity_level.nil? entries.select { |e| Time.parse(e['Created']) > start_time } else entries.select { |e| severity_level.to_s.casecmp(e['Severity']) == 0 && Time.parse(e['Created']) > start_time } end end
logs_empty?(log_type)
click to toggle source
Check to see if the specified logs are empty @param [String, Symbol] log_type @raise [RuntimeError] if the request failed @return [TrueClass, FalseClass] logs_empty
# File lib/ilo-sdk/helpers/log_entry_helper.rb, line 45 def logs_empty?(log_type) response = rest_get("#{uri_for_log_type(log_type)}Entries/") response_handler(response)['Items'].empty? end
uri_for_log_type(log_type, id = 1)
click to toggle source
Get the URI for the specified log type @param [String, Symbol] log_type @raise [RuntimeError] if type is invalid @return [String] URI of log service
# File lib/ilo-sdk/helpers/log_entry_helper.rb, line 21 def uri_for_log_type(log_type, id = 1) resource = case log_type.to_s.upcase when 'IEL' then 'Managers' when 'IML' then 'Systems' else raise "Invalid log_type '#{log_type}'. Valid options are IEL and IML" end "/redfish/v1/#{resource}/#{id}/LogServices/#{log_type.upcase}/" end