Out with the old (LWRPs), in with the new (Custom Resources)
When Chef was created, the Chef developers delivered a tool that had a lot of capabilities right out of the box. The variety of resources that it supported natively was very useful and quite extensive. But, of course, being a finite tool, it could not handle every possible type of resource that existed or could exist in the future. Knowing this, the Chef developers built in a feature set to allow users to augment the capabilities and support an ever-growing set of resources.
This feature set is known as Lightweight Resource Providers (LWRP) and Heavyweight Resource Providers (HWRP). These features allow users to define new resources and create the providers to support those resources, making Chef infinitely customizable.
The two types, LWRP and HWRP, are differentiated by the level of complexity used to define the resources and the providers being created. LWRPs are created using the Chef DSL (Domain-specific Language) and are...