Method: Bolt::PuppetDB::Client#facts_for_node

Defined in:
lib/bolt/puppetdb/client.rb

#facts_for_node(certnames) ⇒ Object

This method expects an array of certnames to get facts for



32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/bolt/puppetdb/client.rb', line 32

def facts_for_node(certnames)
  return {} if certnames.empty? || certnames.nil?

  certnames.uniq!
  name_query = certnames.map { |c| ["=", "certname", c] }
  name_query.insert(0, "or")

  @logger.debug("Querying certnames")
  result = make_query(name_query, 'inventory')

  result&.each_with_object({}) do |node, coll|
    coll[node['certname']] = node['facts']
  end
end