Interpolation in Hiera data

Hiera data is not restricted to literal values; it can also include the value of Facter facts or Puppet variables, as in the following example:

 backup_path: "/backup/%{facts.hostname}"

Anything within the %{} delimiters inside a quoted string is evaluated and interpolated by Hiera. Here, we're using the dot notation to reference a value inside the $facts hash.

Using lookup()

Helpfully, you can also interpolate Hiera data in Hiera data, by using the lookup() function as part of the value. This can save you repeating the same value many times, and can make your data more readable, as in the following example (also from hiera_sample.yaml):

ips: home: '130.190.0.1' office1: '74.12.203.14' office2: '95.170.0.75' firewall_allow_list: ...

Get Puppet 5 Beginner's Guide - Third 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.