Sha256: 988a727b9a69844fe02c4dbcd56f140616e09d37aba5b863a175c8ffdac04049

Contents?: true

Size: 1.07 KB

Versions: 45

Compression:

Stored size: 1.07 KB

Contents

module InsightsCloud
  module Async
    class CloudConnectorAnnounceTask < ::Actions::EntryAction
      def self.subscribe
        Actions::RemoteExecution::RunHostsJob
      end

      def self.connector_feature_id
        @connector_feature_id ||= RemoteExecutionFeature.feature!(ForemanRhCloud::CloudConnector::CLOUD_CONNECTOR_FEATURE).id
      end

      def plan(job_invocation)
        return unless connector_playbook_job?(job_invocation)

        plan_self
      end

      def finalize
        Organization.unscoped.each do |org|
          presence = ForemanRhCloud::CloudPresence.new(org, logger)
          presence.announce_to_sources
        rescue StandardError => ex
          logger.warn(ex)
        end
      end

      def rescue_strategy_for_self
        Dynflow::Action::Rescue::Skip
      end

      def connector_playbook_job?(job_invocation)
        job_invocation&.remote_execution_feature_id == connector_feature_id
      end

      def connector_feature_id
        self.class.connector_feature_id
      end

      def logger
        action_logger
      end
    end
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
foreman_rh_cloud-11.2.0 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-9.0.60 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-10.0.4 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-11.1.0 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-10.0.3 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-11.0.3 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-9.0.59 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-11.0.2 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-11.0.1 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-11.0.0 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-9.0.58 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-10.0.2 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-9.0.57 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-10.0.1 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-9.0.56 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-9.0.55 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-9.0.54 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-9.0.53 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-9.0.52 lib/insights_cloud/async/cloud_connector_announce_task.rb
foreman_rh_cloud-8.0.52 lib/insights_cloud/async/cloud_connector_announce_task.rb