PLEASE NOTE: This document applies to v2.16 version and not to the latest stable release v2.19
Documentation for other releases can be found by using the version selector in the top right of any doc page.
Modules
Modules are operations executed by tasks. They require parameters for its execution.
E.g.:
- name: save user info
copy:
content: |
uid: {{ rash.user.uid }}
gid: {{ rash.user.gid }}
dest: "{% if rash.user.uid != 0 %}/tmp{% endif %}/user_info"
mode: "{{ env.FILE_MODE | default('400') }}"
Modules index
Package Management
| Module |
Description |
| pacman |
Manage packages with the pacman package manager (Arch Linux) |
File Operations
| Module |
Description |
| copy |
Copy files to path |
| file |
Manage files and file properties |
| find |
Return a list of files based on specific criteria |
| get_url |
Downloads files from HTTP, HTTPS, or FTP |
| lineinfile |
Ensure a particular line is in a file |
| template |
Render MiniJinja templates |
Command Execution
| Module |
Description |
| command |
Execute commands |
System Management
| Module |
Description |
| systemd |
Control systemd services |
Flow Control
| Module |
Description |
| assert |
Assert given expressions are true |
| block |
Group tasks together for execution |
| include |
Include tasks from another file |
| set_vars |
Set new variables |
| setup |
Load variables from .env, YAML, and JSON files |
Network
| Module |
Description |
| uri |
Interacts with HTTP and HTTPS web services |
Debugging
| Module |
Description |
| debug |
Print statements during execution |
Omitting parameters
By default all parameters defined in yaml are passed to the module. However, you can
omit them programmatically.
E.g.:
"{{ env.MY_PASSWORD_MODE | default(omit) }}"
Furthermore, if you are chaining additional filters after the default(omit), you should instead
do something like this: "{{ foo | default(None) | some_filter or omit }}".
In this example, the default None value will cause the later filters to fail, which will trigger
the or omit portion of the logic. Using omit in this manner is very specific to the later
filters you are chaining though, so be prepared for some trial and error if you do this.