Yaml 如何让hiera输出文本字符串';%{::fqdn}';?

Yaml 如何让hiera输出文本字符串';%{::fqdn}';?,yaml,hiera,Yaml,Hiera,我想知道我需要在yaml文件中包含什么,才能让hiera输出文本字符串%{::fqdn},而不是输出伪事实fqdn的值 这是我试过的 # grep foo::p4 /etc/puppetlabs/code/environments/production/hieradata/bar.yaml foo::p4: 'http://%{hiera(''p1'')}/%{::fqdn}' 这就是结果: # hiera foo::p4 '::prefix_fact=bar' '::fqdn=thing.c

我想知道我需要在yaml文件中包含什么,才能让hiera输出文本字符串
%{::fqdn}
,而不是输出伪事实
fqdn
的值

这是我试过的

# grep foo::p4 /etc/puppetlabs/code/environments/production/hieradata/bar.yaml
foo::p4: 'http://%{hiera(''p1'')}/%{::fqdn}'
这就是结果:

# hiera foo::p4 '::prefix_fact=bar' '::fqdn=thing.com' environment=production
http://test/thing.com
我实际想要的输出是:

http://%{hiera('p1')}/%{::fqdn}
我想我可以做一些像这样愚蠢的事:

p1: 'test'
pa: '%{hiera'
pb: '("p1")}'
pc: '%{::fq'
pd: 'dn}'
foo::p4: "%{hiera('pa')}%{hiera('pb')}%{hiera('pc')}%{hiera('pd')}"
那么输出就是我想要的:

# hiera foo::p4 '::prefix=bar' '::fqdn=thing.com' environment=production
%{hiera("p1")}%{::fqdn}
根据报告:

foo:p4: 'http://%{literal(''%'')}{hiera(''p1'')}/%{literal(''%'')}{::fqdn}'