Chapter 8. Classes, roles, and profiles
 | Our life is frittered away by detail. Simplify, simplify! |  |
 | --Henry David Thoreau |
In this chapter you will explore the details of Puppet classes, the distinction between defining a class and including the class, how to supply parameters to classes, and how to declare classes with parameters and specify appropriate data types for them. You'll learn how to create defined resource types, and how they differ from classes. You'll also see how to organize your Puppet code using the concepts of nodes, roles, and profiles.