замените значение переменной на шаблоне ruby через куклу - PullRequest
0 голосов
/ 25 февраля 2020

Я ищу способ получить этот файл шаблона ruby:

ServerName 1.server.foo

, зная, что если я запущу

$ facter -p fqdn
1.server.foo.internet.com

, я, вероятно, поиграю с <%= @fqdn %> и .gsub?

server-id: <%= @fqdn %>.gsub(/.internet.com/, '')

Ответы [ 2 ]

2 голосов
/ 25 февраля 2020

Все выражение должно быть в теге <%= %>, поэтому попробуйте

server-id: <%= @fqdn.regsubst(/.internet.com/, '') %>

Синтаксис шаблона задокументирован как https://puppet.com/docs/puppet/5.5/lang_template_erb.html с примерами выражений, используемых в <%= %> tags.

Я также хотел бы отметить, что шаблоны ERB были заменены родными шаблонами EPP для Embedded Puppet , поэтому может быть лучше выполнить конвертацию сейчас.

0 голосов
/ 25 февраля 2020

используя EPP с regsubst, он работает!

server-id: <%= $facts[fqdn].regsubst(/.internet.com/, '') %>
...