lib/hammer_cli_katello/command_extensions/content_source.rb
module HammerCLIKatello module CommandExtensions class ContentSource < HammerCLI::CommandExtensions option_family associate: 'content_source' do child '--content-source', 'CONTENT_SOURCE_NAME', _('Content Source name'), attribute_name: :option_content_source, referenced_resource: :smart_proxy end request_params do |params, cmd_obj| begin resource_name = cmd_obj.resource.singular_name if cmd_obj.option_content_source && !cmd_obj.option_content_source_id resource_hash = if resource_name == 'hostgroup' params[resource_name] else params[resource_name]['content_facet_attributes'] end proxy_options = { HammerCLI.option_accessor_name('name') => cmd_obj.option_content_source } resource_hash['content_source_id'] = cmd_obj.resolver.smart_proxy_id(proxy_options) end rescue HammerCLIForeman::ResolverError => e e.message.gsub!('smart_proxy', _('Content Source')) raise e end end end end end