Types and providers
Puppet separates the implementation of a type into the type definition and any one of the many providers for that type. For instance, the package type in Puppet has multiple providers depending on the platform in use (apt, yum, rpm, gem, and others). Early on in Puppet development there were only a few core types defined. Since then, the core types have expanded to the point where anything that I feel should be a type is already defined by core Puppet. The modules presented in Chapter 5, Custom Facts and Modules, created their own types using this mechanism. The LVM module created a type for defining logical volumes, and the concat
module created types for defining file fragments. The firewall
module created a type for defining ...
Get Mastering Puppet - Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.