ansible/docs/docsite/rst/user_guide/playbooks_templating.rst
Toshio Kuratomi 80e7e1a17c
Due to the takeover of freenode we're moving to a different irc network. (#74775)
* Due to the takeover of freenode we're moving to a different irc network.

* Our channels updated to point at the same channel name on libera.chat
* Some links went to webchat.freenode.net.  At this time, libera.chat
  doesn't point you to an official webchat client so I changed these to
  https://libera.chat. (kiwi irc does work with libera.chat so that
  could be another option).
* In general, I used the name irc.libera.net for link names and
  https://libera.chat for link targets.  This is because the irc service
  is hosted on irc.libera.chat but the project web server is hosted on
  libera.chat.  (This appears to also be true for freenode but we were
  using http://irc.freenode.net which doesn't seem to work.  Oops).
* Removed http://irc.freenode.net from the linkcheck exceptions.
  linkcheck was actually correct to flag that as invalid (should have
  been http://frenode.net instead).

* Looks like hte important people in #yaml are now in libera.chat

* Link to where contributors should get help

Add a link target and then link to where contributors should get support
for developing groups of modules.

* Update docs/docsite/rst/dev_guide/developing_modules_in_groups.rst

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2021-06-01 08:48:09 +01:00

2.2 KiB

Templating (Jinja2)

Ansible uses Jinja2 templating to enable dynamic expressions and access to variables. Ansible includes a lot of specialized filters and tests for templating. You can use all the standard filters and tests <jinja2:builtin-filters> included in Jinja2 as well. Ansible also offers a new plugin type: lookup_plugins.

All templating happens on the Ansible controller before the task is sent and executed on the target machine. This approach minimizes the package requirements on the target (jinja2 is only required on the controller). It also limits the amount of data Ansible passes to the target machine. Ansible parses templates on the controller and passes only the information needed for each task to the target machine, instead of passing all the data on the controller and parsing it on the target.

playbooks_filters playbooks_tests playbooks_lookups playbooks_python_version

Get the current time

2.8

The now() Jinja2 function retrieves a Python datetime object or a string representation for the current time.

The now() function supports 2 arguments:

utc

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

fmt

Accepts a strftime string that returns a formatted date time string.

playbooks_intro

An introduction to playbooks

playbooks_conditionals

Conditional statements in playbooks

playbooks_loops

Looping in playbooks

playbooks_reuse_roles

Playbook organization by roles

playbooks_best_practices

Tips and tricks for playbooks

Jinja2 Docs

Jinja2 documentation, includes the syntax and semantics of the templates

User Mailing List

Have a question? Stop by the google group!

irc.libera.chat

#ansible IRC chat channel