Do yourself a favour, define puppet classes and resources in puppet code. There are surprisingly few people who can look at puppet resources in yaml and conceptualize which portion is causing that odd ruby+yaml error.
This is a useful model for how to lay that out:
https://puppet.com/docs/pe/2018.1/the_roles_and_profiles_method.html
If you keep only the most significant items in hiera it will be much easier to read. Albeit that it's older documentation, this section has the best phrasing I've found for this so far:
https://puppet.com/docs/pe/2016.4/r_n_p_full_example.html#the-rules-for-profile-classes
Quoth:
* If your business will always use the same value for a given parameter, hardcode it.
* If you can’t hardcode it, try to compute it based on information you already have.
* Finally, if you can’t compute it, look it up in your data. To reduce lookups, identify cases where multiple parameters can be derived from the answer to a single question.
(But maybe not hard-hardcode it, put it in a puppet variable or something.)
> --
> 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
puppet-users...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/xn0lddu4bbmleo000%40news.gmane.org.
> For more options, visit
https://groups.google.com/d/optout.