Spec-Zone.ru › Ansible 2.10

ansible.builtin.unarchive – Распаковывает архив после (необязательного) копирования его с локальной машины

Примечание

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

Добавлен в версии 1.4: of ansible.builtin

  • Описание
  • Параметры
  • Примечания
  • См. также
  • Примеры

Описание

  • Модуль unarchive распаковывает архив. Он не будет распаковывать сжатый файл, который не содержит архив.
  • По умолчанию он копирует исходный файл с локальной системы на целевую машину перед распаковкой.
  • Установите remote_src=yes, чтобы распаковать архив, который уже существует на целевой машине.
  • Если требуется проверка контрольной суммы, используйте ansible.builtin.get_url или ansible.builtin.uri вместо этого для загрузки файла и установки remote_src=yes.
  • Для целевых машин Windows используйте модуль community.windows.win_unzip вместо этого.

Примечание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
строка
добавлен в 2.3 версии ansible.builtin
Атрибуты, которые должен иметь получившийся файл или директория.
Чтобы получить поддерживаемые флаги, обратитесь к справке для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr.
Оператор = предполагается по умолчанию, в противном случае операторы + или - должны быть включены в строку.

алиасы: attr
copy
логическое значение
    Варианты:
  • нет
  • да ←
Если true, файл копируется с локальной 'мастер' машины на целевую машину; в противном случае плагин будет искать архив src на целевой машине.
Этот параметр устарел в пользу remote_src.
Этот параметр несовместим с remote_src.
creates
путь
добавлен в 1.6 версии ansible.builtin
Если указанный абсолютный путь (файл или директория) уже существует, этот шаг не будет выполнен.
decrypt
логическое значение
добавлен в 2.4 версии ansible.builtin
    Варианты:
  • нет
  • да ←
Этот параметр управляет авторасшифровкой исходных файлов с использованием vault.
dest
путь / обязательно
Абсолютный удалённый путь, куда должен быть распакован архив.
exclude
список / элементы=строка
добавлен в 2.1 версии ansible.builtin
Список директорий и файлов, которые следует исключить из действия распаковки.
extra_opts
список / элементы=строка
добавлен в 2.1 версии ansible.builtin
По умолчанию:
""
Укажите дополнительные параметры, передав массив.
Каждый параметр командной строки, разделённый пробелами, должен быть новым элементом массива. См. примеры.
Параметры командной строки с несколькими элементами должны занимать несколько строк в массиве, по одному элементу на строку.
group
строка
Имя группы, которая должна владеть файлом/директорией, как если бы оно было передано в chown.
keep_newer
логическое значение
добавлен в 2.1 версии ansible.builtin
    Варианты:
  • нет ←
  • да
Не заменять существующие файлы, которые новее, чем файлы из архива.
list_files
логическое значение
добавлен в 2.0 версии ansible.builtin
    Варианты:
  • нет ←
  • да
Если установлено в True, вернёт список файлов, содержащихся в архиве.
mode
необработанный
Разрешения, которые должен иметь получившийся файл или директория.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую нуль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и смог самостоятельно преобразовать строку в число.
Передача Ansible числа без соблюдения одного из этих правил приведёт к десятичному числу, что приведёт к неожиданным результатам.
Начиная с Ansible 1.8, режим может быть указан как символьный режим (например, u+rwx или u=rw,g=r,o=r).
owner
строка
Имя пользователя, который должен владеть файлом/директорией, как если бы оно было передано в chown.
remote_src
логическое значение
добавлен в 2.2 версии ansible.builtin
    Варианты:
  • нет ←
  • да
Установите в yes, чтобы указать, что архивный файл уже находится на удалённой системе, а не на локальном контроллере Ansible.
Этот параметр несовместим с copy.
selevel
строка
Часть уровня контекста SELinux файла.
Это атрибут MLS/MCS, иногда известный как range.
При установке в _default будет использоваться часть политики level, если она доступна.
serole
строка
Часть роли контекста SELinux файла.
При установке в _default будет использоваться часть политики role, если она доступна.
setype
строка
Часть типа контекста SELinux файла.
При установке в _default будет использоваться часть политики type, если она доступна.
seuser
строка
Часть пользователя контекста SELinux файла.
По умолчанию используется политика system, где это применимо.
При установке в _default будет использоваться часть политики user, если она доступна.
src
путь / обязательно
Если remote_src=no (по умолчанию), локальный путь к архивному файлу для копирования на целевой сервер; может быть абсолютным или относительным. Если remote_src=yes, путь на целевом сервере к существующему архивному файлу для распаковки.
Если remote_src=yes и src содержат ://, целевая машина сначала загрузит файл с URL-адреса. (version_added 2.0). Это только для простых случаев, для полной поддержки загрузки используйте модуль ansible.builtin.get_url.
unsafe_writes
логическое значение
добавлен в 2.2 версии ansible.builtin
    Варианты:
  • нет ←
  • да
Влияет на то, когда использовать атомарную операцию для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Один пример - смонтированные в Docker файлы, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются ошибкой (тем не менее, он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
validate_certs
логическое значение
добавлен в 2.2 версии ansible.builtin
    Варианты:
  • нет
  • да ←
Это применимо только в случае использования URL-адреса https в качестве источника файла.
Это следует устанавливать только в no, используемом на контролируемых вами сайтах с самоподписанным сертификатом.
До версии 2.2 код работал так, как будто это было установлено в yes.

Примечания

Примечание

  • Требуется zipinfo и gtar/unzip команда на целевом хосте.
  • Может обрабатывать файлы .zip с использованием unzip, а также файлы .tar, .tar.gz, .tar.bz2 и .tar.xz с использованием gtar.
  • Не обрабатывает файлы .gz, .bz2 или .xz, которые не содержат архив .tar.
  • Использует аргумент --diff gtar для расчета изменений. Если этот аргумент arg не поддерживается, архив всегда будет распакован.
  • Существующие файлы/каталоги в пункте назначения, отсутствующие в архиве, не затрагиваются. Это поведение соответствует стандартному извлечению из архива.
  • Существующие файлы/каталоги в пункте назначения, отсутствующие в архиве, игнорируются при принятии решения о распаковке архива.
  • Поддерживает check_mode.

См. также

См. также

community.general.archive

Официальная документация по модулю community.general.archive.

community.general.iso_extract

Официальная документация по модулю community.general.iso_extract.

community.windows.win_unzip

Официальная документация по модулю community.windows.win_unzip.

Примеры

- name: Extract foo.tgz into /var/lib/foo
  ansible.builtin.unarchive:
    src: foo.tgz
    dest: /var/lib/foo

- name: Unarchive a file that is already on the remote machine
  ansible.builtin.unarchive:
    src: /tmp/foo.zip
    dest: /usr/local/bin
    remote_src: yes

- name: Unarchive a file that needs to be downloaded (added in 2.0)
  ansible.builtin.unarchive:
    src: https://example.com/example.zip
    dest: /usr/local/bin
    remote_src: yes

- name: Unarchive a file with extra options
  ansible.builtin.unarchive:
    src: /tmp/foo.zip
    dest: /usr/local/bin
    extra_opts:
    - --transform
    - s/^xxx/yyy/

Авторы

  • 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/unarchive_module.html

Spec-Zone.ru

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