Chef - передача атрибутов в массиве в шаблон в виде нескольких строк - PullRequest
1 голос
/ 10 февраля 2020

В моих атрибутах я пытаюсь создать администраторов сервера для передачи в шаблон. Однако из-за того, как шаблон читается сервером linux, они должны быть отдельными строками в шаблоне для каждого администратора.

Как бы я сделал это реальностью, просто используя свои атрибуты и template?

В файле шаблона .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' },
}

Я только учусь на шеф-повара, как оперативник, так что извините за вопрос новичка. Я пока мало знаю о языках программирования.

1 Ответ

1 голос
/ 10 февраля 2020

атрибуты:

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

шаблон:

<% node['game_server']['server_admins'].each do |admin| %>
  Admins= <%= admin %>
<% end %>
...