Я хочу переместить файлы по расширению.
Хотя Puppet может помочь вам в этом, это не то, для чего предназначен Puppet. Puppet предоставляет сервис управления состоянием машины. Все, что он должен делать, следует рассматривать в контексте этого дерева решений:
- Какое целевое состояние требуется?
- Машина уже находится в целевом состоянии?
- Да: ничего не делать.
- Нет: обновить компьютер до целевого состояния
Puppet не является механизмом сценариев, и манифесты Puppet не должны рассматриваться как сценарии.
1) Действительно ли мне нужно создавать файлы и удалять после копирования или я могу сделать это в одной задаче?
Нет и да соответственно. Хотя Puppet не является механизмом сценариев, он может выполнять произвольные программы (включая сценарии) и команды оболочки для вас. Это обеспечивается через основной Exec
тип ресурса . Это будет работать лучше для вас, если вы концептуализируете свою задачу с точки зрения целевого состояния - в отличие от желаемого действия - и напишите свой код с этой точки зрения, но вы сможете продолжить, даже если это покажется неясным.
2) Что если я захочу скопировать * .jpg файлы в папку files / jpg / и * .htm
файлы в файлы / htm? Как я могу это сделать?
Как бы вы сделали это из командной строки? Несмотря на проблему концептуализации, можно сказать, что вы примените ресурс Exec
, чей параметр command
является командой оболочки, выполняющей работу напрямую или с помощью сценария.
Или, если вам удалось сформулировать цель с точки зрения ресурса, который нужно управлять, в определенное состояние, и , вы были переучастником со временем, то вы могли бы рассмотреть инкапсуляцию этого в пользовательский тип ресурса , экземпляр которого можно использовать вместо универсального Exec
.