On 2019-02-28 13:37, Dirk Heinrichs wrote:
Hi,
following the example in the PuppetDB documentation, I tried this code:
$debian_nodes_query = 'nodes[certname]{facts{name = "operatingsystem"
and value = "Debian"}}'
$debian_nodes = puppetdb_query($debian_nodes_query).each |$value| {
The line above is wrong - you are using each() and it returns its input.
Did you mean to use map() to get an array of the names? That is, like this:
$debian_nodes = puppetdb_query($debian_nodes_query).map |$value| {
$value["certname"]
}
- henrik
$value["certname"] }
Notify {"Debian nodes":
message => "Your debian nodes are ${join($debian_nodes, ', ')}",
}
which prints:
Notice: Your debian nodes are {"certname"=>"host1.example.com"},
{"certname"=>"host2.example.com"}
despite the '$value["certname"]'. What would I need to do to print the
names only? Like:
Notice: Your debian nodes are host1.example.com, host2.example.com
which is what I would expect the code above to do in the first place.
Thanks...
Dirk
--
--
Visit my Blog "Puppet on the Edge"
http://puppet-on-the-edge.blogspot.se/
--
You received this message because you are subscribed to the Google Groups "Puppet
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/q58ll0%24658f%241%40blaine.gmane.org.
For more options, visit https://groups.google.com/d/optout.