Yo puedo escribir
include '::ntp'
o puedo escribir
class { '::ntp':}
¿Cuál es la diferencia entre ellos o necesito ambos?
Hay diferencias, aquí hay dos grandes:
El uso include
permite múltiples declaraciones de una clase. La class
declaración solo se puede usar una vez o verá un error de declaración de recurso duplicado.
include
utilizará datos externos, por ejemplo, hiera, para los parámetros. La declaración le class
permite especificar los parámetros.
Ver https://puppet.com/docs/puppet/latest/lang_classes.html#the-include-function
Incluir es decirle a Puppet que aplique la clase "ntp" a un nodo y la clase es declarar la clase, el comportamiento de esta clase (como asegurar archivo, paquete, usuario, etc.)