Documentation

    PLEASE NOTE: This document applies to v2.17 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
    dconf Modify and read dconf database
    group Manage groups and group attributes
    systemd Control systemd services
    user Manage user accounts and user attributes

    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.