def foreman_permission(options = {})
@permissions ||= {}
if options[:name]
return nil if options[:name].nil? || options[:name].empty?
options[:id] = @permissions[options[:name]]
if !options[:id]
permission = @api.resource(:permissions).call(:index, {
:per_page => 999999,
'name' => options[:name]
})['results']
raise "Permission '#{options[:name]}' not found" if !permission || permission.empty?
options[:id] = permission[0]['id']
@permissions[options[:name]] = options[:id]
end
result = options[:id]
else
return nil if options[:id].nil?
options[:name] = @permissions.key(options[:id])
if !options[:name]
permission = @api.resource(:permissions).call(:show, {'id' => options[:id]})
raise "Permission 'id=#{options[:id]}' not found" if !permission || permission.empty?
options[:name] = permission['name']
@permissions[options[:name]] = options[:id]
end
result = options[:name]
end
result
end