Я пытаюсь выяснить, как я могу использовать факты Facter в файле erb-файла Ruby, настроенном на Puppet.Как использовать значения Facter в шаблоне Ruby с Puppet
Пример переменной шаблона рубин
zk.l.conn=
Ожидаемый результат конфигурационного файла из кукольного
zk.l.conn=ip-xx-31-xx-xxx.ec2.internal:2181,ip-xxx-31-xx- xxx.ec2.internal:2181,ip-172-xxx-xxx-xx.ec2.internal:2181
Facter фактические данные:
"zk-internal": [
{
"host": "ip-xx-31-xx-xxx.ec2.internal",
"port": 2181,
"priority": 2,
"weight": 10
},
{
"host": "ip-xxx-31-xx-xxx.ec2.internal",
"port": 2181,
"priority": 3,
"weight": 10
},
{
"host": "ip-172-xxx-xxx-xx.ec2.internal",
"port": 2181,
"priority": 1,
"weight": 10
}
],
Clever использовать '.map', чтобы сохранить его в виде массива во время итерации, так что вы можете использовать' .join' для запятых. –
Отлично! но если мне нужно добавить порт для каждого ip, например, ip-xx-31-xx-xxx.ec2.internal: 2181? – rocky
Вы измените это во второй части - '.map {| h | "# {h ['host']}: # {h ['port']}"} 'теперь будет возвращать массив строк хоста: port. –