Gary has already given a good reply, let me just add some of the motivations that have driven this approach in my new modules (example42): - I want all the variables used in a Puppet class to be visible to the system (in my case Puppi, so that I can do interesting things with them): Puppet know so much about how a system is configured that I find it somehow reductive to use all this knowledge "just" to configure things :-) - Parametrized class are cool, but they can be a PITA to repeat every time you use them some common parameters (in my case if and how to monitor the class' resources, if to firewall it or activate puppi for it and so on) - In params.pp you can set default values and manage the differences among different operating system (which is something that the user should not care about) . I present these module internal variables (such as packagename, processname, servicename and so on) as class parameters because I need them for my puppi things (look at what is done when puppi is set to true in https://github.com/example42/puppet-openssh/blob/master/manifests/init.pp ) - Parametrized classes are cool but you can't (still) use them in the common ENCs around (PuppetDashboard, the Foreman). In Puppet AFAIK, extenarl nodes can have just some variables set and classes included. That's why I wanted to preserve the "old" style set variables+include class approach. Actually in my new modules you can mix global variables and class parameters seamlessly.
All this approach requires some verbose extra code in params.pp but for me is worth the effort. Also Dan Bode has suggested to create a custom function that makes the same lookups for each parameter (params class, custom classes, top scope variables and hiera lookups) that would save a lot of extra code in params.pp . So there might be some further development in this area. Hope to have given reasonable answers ;-) al -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/VaO0zq3x_OsJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.