Модуль ansible.builtin.fetch — получение файлов с удалённых узлов
Примечание
Этот модуль входит в состав ansible-core и включён во все установки Ansible. В большинстве случаев можно использовать краткое имя модуля fetch, не указывая ключевое слово collections. Однако для удобства перехода к документации модуля и во избежание конфликтов с другими коллекциями, в которых может быть модуль с таким же именем, мы рекомендуем использовать полное имя коллекции (FQCN) ansible.builtin.fetch.
Краткое описание
- Этот модуль работает как ansible.builtin.copy, но в обратном направлении.
- Он используется для получения файлов с удалённых машин и сохранения их локально в дереве каталогов, организованном по именам узлов.
- Существующие файлы в
destбудут перезаписаны, если они отличаются отsrc. - Этот модуль также поддерживается для целевых узлов Windows.
Примечание
Этому модулю соответствует плагин действий.
Параметры
Параметр | Комментарии |
|---|---|
dest string / обязательный | Каталог для сохранения файла. Например, если |
fail_on_missing boolean | Если установлено значение До Ansible 2.5 эта настройка приводила к ошибке только в случае отсутствия исходного файла. В Ansible 2.5 значение по умолчанию было изменено на Варианты:
|
flat boolean | Позволяет переопределить поведение по умолчанию, при котором к пути назначения добавляется hostname/path/to/file. Если Это может быть полезно при работе с одним узлом или при получении файлов, имена которых уникальны для каждого узла. При использовании нескольких узлов с одинаковым именем файла он будет перезаписываться для каждого узла. Варианты:
|
src string / обязательный | Файл в удалённой системе, который необходимо получить. Это должен быть файл, а не каталог. Рекурсивное получение файлов может быть реализовано в одном из будущих выпусков. |
validate_checksum boolean | Проверять совпадение контрольных сумм исходного файла и файла назначения после получения файлов. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action | Поддержка: full | Указывает, что этому модулю соответствует плагин действий, поэтому некоторые части параметров могут выполняться на управляющем узле |
async | Поддержка: none | Поддерживает использование с ключевым словом |
bypass_host_loop | Поддержка: none | Принудительно запускает «глобальную» задачу, которая выполняется не для каждого узла; при этом пропускаются шаблонизация для отдельных узлов, параметры serial и throttle, а также другие особенности циклов Условные выражения будут работать так, как если бы использовалось Это действие не будет нормально работать вне стратегий с синхронным выполнением |
check_mode | Поддержка: full | Может выполняться в check_mode и возвращать прогнозируемый статус изменений, не изменяя целевой узел; если режим не поддерживается, действие будет пропущено. |
diff_mode | Поддержка: full | В режиме diff возвращает сведения об изменениях (или об изменениях, которые, возможно, потребуются в check_mode) |
platform | Платформы: posix, windows | Целевые ОС и семейства ОС, с которыми можно работать |
safe_file_operations | Поддержка: none | Использует строгие функции Ansible для работы с файлами, чтобы обеспечить правильные разрешения и предотвратить повреждение данных |
vault | Поддержка: none | Может автоматически расшифровывать файлы, зашифрованные с помощью Ansible Vault |
Примечания
Примечание
- При запуске fetch с
becomeдля получения содержимого файла и определения контрольной суммы на удалённом узле также будет использоваться модуль ansible.builtin.slurp. Это фактически удваивает объём передаваемых данных и, в зависимости от размера файла, может занять всю доступную память на удалённых или локальных узлах, что приведёт кMemoryError. Поэтому по возможности рекомендуется запускать этот модуль безbecome. - До Ansible 2.5 модуль не завершался с ошибкой, если прочитать удалённый файл было невозможно, кроме случаев, когда было установлено
fail_on_missing. - В Ansible 2.5 и более поздних версиях авторам плейбуков рекомендуется использовать
fail_whenилиignore_errors, чтобы получить такую возможность. Также можно явно установитьfail_on_missingвfalse, чтобы сохранить поведение без ошибок.
См. также
См. также
- ansible.builtin.copy
-
Копирование файлов в удалённые расположения.
- 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
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/fetch_module.html