Sha256: e8b8ce245beb3905a22dcbcc3fea25ac3f05893f87bf6b92fc3391511c132957

Contents?: true

Size: 1.59 KB

Versions: 11

Compression:

Stored size: 1.59 KB

Contents

module ForemanInventoryUpload
  module Generators
    class Tags
      def initialize(host)
        @host = host
      end

      def generate
        (
          locations +
          hostgroups +
          host_collections +
          organizations +
          content_data +
          satellite_server_data
        ).reject { |key, value| value.empty? }
      end

      def generate_parameters
        return [] unless Setting[:include_parameter_tags]

        (@host.host_inherited_params_objects || []).map { |item| [item.name, item.value] }
      end

      private

      def locations
        return [] unless @host.location
        @host.location.title.split('/').map { |item| ['location', item] }.push(['location', @host.location.title])
      end

      def hostgroups
        return [] unless @host.hostgroup
        @host.hostgroup.title.split('/').map { |item| ['hostgroup', item] }.push(['hostgroup', @host.hostgroup.title])
      end

      def host_collections
        (@host.host_collections || []).map { |item| ['host collection', item.name] }
      end

      def organizations
        [['organization', @host.organization.name]]
      end

      def content_data
        [
          ['lifecycle_environment', @host.lifecycle_environment&.name],
          ['content_view', @host.content_view&.name],
        ] +
        (@host.activation_keys || []).map { |item| ['activation_key', item.name] }
      end

      def satellite_server_data
        [
          ['satellite_instance_id', Foreman.instance_id],
          ['organization_id', @host.organization_id.to_s],
        ]
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
foreman_rh_cloud-3.0.24.1 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-4.0.24.1 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-3.0.24 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-4.0.24 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-3.0.23 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-4.0.23 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-3.0.22 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-4.0.22 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-4.0.21.1 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-3.0.21.1 lib/foreman_inventory_upload/generators/tags.rb
foreman_rh_cloud-3.0.21 lib/foreman_inventory_upload/generators/tags.rb