Я могу написать
include '::ntp'
или я могу написать
class { '::ntp':}
В чем разница между ними, или мне нужны оба?
Есть отличия, вот два больших:
С помощью include
позволяет несколько объявлений класса. В class
объявление можно использовать только один раз, иначе вы увидите ошибку повторяющегося объявления ресурса.
include
будет использовать внешние данные, например hiera, для параметров. Объявление class
позволяет указать параметры.
Видеть https://puppet.com/docs/puppet/latest/lang_classes.html#the-include-function
Включают означает, что марионетка должна применить класс "ntp" к узлу и класс заключается в объявлении класса, поведения этого класса (например, обеспечения файла, пакета, пользователя и т. д.)