ansible.builtin.slurp module – Slurps a file from remote nodes
Note
This module is part of ansible-core and included in all Ansible
installations. In most cases, you can use the short
module name
slurp even without specifying the collections keyword.
However, we recommend you use the Fully Qualified Collection Name (FQCN) ansible.builtin.slurp for easy linking to the
module documentation and to avoid conflicting with other collections that may have
the same module name.
Synopsis
This module works like ansible.builtin.fetch. It is used for fetching a base64- encoded blob containing the data in a remote file.
This module is also supported for Windows targets.
Parameters
Parameter |
Comments |
|---|---|
To safely deliver the data requested, armor it by base64 encoding it. This is mainly done to avoid issues with binary data or to preserve non-UTF-8 encodings, as the content will be converted to UTF-8 due to the JSON transport used. For windows support, check the ansible.windows collection. Choices:
|
|
The file on the remote system to fetch. This must be a file, not a directory. |
Attributes
Attribute |
Support |
Description |
|---|---|---|
Support: full |
Can run in check_mode and return changed status prediction without modifying target, if not supported the action will be skipped. |
|
Support: none |
Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode |
|
Platforms: posix, windows |
Target OS/families that can be operated against |
Notes
Note
This module returns an ‘in memory’ base64 encoded version of the file, take into account that this will require at least twice the RAM as the original file size.
See Also
See also
- ansible.builtin.fetch
Fetch files from remote nodes.
Examples
- name: Find out what the remote machine's mounts are
ansible.builtin.slurp:
src: /proc/mounts
register: mounts
- name: Print returned information
ansible.builtin.debug:
msg: "{{ mounts['content'] | b64decode }}"
- name: Find out what the remote machine's mounts are, no armor
ansible.builtin.slurp:
src: /proc/mounts
armor: false
register: mounts
- name: Print returned information
ansible.builtin.debug:
msg: "{{ mounts['content'] }}"
# From the commandline, find the pid of the remote machine's sshd
# $ ansible host -m ansible.builtin.slurp -a 'src=/var/run/sshd.pid'
# host | SUCCESS => {
# "changed": false,
# "content": "MjE3OQo=",
# "encoding": "base64",
# "source": "/var/run/sshd.pid"
# }
# $ echo MjE3OQo= | base64 -d
# 2179
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
Encoded file content Returned: success Sample: |
|
Current encoding of the file content, it can be Returned: success Sample: |
|
Actual path of file slurped Returned: success Sample: |