ansible.builtin.slurp 模块 – 从远程节点读取文件

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定 collections 关键词,您也可以使用简短的模块名称 slurp。但是,我们建议您使用 完全限定的集合名称 (FQCN) ansible.builtin.slurp,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合发生冲突。

摘要

  • 此模块的工作方式类似于 ansible.builtin.fetch。它用于获取包含远程文件中数据的 Base64 编码的 blob。

  • 此模块也支持 Windows 目标。

参数

参数

注释

src

别名:path

路径 / 必需

要从远程系统中获取的文件。这*必须*是一个文件,而不是一个目录。

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 下运行并返回更改状态预测,而无需修改目标,如果不支持,则操作将被跳过。

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息

platform

平台: posixwindows

可以对其进行操作的目标操作系统/系列

备注

注意

  • 此模块返回文件的“内存中”Base64 编码版本,请注意这将至少需要原始文件大小两倍的 RAM。

另请参阅

另请参阅

ansible.builtin.fetch

从远程节点获取文件。

示例

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

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

content

字符串

编码后的文件内容

返回:成功

示例:"MjE3OQo="

encoding

字符串

用于文件的编码类型

返回:成功

示例:"base64"

source

字符串

读取的文件的实际路径

返回:成功

示例:"/var/run/sshd.pid"

作者

  • Ansible Core 团队

  • Michael DeHaan (@mpdehaan)