2014-09-05 79 views

回答

1

如果您使用的是Facter 1.x,则从事实代码返回的所有值都会隐式转换为字符串。在数组的情况下,所有元素都是连续的。

作为一种解决方法,您可以使您的事实进行适当的连接,例如,用逗号加入值。

setcode do 
    result = [] 
    # ... code to store an array in #{result} 
    result * ',' 
end 

在你的清单,你可以使用split功能把这个回一个适当的阵列。

$my_env_arr = split($::my_env, ',') 
my_resource { $my_env_var: } 

阵列事实只是与Facter 2.x合作。

0

@felix-frank

在你的第二个代码示例的第二行,你的意思是使用

my_resource { $my_env_var: }

my_resource { $my_env_arr: }

我问,因为后者使得多对我来说更有意义,而且变量名称将与所显示的内容相匹配该例的第一行。