Puppet和pipe理.k5login参数和数组

所以我有福尔曼build立,并希望传入一个参数,基本上是一种方法来轻松指定用户和组可以login为该用户。 我的想法是目前有这样的参数input:

USER1;组1,组2,group3.user2;组1,groupn.user3;组1

通常(在其他语言),我会做一个二维数组,然后通过它循环。 但这并不是真正能够在Puppet中完成的事情。

我写了一个自定义函数来扩展组成员,然后将其传递给k5logintypes。 我的下一个想法是为此创build一个定义的types。 我只是不确定是否可以传递两个值…我是在重新发明轮子,还是在这里做某种愚蠢的事情?

听起来就像你想从puppet-stdlib“扁平”function。

 This function flattens any deeply nested arrays and returns a single flat array as a result. *Examples:* flatten(['a', ['b', ['c']]]) Would return: ['a','b','c'] 

https://github.com/puppetlabs/puppetlabs-stdlib

我们用它来做这样的事情:

 $flattened = join(unique(sort(flatten([$host_array1,$host_array2,$host_array3]))), ',' )