Я хотел бы назвать файл на основе суммы определенных символов MD5. Например, $ environment и $ URL. Итак, с высокого уровня мне нужно что-то вроде md5 ("http: // $ environment / $ url").
Кто-нибудь знает, как я могу это сделать? Есть ли встроенная функция вроде Crypt :: MD5, которую я могу использовать? Или мне написать для этого кастомную функцию?
Если вы не настроены на хеши MD5, вы можете использовать функция sha1. В противном случае вам придется написать свою собственную функцию или вы используете манифесты Ruby (а не Puppet DSL), которые поддерживаются начиная с Puppet 2.6.0.
Согласно тому, что сказал @tore, на самом деле не так уж сложно написать эти маленькие функции и немного расширить Puppet DSL.
Если вам все еще нужны функции генерации контрольной суммы MD5 и / или SHA1, вы можете посмотреть, что я смог сделать на данный момент: https://github.com/kwilczynski/puppet-functions
Надеюсь, вам пригодятся некоторые из этих функций :)
КВт
Создать собственную функцию не должно быть сложно: lib / puppet / parser / functions / sha1.rb
Эти файлы содержат функцию для sha1, которую можно использовать в Puppet DSL. Если вы немного разбираетесь в программировании, может, вы можете отправить патч команде Puppet, чтобы добавить поддержку MD5?