如何通过厨师向群组添加多个成员?
我试过这样,但它失败了。
group "git" do
action :modify
members "foo, bar"
append true
end
我可以这样做,但members
似乎接受了多个用户。我该如何使用它?
%w(foo bar).each do |m|
group "git" do
action :modify
members m
append true
end
end
答案 0 :(得分:5)
大多数接受Chef中多个输入的参数都使用标准的ruby数组语法。我刚才找不到一个例子,group
docs没有提供多个用户的例子令人非常沮丧。事实上,他们只是说
members
表示应将哪些用户设置或附加到组中。
仅提供单个用户的示例。也就是说,members ["foo", "bar"]
应该是要走的路。
答案 1 :(得分:3)
这是一个包含多个成员的标准Group块:
group "rbenv" do
action :manage
members ['member1','member2','member3']
end
您还可以使用空白数组中的循环:
%w{ erin john nick jenna kris }.each do |memberlist|
group "rbenv" do
action :manage
members memberlist
end
end
使用这个空白数组选项,您现在可以设置为继续使用该类型的数组,或者从Chef数据包甚至MySQL数据库中获取数组。在我的例子中,Chef连接到MySQL以获取有关用户的信息,并相应地进行配置。