Ответ 1
Существует встроенный тип для этого, называемый "tidy", который позволяет вам указать шаблон файла, который удаляется.
Проверьте это на https://puppet.com/docs/puppet/latest/types/tidy.html.
этот кукольный манифест удалит файл /etc/file.txt
, если он существует:
file { "/etc/file.txt":
ensure => absent,
}
как сказать puppet удалить все файлы /etc/*.txt
?
Согласно ссылке, похоже, что puppet file
не допускает подстановочные знаки.
https://puppet.com/docs/puppet/latest/types/file.html
PS: я знаю, что я мог бы выполнить сценарий из кукольного, но я бы предпочел другой более элегантный способ.
Существует встроенный тип для этого, называемый "tidy", который позволяет вам указать шаблон файла, который удаляется.
Проверьте это на https://puppet.com/docs/puppet/latest/types/tidy.html.
Вы можете использовать шаблон glob с tidy: https://puppet.com/docs/puppet/latest/types/tidy.html
Так что это будет вашим решением:
tidy { "delete-txt-files-in-etc":
path => "/etc",
recurse => true,
matches => [ '*.txt' ],
rmdirs => false,
}