connection.search(base, scope, filter) do |entry|
data_ = entry.to_hash
- data_['vars'] = (data_[Puppet[:ldapstackedattrs]] || [])
- .map { |var| var.split("=", 2) }
- .group_by { |(key, value)| key }
- .map { |key, value| [key, value.map(&:last)] }
- .to_h
+ if data_["objectClass"].any? { |class_| class_ == "puppetClient" }
+ data_['vars'] = (data_[Puppet[:ldapstackedattrs]] || [])
+ .map { |var| var.split("=", 2) }
+ .group_by { |(key, value)| key }
+ .map { |key, value| [key, value.map(&:last)] }
+ .to_h
- data[:other] << data_
+ data[:other] << data_
- if data_["cn"].any? { |cn| cn == host }
- data[:self] = data_
+ if data_["cn"].any? { |cn| cn == host }
+ data[:self] = data_
+ end
end
end