[英]Use other facts in a custom fact
我对以下自定义事实感到困难; 详情如下。
自定义事实需要在以下文件夹中查找某个json
文件。 这在清单中使用时显示信息。 但是,当我将它添加到自定义事实时,它不起作用。
"/opt/${::hostname}/${::custom_variable}_${::fqdn}.json"
但是,如果我硬编码如下所示的值,它可以正常工作。
"/opt/host1.domain.com/mycompany_host1.json"
请注意,自定义变量是在Puppet控制台上针对“分类”定义的。
如果您需要在自定义事实中使用事实,则必须使用Facter的.value
方法访问它们。 当事实被引用为该方法的符号参数时,可以访问它们的值(例如, Facter.value(:hostname)
)。 为了能够使用Facter类,您必须在Ruby文件中为自定义事实要求:
require 'facter'
然后,您可以使用字符串插值以正常方式使用上例中的变量:
"/opt/#{Facter.value(:hostname)}/#{Facter.value(:custom_variable)}_#{Facter.value(:fqdn)}.json"
请注意,在使用此自定义事实之前,需要在pluginsync期间在系统上分配custom_variable
事实。 此外,您在上面的示例中切换了hostname和fqdn,因此请确保在实现此操作时正确对齐。
https://docs.puppet.com/facter/3.6/custom_facts.html#using-other-facts
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.