I had a feeling there was some confusion there. :) I had earlier found
the official doc page (that you reference below), and it references the
"<module>/<file>.epp" syntax, which is the only one I found to work. I
did report this in the book errata list, if it matters.
By your lack of an answer to my original actual question, I'm guessing
you know of no ancient Puppet implementation history where the
"puppet:///<module>/<file>.epp" syntax was valid? Although the syntax as
described this way in the book obviously doesn't work in Puppet 4 (and
the docs are consistent with that), I find it hard to believe the author
came up with this syntax on a lark :) , which makes me think that this
used to be valid at some point in the past.
>
>> The first occurrence is where the "epp()" function syntax is first
>> mentioned, in chapter 13, section "Using Puppet EPP Templates". On this
>> page, it has two clear examples, one using the "<module>/<file>.epp"
>> form, and the other using the "puppet:///<module>/<file>.epp" form, and
>> the text that describes the required syntax only mentions the latter.
>>
>> The next occurrence is in chapter 14, section "Calling Other Modules",
>> and this example uses the "puppet:///<module>/<file>.epp" syntax.
>>
>> I believe these are the only locations within the book that talk about
>> the syntax of the argument to the "epp()" function.
>>
>>
>>
>> IIRC, the implementation of EPP use the same resolution to find a
>> template as the ERB template support does, so some investigation is
>> needed to find the real answer. The documentation / examples may
>> be in
>> error too.
>>
>>
>> The book indicated that the ERB template syntax uses
>> "<module>/<file>.epp", but I didn't test that.
>>
>
> The official documentation is here:
>
https://docs.puppet.com/puppet/latest/reference/lang_template.html#referencing-files
>
Yup, found that already. Thanks.