class HammerCLICsv::CsvCommand::ArchitecturesCommand
Constants
- OPERATINGSYSTEMS
Public Instance Methods
create_architectures_from_csv(line)
click to toggle source
# File lib/hammer_cli_csv/architectures.rb, line 33 def create_architectures_from_csv(line) count(line[COUNT]).times do |number| name = namify(line[NAME], number) architecture_id = @existing[name] operatingsystem_ids = CSV.parse_line(line[OPERATINGSYSTEMS]).collect do |operatingsystem_name| foreman_operatingsystem(:name => operatingsystem_name) end if !architecture_id print "Creating architecture '#{name}'..." if option_verbose? architecture_id = @api.resource(:architectures).call(:create, { 'architecture' => { 'name' => name, 'operatingsystem_ids' => operatingsystem_ids } }) else print "Updating architecture '#{name}'..." if option_verbose? @api.resource(:architectures).call(:update, { 'id' => architecture_id, 'architecture' => { 'name' => name, 'operatingsystem_ids' => operatingsystem_ids } }) end print "done\n" if option_verbose? end end
export(csv)
click to toggle source
# File lib/hammer_cli_csv/architectures.rb, line 9 def export(csv) csv << [NAME, OPERATINGSYSTEMS] @api.resource(:architectures).call(:index, { :per_page => 999999, :search => option_search })['results'].each do |architecture| architecture = @api.resource(:architectures).call(:show, {:id => architecture['id']}) name = architecture['name'] operatingsystems = export_column(architecture, 'operatingsystems', 'title') csv << [name, operatingsystems] end end
import()
click to toggle source
# File lib/hammer_cli_csv/architectures.rb, line 22 def import @existing = {} @api.resource(:architectures).call(:index, {:per_page => 999999})['results'].each do |architecture| @existing[architecture['name']] = architecture['id'] if architecture end thread_import do |line| create_architectures_from_csv(line) end end