我正在尝试修改Centrify Express的木偶模块,它与Active Directory集成。
我想基于每个节点将用户附加到允许列表,E.G:
$centrifydc_groups_allow = ['admins', 'users']
然后在我的模板中,按照以下方式做一些事情:
<% scope.lookupvar('centrifydc::groups_allow').each do |val| -%>
<%= val %>
<% end -%>
我正在寻找一种清晰一致的方法来定义访问配置文件,然后进行单个节点调整,添加更多应该具有访问权限的条目。
怎么做?
答案 0 :(得分:1)
你有+ =运算符附加到puppet中的数组。
$centrifydc_groups_allow = ['admins', 'users']
$centrifydc_groups_allow += ['webusers']
此外,如果您使用stdlib module,它会实现许多有用的函数来处理数组。
例如,如果存在风险,您可以在数组中从不同的pp重复自己,您可以在追加之前进行测试:
$centrifydc_groups_allow = ['admins', 'users']
if member($centrifydc_groups_allow,'webusers') == false {
$centrifydc_groups_allow += ['webusers']
}
此外,您还有一个合并数组的合并函数,通过scope_function_merge可以在模板中使用它而不是附加到数组,具有默认数组和为每个节点/类型/等重写的自定义数组。