Sha256: 8e8ab61e3717b94b58e3cad085886ecb64670c954b96b1b0804d65bed471d467

Contents?: true

Size: 1.53 KB

Versions: 44

Compression:

Stored size: 1.53 KB

Contents

module ForemanRhCloud
  # Macro to fetch remediation playbook from cloud.redhat.com
  module TemplateRendererHelper
    extend ActiveSupport::Concern
    extend ApipieDSL::Module

    apipie :class, 'Macros related to Red Hat cloud interface' do
      name 'RHCloud'
      sections only: %w[all jobs]
    end

    apipie :method, 'Returns a playbook generated from Red Hat cloud recommendations' do
      required :hit_remediation_pairs, String, desc: 'JSON-encoded array of hashes in the form of [{hit_id: 1, remediation_id: 2}, ...]'
      returns String, desc: 'Playbook generated for the specific recommendations and hosts'
    end
    def remediations_playbook(hit_remediation_pairs)
      hit_remediation_pairs = JSON.parse(hit_remediation_pairs)
      retriever = ForemanRhCloud::HitRemediationsRetriever.new(hit_remediation_pairs, logger: template_logger)
      retriever.create_playbook
    end

    apipie :method, 'Returns a Red Hat remediation playbook compiled on console.redhat.com' do
      required :playbook_url, String, desc: 'URL of the playbook on console.redhat.com'
      required :organization_id, Integer, desc: 'Id of the organization that owns the playbook'
      returns String, desc: 'Playbook downloaded from the cloud'
    end
    def download_rh_playbook(playbook_url, organization_id)
      retriever = ForemanRhCloud::UrlRemediationsRetriever.new(url: playbook_url, organization_id: organization_id, logger: template_logger)

      cached("rh_playbook_#{playbook_url}") do
        retriever.create_playbook
      end
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
foreman_rh_cloud-11.1.0 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-10.0.3 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-11.0.3 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-9.0.59 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-11.0.2 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-11.0.1 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-11.0.0 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-9.0.58 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-10.0.2 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-9.0.57 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-10.0.1 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-9.0.56 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-9.0.55 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-9.0.54 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-9.0.53 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-9.0.52 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-8.0.52 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-9.0.51 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-8.0.51 app/services/foreman_rh_cloud/template_renderer_helper.rb
foreman_rh_cloud-7.0.48 app/services/foreman_rh_cloud/template_renderer_helper.rb