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