class Kafo::PuppetFailedResource

Public Class Methods

new(status, logs) click to toggle source

@param [Hash] status

The status hash from the report

@param [Array] logs

Relevant log lines for this resoure
# File lib/kafo/puppet_failed_resource.rb, line 7
def initialize(status, logs)
  @status = status
  @logs = logs
end

Public Instance Methods

event_messages() click to toggle source

@return [Array] The event messages

# File lib/kafo/puppet_failed_resource.rb, line 38
def event_messages
  @status['events'].map { |event| event['message'] }
end
log_messages() click to toggle source

A collection of Puppet log messages

The log messages include detailed information of what failed. Some debug information, such as timing but crucially the command output, both stdout and stderr.

@return [Array] The Puppet log messages for this resource

# File lib/kafo/puppet_failed_resource.rb, line 49
def log_messages
  @logs.map { |log| log['message'] }
end
log_messages_by_source() click to toggle source

A collection of Puppet log messages grouped by source

The log messages include detailed information of what failed. Some debug information, such as timing but crucially the command output, both stdout and stderr.

A resource can have multiple sources. For example, exec can have both unless and returns. Combining the output of those can be confusing, so this presents them separate.

@return [Hash[String, Array]] The Puppet log messages for this resource

# File lib/kafo/puppet_failed_resource.rb, line 64
def log_messages_by_source
  @logs.group_by { |log| log['source'] }.transform_values { |logs| logs.map { |log| log['message'] } }
end
resource() click to toggle source

@example

puppet_failed_resource.resource == 'Exec[/bin/true]'

@return [String] A resource

# File lib/kafo/puppet_failed_resource.rb, line 15
def resource
  @status['resource']
end
title() click to toggle source

@example

puppet_failed_resource.title == '/bin/true'

@return [String] A resource title

# File lib/kafo/puppet_failed_resource.rb, line 29
def title
  @status['title']
end
to_s() click to toggle source
# File lib/kafo/puppet_failed_resource.rb, line 33
def to_s
  "Puppet #{type} resource '#{title}'"
end
type() click to toggle source

@example

puppet_failed_resource.type == 'Exec'

@return [String] A resource type

# File lib/kafo/puppet_failed_resource.rb, line 22
def type
  @status['resource_type']
end