def create_ptables_from_csv(line)
line[COUNT].to_i.times do |number|
name = namify(line[NAME], number)
operatingsystem_ids = CSV.parse_line(line[OPERATINGSYSTEMS]).collect do |operatingsystem_name|
foreman_operatingsystem(:name => operatingsystem_name)
end if line[OPERATINGSYSTEMS]
if !@existing.include? name
print "Creating ptable '#{name}'... " if option_verbose?
@api.resource(:ptables).call(:create, {
'ptable' => {
'name' => name,
'os_family' => line[OSFAMILY],
'operatingsystem_ids' => operatingsystem_ids,
'layout' => line[LAYOUT]
}
})
else
print "Updating ptable '#{name}'..." if option_verbose?
@api.resource(:ptables).call(:update, {
'id' => @existing[name],
'ptable' => {
'name' => name,
'os_family' => line[OSFAMILY],
'operatingsystem_ids' => operatingsystem_ids,
'layout' => line[LAYOUT]
}
})
end
print "done\n" if option_verbose?
end
rescue RuntimeError => e
raise "#{e}\n #{line}"
end