In Puppet, what is the difference between 'include' and 'class'?
There are differences, here are two big ones:
Using include
allows multiple declarations of a class. The class
declaration can only be used once or you'll see a duplicate resource declaration error.
include
will use external data, e.g. hiera, for parameters. Declaring class
allows you to specify the parameters.
See https://puppet.com/docs/puppet/latest/lang_classes.html#the-include-function