ansible.builtin.slurp – Slurps a file from remote nodes

Note

This module is part of ansible-base and included in all Ansible installations. In most cases, you can use the short module name slurp even without specifying the collections: keyword. Despite that, 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

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.

  • This module is also supported for Windows targets.

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
  slurp:
    src: /proc/mounts
  register: mounts

- 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

Authors

  • Ansible Core Team

  • Michael DeHaan (@mpdehaan)