def foreman_partitiontable(options = {})
@ptables ||= {}
if options[:name]
return nil if options[:name].nil? || options[:name].empty?
options[:id] = @ptables[options[:name]]
if !options[:id]
ptable = @api.resource(:ptables).call(:index, {
:per_page => 999999,
'search' => "name=\"#{options[:name]}\""
})['results']
raise "Partition table '#{options[:name]}' not found" if !ptable || ptable.empty?
options[:id] = ptable[0]['id']
@ptables[options[:name]] = options[:id]
end
result = options[:id]
elsif options[:id]
return nil if options[:id].nil?
options[:name] = @ptables.key(options[:id])
if !options[:name]
ptable = @api.resource(:ptables).call(:show, {'id' => options[:id]})
options[:name] = ptable['name']
@ptables[options[:name]] = options[:id]
end
result = options[:name]
elsif !options[:name] && !options[:id]
result = ''
end
result
end