def create_hosts_from_csv(line)
line[COUNT].to_i.times do |number|
name = namify(line[NAME], number)
if !@existing.include? name
print "Creating host '#{name}'..." if option_verbose?
@api.resource(:hosts).call(:create, {
'name' => name,
'root_pass' => 'changeme',
'mac' => namify(line[MACADDRESS], number),
'organization_id' => foreman_organization(:name => line[ORGANIZATION]),
'environment_id' => foreman_environment(:name => line[ENVIRONMENT]),
'operatingsystem_id' => foreman_operatingsystem(:name => line[OPERATINGSYSTEM]),
'architecture_id' => foreman_architecture(:name => line[ARCHITECTURE]),
'domain_id' => foreman_domain(:name => line[DOMAIN]),
'ptable_id' => foreman_partitiontable(:name => line[PARTITIONTABLE])
})
else
print "Updating host '#{name}'..." if option_verbose?
@api.resource(:hosts).call(:update, {
'id' => @existing[name],
'name' => name,
'mac' => namify(line[MACADDRESS], number),
'organization_id' => foreman_organization(:name => line[ORGANIZATION]),
'environment_id' => foreman_environment(:name => line[ENVIRONMENT]),
'operatingsystem_id' => foreman_operatingsystem(:name => line[OPERATINGSYSTEM]),
'architecture_id' => foreman_architecture(:name => line[ARCHITECTURE]),
'domain_id' => foreman_domain(:name => line[DOMAIN]),
'ptable_id' => foreman_partitiontable(:name => line[PARTITIONTABLE])
})
end
print "done\n" if option_verbose?
end
rescue RuntimeError => e
raise "#{e}\n #{line}"
end