Модуль ansible.builtin.fetch – Загрузка файлов с удаленных узлов
Примечание
Этот модуль является частью ansible-core и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля fetch даже без указания ключевого слова collections. Однако мы рекомендуем использовать полное имя коллекции (FQCN) ansible.builtin.fetch для удобной ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Описание
- Этот модуль работает, как ansible.builtin.copy, но в обратном порядке.
- Он используется для загрузки файлов с удалённых машин и сохранения их локально в файловой структуре, организованной по имени хоста.
- Файлы, которые уже существуют в
dest, будут перезаписаны, если они отличаются отsrc. - Этот модуль также поддерживается для целевых систем Windows.
Примечание
Этот модуль имеет соответствующий плагин действия.
Параметры
Параметр | Комментарии |
|---|---|
dest строка / обязательно | |
fail_on_missing логическое значение | При установке в Перед Ansible 2.5, установка этого значения вызывала ошибку только в случае отсутствия исходного файла. По умолчанию это было изменено на Варианты:
|
flat логическое значение | Позволяет переопределить стандартное поведение добавления hostname/path/to/file к целевому пути. Если Это может быть полезно при работе с одним хостом или при загрузке файлов, имеющих уникальные имена для каждого хоста. Если используется несколько хостов с одинаковым именем файла, файл будет перезаписан для каждого хоста. Варианты:
|
src строка / обязательно | Файл на удалённой системе для загрузки. Это должен быть файл, а не директория. Рекурсивный загрузке может быть поддержан в будущих релизах. |
validate_checksum логическое значение | Проверить, что контрольные суммы исходного и целевого файлов совпадают после загрузки. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action | Поддержка: полная | Указывает, что у этого модуля есть соответствующий плагин действия, поэтому некоторые части параметров могут быть выполнены на контроллере |
async | Поддержка: нет | Поддерживает использование с ключевым словом |
bypass_host_loop | Поддержка: нет | Принудительно выполняет «глобальную» задачу, которая не выполняется на каждом хосте, это обходит шаблонизацию по хостам, сериализацию, удушение и другие аспекты цикла Условные операторы будут работать так, как если бы использовалось Это действие не будет работать обычно вне стратегий синхронной обработки |
check_mode | Поддержка: полная | Может работать в режиме check_mode и возвращать предсказание изменений без модификации цели, если не поддерживается, действие будет пропущено. |
diff_mode | Поддержка: полная | Возвращает подробную информацию о том, что изменилось (или, возможно, нуждается в изменении в режиме check_mode), когда в режиме diff |
platform | Платформы: posix, windows | Целевые ОС/семьи, с которыми можно взаимодействовать |
safe_file_operations | Поддержка: нет | Использует функции Ansible для строгого управления файлами, чтобы обеспечить правильные разрешения и предотвратить повреждение данных |
vault | Поддержка: нет | Может автоматически расшифровать зашифрованные файлы Ansible |
Примечания
Примечание
- При выполнении 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/fetch_module.html