Iteration in templates

If we can generate parts of a file from Puppet expressions, and also include or exclude parts of the file depending on conditions, could we generate parts of the file with a Puppet loop? That is to say, can we iterate over an array or hash, generating template content for each element? Indeed we can. This very powerful mechanism enables us to generate files of arbitrary size, based on Puppet variables, or Hiera and Facter data.

Iterating over Facter data

Our first example generates part of the config file for an application that captures network packet data. To tell it which interfaces to listen on, we need to generate a list of all the live network interfaces on the node.

How can we generate this output? We know Facter can ...

Get Puppet 4.10 Beginner's Guide Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.