Puppet模板中的小写variables值

在我的木偶configuration中,我需要在模板中使用它之前小写一个variables值。 如何做到这一点? 有没有办法在puppet清单中小写一个variables值? 我需要在模板中执行此操作吗?

更一般的:我可以在清单中使用的string操作函数在哪里。

我是否必须编写自己的自定义ruby函数来实现这个function?

清单内的木偶string操作function非常有限。 清单并不是真的打算处理这样的事情。

但是,在模板中,这很容易; 正常的rubyfunction可用。 说我想要一个小写的osfamily事实:

 <%= osfamily.downcase %> 

有两个通用的解决scheme,我可以想到这个问题。 一般来说,我的意思是他们将工作在清单文件和模板,而不仅仅是模板。

我build议的解决scheme是在标准库模块中使用downcase()parsing器函数。 我推荐这个,因为你不需要写任何ruby代码,而且它更容易阅读:

 class helloworld { $os_downcase = downcase($osfamily) } include helloworld 

如果你不想依赖于stdlib模块,那么你可以使用inline_template函数来推广Shane提到的解决scheme:

 class helloworld { $os_downcase = inline_template('<%= osfamily.downcase %>') } include helloworld 

inline_template避免了创build一个单独的*.erb文件的需要。

希望这可以帮助。 -Jeff