Chef offers the opportunity to extend the list of available resources by creating a custom Lightweight Resource Provider (LWRP). By creating your own custom resources, you can simplify writing cookbooks because your own custom resources enrich the Chef DSL and make your recipe code more expressive.
Many of the custom resources in Chef's community cookbooks (and elsewhere) are implemented as LWRPs. So, there are many working examples in the real world, such as iptables_rule
, apt_repository
, and many more.
In this section, we will create a very simple LWRP to demonstrate the basic mechanics.
Create a new cookbook named greeting
and ensure that the run_list
of your node includes greeting
, as described in Creating and using cookbooks recipe of Chapter 1, Chef Infrastructure.