Функции Ruby не доступны напрямую в Puppet, но вы можете использовать inline_template:
$filename = inline_template('<%= File.basename(download_url) %>')
Нет, вы не можете вызывать произвольные функции Ruby в Puppet manifest, но вы можете сделать это в шаблонах Puppet, которые используют ERB. Обратите внимание на функцию inline_template
, которая может быть полезна для вашего варианта использования.
тем временем можно использовать puppetlabs-stdlib , который предоставляет basename ()
функция.
Возвращает базовое имя пути (при необходимости удаляя расширение).
basename('/path/to/a/file.ext') returns 'file.ext'
basename('relative/path/file.ext') returns 'file.ext'
basename('/path/to/a/file.ext', '.ext') returns 'file'