Sha256: daceedfdf95531b31a3372a576f8f71c8153220db4b718ccd6413e59ca46373e

Contents?: true

Size: 1.16 KB

Versions: 6

Compression:

Stored size: 1.16 KB

Contents

module Actions
  module Katello
    module Host
      class UpdateSystemPurpose < Actions::EntryAction
        def plan(host, service_level, purpose_role, purpose_usage, purpose_addons)
          fail _("Host %s has not been registered with subscription-manager.") % host.name unless host.subscription_facet

          host.subscription_facet.service_level = service_level unless service_level.nil?
          host.subscription_facet.purpose_role = purpose_role unless purpose_role.nil?
          host.subscription_facet.purpose_usage = purpose_usage unless purpose_usage.nil?

          if purpose_addons
            purpose_addon_objects = purpose_addons.delete_if(&:blank?).uniq.map { |x| ::Katello::PurposeAddon.find_or_create_by(name: x) }
            host.subscription_facet.purpose_addons = purpose_addon_objects
          end

          host.subscription_facet.save!
          plan_self(:hostname => host.name)
        end

        def humanized_name
          if input&.dig(:hostname)
            _("Updating System Purpose for host %s") % input[:hostname]
          else
            _("Updating System Purpose for host")
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
katello-3.18.1.1 app/lib/actions/katello/host/update_system_purpose.rb
katello-3.18.1 app/lib/actions/katello/host/update_system_purpose.rb
katello-3.18.0 app/lib/actions/katello/host/update_system_purpose.rb
katello-3.18.0.rc2.1 app/lib/actions/katello/host/update_system_purpose.rb
katello-3.18.0.rc2 app/lib/actions/katello/host/update_system_purpose.rb
katello-3.18.0.rc1 app/lib/actions/katello/host/update_system_purpose.rb