Sha256: c11584ae9f50a5e6e482e096f9e7249cbca780d6beca1b11cba627b8695d58a4
Contents?: true
Size: 1.95 KB
Versions: 6
Compression:
Stored size: 1.95 KB
Contents
module Kafo class PuppetFailedResource # @param [Hash] status # The status hash from the report # @param [Array[Hash]] logs # Relevant log lines for this resoure def initialize(status, logs) @status = status @logs = logs end # @example # puppet_failed_resource.resource == 'Exec[/bin/true]' # @return [String] A resource def resource @status['resource'] end # @example # puppet_failed_resource.type == 'Exec' # @return [String] A resource type def type @status['resource_type'] end # @example # puppet_failed_resource.title == '/bin/true' # @return [String] A resource title def title @status['title'] end def to_s "Puppet #{type} resource '#{title}'" end # @return [Array[String]] The event messages def event_messages @status['events'].map { |event| event['message'] } end # 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[String]] The Puppet log messages for this resource def log_messages @logs.map { |log| log['message'] } end # 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[String]]] The Puppet log messages for this resource def log_messages_by_source @logs.group_by { |log| log['source'] }.transform_values { |logs| logs.map { |log| log['message'] } } end end end
Version data entries
6 entries across 6 versions & 1 rubygems