ansible.builtin.fetch – Загрузка файлов с удалённых узлов
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев можно использовать короткое имя модуля fetch, даже не указывая ключевое слово collections:. Несмотря на это, рекомендуется использовать FQCN для лёгкой ссылки на документацию по модулю и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Введено в версии 0.2: of ansible.builtin
Описание
- Этот модуль работает так же, как модуль ansible.builtin.copy, но в обратном порядке.
- Он используется для загрузки файлов с удалённых машин и сохранения их локально в файловой структуре, организованной по имени хоста.
- Файлы, которые уже существуют в dest, будут перезаписаны, если они отличаются от src.
- Этот модуль также поддерживается для целевых систем Windows.
Примечание
Этот модуль имеет соответствующий плагин действия.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| dest строка / обязательно | Директория для сохранения файла. Например, если директория dest равна /backup, а файл src с именем /etc/profile на хосте host.example.com, будет сохранён в /backup/host.example.com/etc/profile. Имя хоста основано на имени инвентаризации. | |
| fail_on_missing логическое значение добавлено в версии 1.1 of ansible.builtin |
| Если установлено в значение yes, задача завершится с ошибкой, если удалённый файл не может быть прочитан по какой-либо причине.До Ansible 2.5, это значение срабатывало только если исходный файл отсутствовал. Значение по умолчанию было изменено на yes в Ansible 2.5. |
| flat логическое значение добавлено в версии 1.2 of ansible.builtin |
| Позволяет переопределить стандартное поведение добавления имени хоста/пути/имени файла в место назначения. Если dest заканчивается на '/', будет использоваться имя файла из исходного пути, как в модуле копирования.Это может быть полезно при работе с одним хостом или при получении файлов, имеющих уникальные имена для каждого хоста. Если используется несколько хостов с одинаковым именем файла, файл будет перезаписан для каждого хоста. |
| src строка / обязательно | Файл на удалённой системе для загрузки. Это должен быть файл, а не директория. Рекурсивный запрос может быть поддержан в будущих релизах. | |
| validate_checksum логическое значение добавлено в версии 1.4 of ansible.builtin |
| Проверить соответствие контрольных сумм исходного и целевого файлов после загрузки файлов. |
Примечания
Примечание
- При выполнении fetch с
become, модуль ansible.builtin.slurp также будет использоваться для загрузки содержимого файла для определения удалённой контрольной суммы. Это фактически удваивает размер передачи и, в зависимости от размера файла, может потребовать всей доступной памяти на удалённых или локальных хостах, что приведёт кMemoryError. По этой причине рекомендуется запускать этот модуль безbecomeвсякий раз, когда это возможно. - До Ansible 2.5, этот модуль не завершался с ошибкой, если чтение удалённого файла было невозможно, если не было установлено
fail_on_missing. - В Ansible 2.5 или более поздних версиях авторам плейбуков рекомендуется использовать
fail_whenилиignore_errorsдля получения этой возможности. Они также могут явно установитьfail_on_missingв значениеnoдля получения поведения без ошибок. - Этот модуль также поддерживается для целевых систем Windows.
- Поддерживает
check_mode.
См. также
См. также
- ansible.builtin.copy
-
Официальная документация по модулю ansible.builtin.copy.
- ansible.builtin.slurp
-
Официальная документация по модулю ansible.builtin.slurp.
Примеры
- 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
Авторы
- Команда Ansible Core
- Michael DeHaan
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/fetch_module.html