Summary
Ansible is a great tool; however, sometimes, it doesn't offer all the functionality you might desire. Not every bit of functionality is appropriate to submit to the ansible-core
project, nor is it possible to provide bespoke integration with custom proprietary data sources, as these would be different in every case. As a result, there are many facilities within Ansible to extend its functionality. Creating and using custom modules is made easy by the shared module base code. Many different types of plugins can be created and used with Ansible to affect operations in a variety of ways. Inventory sources beyond those provided with the Ansible release collections can still be used with relative ease and efficiency.
In this chapter, you learned about developing modules and including them in your playbooks. You then learned about extending Ansible through plugins, and we went into specific details about creating dynamic inventory plugins. Finally, you learned how to contribute...