Preface
For diagrams, tables, or exact code formatting, .
Network Modules https://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html/ Key components of the Ansible framework are network modules provided by, and developed in collaboration with, hardware vendors like Cisco or F5. This book specifically focuses on the Cisco IOS facts, commands and configuration modules. Be aware that many more modules exist beyond the network modules from Cisco. The same principals outlined in this book for campus enterprise network automation can be applied to other platforms such as a Cisco-based data center, for example, where the Cisco NX-OS modules are available for Ansible.
YAML http://yaml.org/ (YAML) Ain’t Markup Language is a human-readable data serialization standard for all programming languages. YAML is used extensively throughout this book primarily to write data models for Ansible group_vars and host_vars, Ansible tasks, and Ansible playbooks. Using YAML data can be abstracted from the configurations and can create standard models by platform and function for the network.
Jinja2 http://jinja.pocoo.org/docs/2.10/ Jinja2 is a dynamic templating language for Python used to create templates. These templates are a mix of static text representing Cisco IOS commands, programmatic logic, and dynamic variables. At run time these templates are compiled using the variables held in the group_vars and host_vars files.
Online Resources Throughout this book hyperlinks are used to connect the reader to relevant online resources. A GitHub repository has been setup in support of this book as well as an appendix explaining how to use the GitHub repository to clone a copy of the repository locally.
