Summary
Chef has lots of mechanisms to build advanced automation, including building your own definitions, resources, and providers, as well as storing and accessing complex configuration data and even securely encrypting it. This chapter has shown you how to manage data in data bags (including encrypted data), use Chef's advanced search engine to find and manipulate data in your system from the command line and in recipes, as well as develop definitions for reusable recipe development, and even build custom resources and providers for use in your cookbooks.
In the next chapter, we will cover some more advanced ways to use Chef, including interacting with the Chef shell, automation and integration with Chef using scripts and APIs, external tools and resources, advanced testing including integration testing, and using Chef-solo and Vagrant to manage your development environments.