Et oui, une classe ne peut être déclarée qu'une fois, c'est un singleton (une installation d'apache par exemple)
Alors qu'un defined type peut être déclaré x fois, il faut voir ça comme des objets qui peuvent avoir plusieurs instances (comme les vhost)
-
http://www.craigdunn.org/2011/09/puppet-parameterized-classes-vs-definitions/