Chef - 将数组中的属性作为多行传递给模板
Chef - Passing Attributes in an array to a template as multiple lines
在我的属性中,我正在尝试创建要传递给模板的服务器管理员。但是,由于 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' },
}
我只是作为运维人员在学习 Chef,很抱歉提出一个菜鸟问题。我还不太了解编程语言。
属性:
default['game_server']['server_admins'] = ['admin1', 'admin2']
模板:
<% node['game_server']['server_admins'].each do |admin| %>
Admins= <%= admin %>
<% end %>
在我的属性中,我正在尝试创建要传递给模板的服务器管理员。但是,由于 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' },
}
我只是作为运维人员在学习 Chef,很抱歉提出一个菜鸟问题。我还不太了解编程语言。
属性:
default['game_server']['server_admins'] = ['admin1', 'admin2']
模板:
<% node['game_server']['server_admins'].each do |admin| %>
Admins= <%= admin %>
<% end %>