Sha256: 3536e433beed405097de47584a5c580b957988d0005baf9b8f0ae3e7dde12573

Contents?: true

Size: 1.22 KB

Versions: 6

Compression:

Stored size: 1.22 KB

Contents

module InsightsCloud
  module Generators
    class PlaybookProgressGenerator
      attr_reader :correlation_id
      def initialize(correlation_id)
        @messages = []
        @correlation_id = correlation_id
      end

      def host_progress_message(host_name, output, sequence)
        @messages << {
          "type": "playbook_run_update",
          "version": 3,
          "correlation_id": correlation_id,
          "sequence": sequence,
          "host": host_name,
          "console": output,
        }
      end

      def host_finished_message(host_name, exit_code)
        @messages << {
          "type": "playbook_run_finished",
          "version": 3,
          "correlation_id": correlation_id,
          "host": host_name,
          "status": exit_code == 0 ? 'success' : 'failure',
          "connection_code": 0,
          "execution_code": exit_code,
        }
      end

      def job_finished_message
        @messages << {
          "type": "playbook_run_completed",
          "version": 3,
          "correlation_id": correlation_id,
          "status": "success",
        }
      end

      def generate
        @messages.map do |message|
          message.to_json
        end.join("\n")
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
foreman_rh_cloud-5.0.38 lib/insights_cloud/generators/playbook_progress_generator.rb
foreman_rh_cloud-5.0.37 lib/insights_cloud/generators/playbook_progress_generator.rb
foreman_rh_cloud-5.0.36 lib/insights_cloud/generators/playbook_progress_generator.rb
foreman_rh_cloud-5.0.35 lib/insights_cloud/generators/playbook_progress_generator.rb
foreman_rh_cloud-5.0.34 lib/insights_cloud/generators/playbook_progress_generator.rb
foreman_rh_cloud-5.0.33 lib/insights_cloud/generators/playbook_progress_generator.rb