ansible.builtin.fetch – Fetch files 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
fetch 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.
New in version 0.2: of ansible.builtin
Synopsis¶
- This module works like ansible.builtin.copy, but in reverse.
- It is used for fetching files from remote machines and storing them locally in a file tree, organized by hostname.
- Files that already exist at dest will be overwritten if they are different than the src.
- This module is also supported for Windows targets.
Note
This module has a corresponding action plugin.
Parameters¶
Notes¶
Note
- When running fetch with
become
, the ansible.builtin.slurp module will also be used to fetch the contents of the file for determining the remote checksum. This effectively doubles the transfer size, and depending on the file size can consume all available memory on the remote or local hosts causing aMemoryError
. Due to this it is advisable to run this module withoutbecome
whenever possible. - Prior to Ansible 2.5 this module would not fail if reading the remote file was impossible unless
fail_on_missing
was set. - In Ansible 2.5 or later, playbook authors are encouraged to use
fail_when
orignore_errors
to get this ability. They may also explicitly setfail_on_missing
tono
to get the non-failing behaviour. - This module is also supported for Windows targets.
- Supports
check_mode
.
See Also¶
See also
- ansible.builtin.copy
- The official documentation on the ansible.builtin.copy module.
- ansible.builtin.slurp
- The official documentation on the ansible.builtin.slurp module.
Examples¶
- name: Store file into /tmp/fetched/host.example.com/tmp/somefile
ansible.builtin.fetch:
src: /tmp/somefile
dest: /tmp/fetched
- name: Specifying a path directly
ansible.builtin.fetch:
src: /tmp/somefile
dest: /tmp/prefix-{{ inventory_hostname }}
flat: yes
- name: Specifying a destination path
ansible.builtin.fetch:
src: /tmp/uniquefile
dest: /tmp/special/
flat: yes
- name: Storing in a path relative to the playbook
ansible.builtin.fetch:
src: /tmp/uniquefile
dest: special/prefix-{{ inventory_hostname }}
flat: yes
Authors¶
- Ansible Core Team
- Michael DeHaan