In this chapter we've looked at one of the most powerful tools in Puppet's toolbox, the template file. We've examined the EPP tag syntax and seen the different kinds of tags available, including printing and non-printing tags.
We've learned that not only can you simply insert values from variables into templates, but that you can also include or exclude whole blocks of text, depending on the value of Puppet expressions, or generate templates of arbitrary size by iterating over arrays and hashes.
We've looked at some real-life examples of dynamically generating config files from Facter and Hiera data, and seen seen how to declare typed parameters in the template file, and pass in values for those parameters when calling the
epp() function ...