супер новый для марионетки. Не удалось найти хороший пример того, как добавить метку времени в файл puppet.pp
node '123' {
file { '/tmp/hello':
content => "hello world",
}
file { '/tmp/timestamped':
content => 'date',
}
Просто хотел распечатать текущую дату, когда этот манифест применяется к файлу с отметкой времени
версия: 4.10
Это должно работать. Используйте команду generate для создания и присвоения переменной. Затем назначьте переменную содержимым файла.
$timestamp = generate('/bin/date', '%Y-%m-%dT%H:%M:%S')
file {'/tmp/timestamped':
content => "$timestamp"
}
Если вы используете версию старше 4.8.0 вы можете использовать функцию strftime()
в модуле stdlib (http://www.puppetmodule.info/github/simp/puppetlabs-stdlib/puppet_functions_ruby3x/strftime)
Если вы используете более новую версию марионетки, вам следует использовать Timestamp.new().strftime()
(https://puppet.com/docs/puppet/latest/function.html#strftime)
Пример (вам нужно использовать только одно из назначений):
#ISO 8601
$timestamp = Timestamp.new().strftime('%Y-%m-%dT%H:%M:%S%:z')
notice ($timestamp)
#RFC 822, 1036, 1124, 2822
$timestamp = Timestamp.new().strftime('%a, %d %b %Y %H:%M:%S %z')
notice ($timestamp)
file {'/tmp/timestamped':
content => "$timestamp"
}