ansible.builtin.slurp – 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 FQCN 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 Choices/Defaults Comments
src
path / required
The file on the remote system to fetch. This must be a file, not a directory.

aliases: path

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction withought modifying target

diff_mode

Support: none

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode

platform

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

The official documentation on the ansible.builtin.fetch module.

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 }}"

# From the commandline, find the pid of the remote machine's sshd
# $ ansible host -m 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 Returned Description
content
string
success
Encoded file content

Sample:
MjE3OQo=
encoding
string
success
Type of encoding used for file

Sample:
base64
source
string
success
Actual path of file slurped

Sample:
/var/run/sshd.pid


Authors

  • Ansible Core Team

  • Michael DeHaan (@mpdehaan)