With this, we come to the end of this chapter, where we've seen how to use features such as
local_action, conditionals, loops, and including of files to reduce redundant code. We also saw how to use handlers, how to model infrastructure using roles, how to use Jinja filters, and finally security management with Ansible. We now have made significant progress in terms of our Ansible skillset.
We'll next look at how to handle errors, send notifications, even run rollbacks, and utilize callbacks in our Ansible code. This will help us think of our operations a lot more and make sure that they understand what is going on. As you've just read through what we would term as a "heavy" chapter, you deserve a quick coffee break before proceeding to ...