Spec-Zone.ru › Ansible

Модуль ansible.builtin.fetch — получение файлов с удалённых узлов

Примечание

Этот модуль входит в состав ansible-core и включён во все установки Ansible. В большинстве случаев можно использовать краткое имя модуля fetch, не указывая ключевое слово collections. Однако для удобства перехода к документации модуля и во избежание конфликтов с другими коллекциями, в которых может быть модуль с таким же именем, мы рекомендуем использовать полное имя коллекции (FQCN) ansible.builtin.fetch.

  • Краткое описание
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры

Краткое описание

  • Этот модуль работает как ansible.builtin.copy, но в обратном направлении.
  • Он используется для получения файлов с удалённых машин и сохранения их локально в дереве каталогов, организованном по именам узлов.
  • Существующие файлы в dest будут перезаписаны, если они отличаются от src.
  • Этот модуль также поддерживается для целевых узлов Windows.

Примечание

Этому модулю соответствует плагин действий.

Параметры

Параметр

Комментарии

dest

string / обязательный

Каталог для сохранения файла.

Например, если dest=/backup, то src=/etc/profile на узле host.example.com сохранит файл в /backup/host.example.com/etc/profile. Имя узла определяется по имени в инвентаре.

fail_on_missing

boolean

Если установлено значение true, задача завершится с ошибкой, если по какой-либо причине не удастся прочитать удалённый файл.

До Ansible 2.5 эта настройка приводила к ошибке только в случае отсутствия исходного файла.

В Ansible 2.5 значение по умолчанию было изменено на true.

Варианты:

  • false
  • true ← (по умолчанию)

flat

boolean

Позволяет переопределить поведение по умолчанию, при котором к пути назначения добавляется hostname/path/to/file.

Если dest заканчивается символом «/», будет использоваться базовое имя исходного файла, как и в модуле copy.

Это может быть полезно при работе с одним узлом или при получении файлов, имена которых уникальны для каждого узла.

При использовании нескольких узлов с одинаковым именем файла он будет перезаписываться для каждого узла.

Варианты:

  • false ← (по умолчанию)
  • true

src

string / обязательный

Файл в удалённой системе, который необходимо получить.

Это должен быть файл, а не каталог.

Рекурсивное получение файлов может быть реализовано в одном из будущих выпусков.

validate_checksum

boolean

Проверять совпадение контрольных сумм исходного файла и файла назначения после получения файлов.

Варианты:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

action

Поддержка: full

Указывает, что этому модулю соответствует плагин действий, поэтому некоторые части параметров могут выполняться на управляющем узле

async

Поддержка: none

Поддерживает использование с ключевым словом async

bypass_host_loop

Поддержка: none

Принудительно запускает «глобальную» задачу, которая выполняется не для каждого узла; при этом пропускаются шаблонизация для отдельных узлов, параметры serial и throttle, а также другие особенности циклов

Условные выражения будут работать так, как если бы использовалось run_once; переменные будут взяты с первого доступного узла

Это действие не будет нормально работать вне стратегий с синхронным выполнением

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

Авторы

  • Команда Ansible Core
  • Michael DeHaan

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API