With this, we come to the end of this rather small but important chapter, which focused on how you can extend Ansible by writing your own custom modules. You learned how to use Python, Bash, and Ruby in order to write your modules. We've also seen how to write integration tests for modules so that they can be integrated into your CI system. In future, hopefully, extending your Ansible functionality using modules should be way easier!
A couple of questions to think about are as follows:
Can you think of common tasks that you perform daily and how you would write an Ansible module for that? List them down in terms of how you would invoke the module from a playbook.
Which language do you think your team would be comfortable using for your modules?
Can you revisit the roles that you might have written after Chapter 3, Taking Ansible to Production, and see which of them can potentially be converted into custom modules?
Next, we will step into the world of Provisioning, Deployment, and Orchestration...