Chef-将数组中的属性作为多行传递给模板

问题描述 投票:0回答:1

在我的属性中,我试图创建要传递给模板的服务器管理员。但是,由于linux服务器如何读取模板,因此对于每个管理员,它们必须是模板中的各个行。

我将如何仅通过使用属性和模板来实现这一目标?

在模板.erb文件中-

Admins= <%= node['game_server']['game_session']['admin1'] %>
Admins= <%= node['game_server']['game_session']['admin2'] %>

我的属性文件行看起来像这样-

default['game_server']['game_session']['admin1'] = 'admin1'
default['game_server']['game_session']['admin2'] = 'admin2'

我想在属性中创建一个数组,并让template.erb文件将它们拉出...在属性文件中,而不是用单独的行定义每个管理员,这样的事情会很好-

我想做的事的示例(如果可能)-

default['game_server']['server_admins'] = {
  'admin1': { 'Admins=': 'admin1' },
  'admin2': { 'Admins=': 'admin2' },
}

我只是以操作人员的身份学习厨师,所以对一个菜鸟问题感到抱歉。我对编程语言了解不多。

ruby chef
1个回答
0
投票

属性:

default['game_server']['server_admins'] = ['admin1', 'admin2']

模板:

<% node['game_server']['server_admins'].each do |admin| %>
  Admins= <%= admin %>
<% end %>
© www.soinside.com 2019 - 2024. All rights reserved.