ansible.builtin.slurp 模块 - 从远程节点提取文件
注意
此模块是 ansible-core
的一部分,包含在所有 Ansible 安装中。在大多数情况下,即使不指定 集合关键字,您也可以使用简短的模块名称 slurp
。但是,我们建议您使用 完全限定的集合名称 (FQCN) ansible.builtin.slurp
,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合发生冲突。
概要
此模块的工作方式类似于 ansible.builtin.fetch。它用于提取包含远程文件中数据的 base64 编码的 blob。
此模块也支持 Windows 目标。
参数
参数 |
注释 |
---|---|
要提取的远程系统上的文件。这 *必须* 是一个文件,而不是目录。 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全 |
可以在 check_mode 中运行并返回更改状态预测,而不会修改目标,如果不支持,则操作将被跳过。 |
|
支持:无 |
将在差异模式下返回有关更改内容(或可能需要在 check_mode 中进行更改)的详细信息。 |
|
平台: posix、windows |
可以针对其执行操作的目标操作系统/系列 |
备注
注意
此模块返回文件的“内存中” 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
返回值
通用返回值在 此处 有记录,以下内容是此模块特有的字段
键 |
描述 |
---|---|
编码的文件内容 已返回:成功 示例: |
|
用于文件的编码类型 已返回:成功 示例: |
|
提取文件的实际路径 已返回:成功 示例: |