Sha256: fb0ef4d07603a3199064259ac5f2fef784de683be23db3b9b7aa190dc951362b
Contents?: true
Size: 967 Bytes
Versions: 2
Compression:
Stored size: 967 Bytes
Contents
# frozen_string_literal: true require 'bolt/error' # Collects facts based on a list of certnames. # # * If a node is not found in PuppetDB, it's included in the returned hash with empty facts hash. # * Otherwise the node is included in the hash with a value that is a hash of it's facts. Puppet::Functions.create_function(:puppetdb_fact) do # @param certnames Array of certnames. # @return A hash of certname to facts hash for each matched Target. # @example Get facts for nodes # puppetdb_fact(['app.example.com', 'db.example.com']) dispatch :puppetdb_fact do param 'Array[String]', :certnames return_type 'Hash[String, Data]' end def puppetdb_fact(certnames) puppetdb_client = Puppet.lookup(:bolt_pdb_client) # Bolt executor not expected when invoked from apply block executor = Puppet.lookup(:bolt_executor) { nil } executor&.report_function_call('puppetdb_fact') puppetdb_client.facts_for_node(certnames) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bolt-1.21.0 | bolt-modules/boltlib/lib/puppet/functions/puppetdb_fact.rb |
bolt-1.20.0 | bolt-modules/boltlib/lib/puppet/functions/puppetdb_fact.rb |