Как удалить все файлы /etc/ *.txt с марионеткой

этот кукольный манифест удалит файл /etc/file.txt, если он существует:

  file { "/etc/file.txt":
    ensure  => absent,
  }

как сказать puppet удалить все файлы /etc/*.txt?

Согласно ссылке, похоже, что puppet file не допускает подстановочные знаки. https://puppet.com/docs/puppet/latest/types/file.html

PS: я знаю, что я мог бы выполнить сценарий из кукольного, но я бы предпочел другой более элегантный способ.

Ответ 1

Существует встроенный тип для этого, называемый "tidy", который позволяет вам указать шаблон файла, который удаляется.

Проверьте это на https://puppet.com/docs/puppet/latest/types/tidy.html.

Ответ 2

Вы можете использовать шаблон 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,
}