puppet-quest-guide/class_parameters.md at master · puppetlabs/puppet ... Ever since class parameters have been available, some Puppet users have felt compelled to write (example) code that would make it a point to forgo the include keyword in favor of resource-like class declarations, such as this:. Smart Class Parameters are created/deleted for Puppet classes during import and cannot be created or deleted otherwise. Modules usually follow one of two structures: Single entry point via init.pp for simple services with few/no params and no separate roles (client/server) or "multiples" (like a database server could have multiple db's configured in it via puppet) Multiple entry points via subclasses and defined types that handle separate roles and multiples Click the Smart Class Parameter tab. rspec-puppet Puppet 4: default value of a parameter in a module and dependency Passing parameters to classes | Puppet Cookbook - Third Edition Another major advantage is the separation of configuration data from the code, which makes everything generally easier. Puppet - Class Inheritance - CodingBee How to execute/run puppet class - Server Fault Passing parameters to classes | Puppet 5 Cookbook - Fourth Edition The first way is to use the include-like syntax: node 'PuppetAgent1' { include user_account } However there is a limitation with this, which is that the include syntax doesn't let you specify any class parameters. Preferring the include keyword - Puppet 5 Essentials - O'Reilly 4. Puppet Module Design - Puppet Best Practices [Book] All of their class parameters available in the snmp class. Indeed, the parameterized-style class declaration syntax is better viewed as a parameter binding syntax, with a side effect of declaring the class.