class HammerCLIForemanHostReports::CommandExtensions::HostReport

Public Class Methods

adjust_for_ansible(command_class, data, parsed) click to toggle source
# File lib/hammer_cli_foreman_host_reports/command_extensions/host_report.rb, line 50
def self.adjust_for_ansible(command_class, data, parsed)
  command_class.output_definition.insert(:after, :format) do
    field :check_mode, _('Check mode'), Fields::Boolean
  end
  command_class.output_definition.insert(:after, :summary) do
    collection :logs, _('Logs') do
      field :level, _('Level')
      field :task, _('Task')
      field :message, _('Message')
    end
  end
  data['check_mode'] = parsed['check_mode']
  data['logs'] = parsed['results']&.each_with_object([]) do |log, logs|
    logs << {
      level: log['level'],
      task: log['task']['name'],
      message: log['friendly_message']
    }
  end
end
adjust_for_puppet(command_class, data, parsed) click to toggle source
# File lib/hammer_cli_foreman_host_reports/command_extensions/host_report.rb, line 71
def self.adjust_for_puppet(command_class, data, parsed)
  command_class.output_definition.insert(:after, :format) do
    field :environment, _('Puppet environment')
  end
  command_class.output_definition.insert(:after, :summary) do
    collection :logs, _('Logs') do
      field :level, _('Level')
      field :resource, _('Resource')
      field :message, _('Message')
    end
  end
  data['environment'] = parsed['environment']
  data['logs'] = parsed['logs']&.each_with_object([]) do |log, logs|
    logs << {
      level: log[0],
      resource: log[1],
      message: log[2]
    }
  end
end