Sha256: 746ede19c094e0a3fb4e3b29dce9d80b994788352c7fe25ef0d09d20011b5a38
Contents?: true
Size: 1.86 KB
Versions: 31
Compression:
Stored size: 1.86 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? }.map { |key, value| [key, truncated_value(value)] } end def generate_parameters return [] unless Setting[:include_parameter_tags] (@host.host_params || {}) .select { |_name, value| value.present? || value.is_a?(FalseClass) } .map { |key, value| [key, truncated_value(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 def truncated_value(value) return 'Original value exceeds 250 characters' if value.to_s.length > 250 value end end end end
Version data entries
31 entries across 31 versions & 1 rubygems