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

Comments

src

aliases: path

path / required

The file on the remote system to fetch. This must be a file, not a directory.

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.

  • Supports check_mode.

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

Description

content

string

Encoded file content

Returned: success

Sample: “MjE3OQo=”

encoding

string

Type of encoding used for file

Returned: success

Sample: “base64”

source

string

Actual path of file slurped

Returned: success

Sample: “/var/run/sshd.pid”

Authors

  • Ansible Core Team

  • Michael DeHaan (@mpdehaan)