Templating (Jinja2)

As already referenced in the variables section, Ansible uses Jinja2 templating to enable dynamic expressions and access to variables. Ansible greatly expands the number of filters and tests available, as well as adding a new plugin type: lookups.

Please note that all templating happens on the Ansible controller before the task is sent and executed on the target machine. This is done to minimize the requirements on the target (jinja2 is only required on the controller) and to be able to pass the minimal information needed for the task, so the target machine does not need a copy of all the data that the controller has access to.

Get the current time

New in version 2.8.

The now() Jinja2 function, allows you to retrieve python datetime object or a string representation for the current time.

The now() function supports 2 arguments:


Specify True to get the current time in UTC. Defaults to False


Accepts a strftime string that will be used to return a formatted date time string

See also

Working With Playbooks

An introduction to playbooks


Conditional statements in playbooks


Looping in playbooks


Playbook organization by roles

Best Practices

Best practices in playbooks

User Mailing List

Have a question? Stop by the google group!


#ansible IRC chat channel