This script explodes Hiera. That means it reads a hiera config inside a module and converts all possible paths into the various interpolated parts.
The goal is to provide a possible solution to puppetlabs/puppet-strings#250.
Example output from puppet-openvmtools:
# Files
data/Debian.Debian.7.yaml
facts.os.family => Debian
facts.os.name => Debian
facts.os.release.major => 7
data/Debian.Debian.8.yaml
facts.os.family => Debian
facts.os.name => Debian
facts.os.release.major => 8
data/Debian.Debian.9.yaml
facts.os.family => Debian
facts.os.name => Debian
facts.os.release.major => 9
data/Debian.Ubuntu.14.yaml
facts.os.family => Debian
facts.os.name => Ubuntu
facts.os.release.major => 14
data/Debian.Ubuntu.16.yaml
facts.os.family => Debian
facts.os.name => Ubuntu
facts.os.release.major => 16
data/Debian.Ubuntu.18.yaml
facts.os.family => Debian
facts.os.name => Ubuntu
facts.os.release.major => 18
data/FreeBSD.FreeBSD.10.yaml
facts.os.family => FreeBSD
facts.os.name => FreeBSD
facts.os.release.major => 10
data/FreeBSD.FreeBSD.11.yaml
facts.os.family => FreeBSD
facts.os.name => FreeBSD
facts.os.release.major => 11
data/FreeBSD.FreeBSD.12.yaml
facts.os.family => FreeBSD
facts.os.name => FreeBSD
facts.os.release.major => 12
data/RedHat.CentOS.6.yaml
facts.os.family => RedHat
facts.os.name => CentOS
facts.os.release.major => 6
data/RedHat.CentOS.7.yaml
facts.os.family => RedHat
facts.os.name => CentOS
facts.os.release.major => 7
data/RedHat.CentOS.8.yaml
facts.os.family => RedHat
facts.os.name => CentOS
facts.os.release.major => 8
data/RedHat.Fedora.19.yaml
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 19
data/RedHat.Fedora.20.yaml
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 20
data/RedHat.Fedora.21.yaml
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 21
data/RedHat.Fedora.22.yaml
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 22
data/RedHat.Fedora.23.yaml
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 23
data/RedHat.Fedora.24.yaml
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 24
data/RedHat.Fedora.25.yaml
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 25
data/RedHat.OracleLinux.6.yaml
facts.os.family => RedHat
facts.os.name => OracleLinux
facts.os.release.major => 6
data/RedHat.OracleLinux.7.yaml
facts.os.family => RedHat
facts.os.name => OracleLinux
facts.os.release.major => 7
data/RedHat.OracleLinux.8.yaml
facts.os.family => RedHat
facts.os.name => OracleLinux
facts.os.release.major => 8
data/RedHat.RedHat.6.yaml
facts.os.family => RedHat
facts.os.name => RedHat
facts.os.release.major => 6
data/RedHat.RedHat.7.yaml
facts.os.family => RedHat
facts.os.name => RedHat
facts.os.release.major => 7
data/RedHat.RedHat.8.yaml
facts.os.family => RedHat
facts.os.name => RedHat
facts.os.release.major => 8
data/Suse.OpenSUSE.11.yaml
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 11
data/Suse.OpenSUSE.12.yaml
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 12
data/Suse.OpenSUSE.13.yaml
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 13
data/Suse.OpenSUSE.15.yaml
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 15
data/Suse.OpenSUSE.42.yaml
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 42
data/Suse.SLES.12.yaml
facts.os.family => Suse
facts.os.name => SLES
facts.os.release.major => 12
data/Suse.SLES.13.yaml
facts.os.family => Suse
facts.os.name => SLES
facts.os.release.major => 13
data/Suse.SLES.14.yaml
facts.os.family => Suse
facts.os.name => SLES
facts.os.release.major => 14
data/Suse.SLES.15.yaml
facts.os.family => Suse
facts.os.name => SLES
facts.os.release.major => 15
data/Debian.yaml
facts.os.family => Debian
data/FreeBSD.yaml
facts.os.family => FreeBSD
# Overrides (short)
openvmtools::supported
data/Debian.Debian.7.yaml => true
data/Debian.Debian.8.yaml => true
data/Debian.Debian.9.yaml => true
data/Debian.Ubuntu.14.yaml => true
data/Debian.Ubuntu.16.yaml => true
data/Debian.Ubuntu.18.yaml => true
data/FreeBSD.FreeBSD.10.yaml => true
data/FreeBSD.FreeBSD.11.yaml => true
data/FreeBSD.FreeBSD.12.yaml => true
data/RedHat.CentOS.6.yaml => true
data/RedHat.CentOS.7.yaml => true
data/RedHat.CentOS.8.yaml => true
data/RedHat.Fedora.19.yaml => true
data/RedHat.Fedora.20.yaml => true
data/RedHat.Fedora.21.yaml => true
data/RedHat.Fedora.22.yaml => true
data/RedHat.Fedora.23.yaml => true
data/RedHat.Fedora.24.yaml => true
data/RedHat.Fedora.25.yaml => true
data/RedHat.OracleLinux.6.yaml => true
data/RedHat.OracleLinux.7.yaml => true
data/RedHat.OracleLinux.8.yaml => true
data/RedHat.RedHat.6.yaml => true
data/RedHat.RedHat.7.yaml => true
data/RedHat.RedHat.8.yaml => true
data/Suse.OpenSUSE.11.yaml => true
data/Suse.OpenSUSE.12.yaml => true
data/Suse.OpenSUSE.13.yaml => true
data/Suse.OpenSUSE.15.yaml => true
data/Suse.OpenSUSE.42.yaml => true
data/Suse.SLES.12.yaml => true
data/Suse.SLES.13.yaml => true
data/Suse.SLES.14.yaml => true
data/Suse.SLES.15.yaml => true
openvmtools::manage_epel
data/RedHat.CentOS.6.yaml => true
data/RedHat.OracleLinux.6.yaml => true
data/RedHat.RedHat.6.yaml => true
openvmtools::desktop_package_name
data/Debian.yaml => open-vm-toolbox
data/FreeBSD.yaml => open-vm-tools
openvmtools::service_name
data/Debian.yaml => open-vm-tools
data/FreeBSD.yaml => vmware_guestd
openvmtools::service_hasstatus
data/Debian.yaml => false
openvmtools::desktop_package_conflicts
data/FreeBSD.yaml => true
openvmtools::package_name
data/FreeBSD.yaml => open-vm-tools-nox11
# Overrides (long)
openvmtools::supported
data/Debian.Debian.7.yaml => true
facts.os.family => Debian
facts.os.name => Debian
facts.os.release.major => 7
data/Debian.Debian.8.yaml => true
facts.os.family => Debian
facts.os.name => Debian
facts.os.release.major => 8
data/Debian.Debian.9.yaml => true
facts.os.family => Debian
facts.os.name => Debian
facts.os.release.major => 9
data/Debian.Ubuntu.14.yaml => true
facts.os.family => Debian
facts.os.name => Ubuntu
facts.os.release.major => 14
data/Debian.Ubuntu.16.yaml => true
facts.os.family => Debian
facts.os.name => Ubuntu
facts.os.release.major => 16
data/Debian.Ubuntu.18.yaml => true
facts.os.family => Debian
facts.os.name => Ubuntu
facts.os.release.major => 18
data/FreeBSD.FreeBSD.10.yaml => true
facts.os.family => FreeBSD
facts.os.name => FreeBSD
facts.os.release.major => 10
data/FreeBSD.FreeBSD.11.yaml => true
facts.os.family => FreeBSD
facts.os.name => FreeBSD
facts.os.release.major => 11
data/FreeBSD.FreeBSD.12.yaml => true
facts.os.family => FreeBSD
facts.os.name => FreeBSD
facts.os.release.major => 12
data/RedHat.CentOS.6.yaml => true
facts.os.family => RedHat
facts.os.name => CentOS
facts.os.release.major => 6
data/RedHat.CentOS.7.yaml => true
facts.os.family => RedHat
facts.os.name => CentOS
facts.os.release.major => 7
data/RedHat.CentOS.8.yaml => true
facts.os.family => RedHat
facts.os.name => CentOS
facts.os.release.major => 8
data/RedHat.Fedora.19.yaml => true
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 19
data/RedHat.Fedora.20.yaml => true
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 20
data/RedHat.Fedora.21.yaml => true
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 21
data/RedHat.Fedora.22.yaml => true
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 22
data/RedHat.Fedora.23.yaml => true
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 23
data/RedHat.Fedora.24.yaml => true
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 24
data/RedHat.Fedora.25.yaml => true
facts.os.family => RedHat
facts.os.name => Fedora
facts.os.release.major => 25
data/RedHat.OracleLinux.6.yaml => true
facts.os.family => RedHat
facts.os.name => OracleLinux
facts.os.release.major => 6
data/RedHat.OracleLinux.7.yaml => true
facts.os.family => RedHat
facts.os.name => OracleLinux
facts.os.release.major => 7
data/RedHat.OracleLinux.8.yaml => true
facts.os.family => RedHat
facts.os.name => OracleLinux
facts.os.release.major => 8
data/RedHat.RedHat.6.yaml => true
facts.os.family => RedHat
facts.os.name => RedHat
facts.os.release.major => 6
data/RedHat.RedHat.7.yaml => true
facts.os.family => RedHat
facts.os.name => RedHat
facts.os.release.major => 7
data/RedHat.RedHat.8.yaml => true
facts.os.family => RedHat
facts.os.name => RedHat
facts.os.release.major => 8
data/Suse.OpenSUSE.11.yaml => true
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 11
data/Suse.OpenSUSE.12.yaml => true
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 12
data/Suse.OpenSUSE.13.yaml => true
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 13
data/Suse.OpenSUSE.15.yaml => true
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 15
data/Suse.OpenSUSE.42.yaml => true
facts.os.family => Suse
facts.os.name => OpenSUSE
facts.os.release.major => 42
data/Suse.SLES.12.yaml => true
facts.os.family => Suse
facts.os.name => SLES
facts.os.release.major => 12
data/Suse.SLES.13.yaml => true
facts.os.family => Suse
facts.os.name => SLES
facts.os.release.major => 13
data/Suse.SLES.14.yaml => true
facts.os.family => Suse
facts.os.name => SLES
facts.os.release.major => 14
data/Suse.SLES.15.yaml => true
facts.os.family => Suse
facts.os.name => SLES
facts.os.release.major => 15
openvmtools::manage_epel
data/RedHat.CentOS.6.yaml => true
facts.os.family => RedHat
facts.os.name => CentOS
facts.os.release.major => 6
data/RedHat.OracleLinux.6.yaml => true
facts.os.family => RedHat
facts.os.name => OracleLinux
facts.os.release.major => 6
data/RedHat.RedHat.6.yaml => true
facts.os.family => RedHat
facts.os.name => RedHat
facts.os.release.major => 6
openvmtools::desktop_package_name
data/Debian.yaml => open-vm-toolbox
facts.os.family => Debian
data/FreeBSD.yaml => open-vm-tools
facts.os.family => FreeBSD
openvmtools::service_name
data/Debian.yaml => open-vm-tools
facts.os.family => Debian
data/FreeBSD.yaml => vmware_guestd
facts.os.family => FreeBSD
openvmtools::service_hasstatus
data/Debian.yaml => false
facts.os.family => Debian
openvmtools::desktop_package_conflicts
data/FreeBSD.yaml => true
facts.os.family => FreeBSD
openvmtools::package_name
data/FreeBSD.yaml => open-vm-tools-nox11
facts.os.family => FreeBSD