The last piece of working with Ansible is understanding how it handles the template. Ansible uses the Jinja2 template, which we discussed in Chapter 6, Configuration Generator with Python and Jinja2. It fills the parameters with either Ansible facts or the static values provided in the vars section, or even with the result of a task stored using the register flag.
In the following example, we will build an Ansible playbook that gathers the previous three cases. First, we define a variable called Header in the vars section, holding a welcome message as a static value. Then, we enable the gather_facts flag, to get all possible information from the target machine. Finally, we execute the date command, to get the current date in the server and store the output in the date_now variable:
- hosts: centos-servers
- Header: "Welcome to Server...