Spec-Zone.ru › Ansible 2.7

get_url – Загрузка файлов из HTTP, HTTPS или FTP на узел

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Загружает файлы из HTTP, HTTPS или FTP на удаленный сервер. Удаленный сервер должен иметь прямой доступ к удаленному ресурсу.
  • По умолчанию, если на целевом хосте установлена переменная окружения <protocol>_proxy, запросы будут отправляться через этот прокси. Это поведение можно переопределить, установив переменную для этой задачи (см. установку окружения) или с помощью параметра use_proxy.
  • HTTP-редиректы могут перенаправлять с HTTP на HTTPS, поэтому необходимо убедиться, что переменная окружения прокси для обоих протоколов установлена корректно.
  • Начиная с Ansible 2.4, при выполнении с --check, будет выполнен запрос HEAD для проверки URL, но весь файл не будет загружен и не будет проверен на соответствие хешам.
  • Для целевых систем Windows используйте модуль win_get_url.

Параметры

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

псевдонимы: attr
backup
boolean
добавлен в 2.1
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая информацию о времени создания, чтобы вы могли восстановить исходный файл, если его неправильно перезаписали.
checksum
-
добавлен в 2.0
Значение по умолчанию:
""
Если в этот параметр передается контрольная сумма, то после загрузки целевого файла будет рассчитан хэш-код, чтобы обеспечить целостность и подтвердить успешность передачи. Формат: <алгоритм>:<контрольная_сумма|url>, например, checksum="sha256:D98291AC[...]B6DC7B97", checksum="sha256:http://example.com/path/sha256sum.txt"
Если вы беспокоитесь о портативности, то алгоритм sha1 доступен на всех платформах и версиях Python.
Библиотека hashlib сторонних разработчиков может быть установлена для доступа к дополнительным алгоритмам.
Кроме того, если в этот параметр передается контрольная сумма, и файл существует в dest месте, то будет рассчитана контрольная сумма force, и если контрольная сумма совпадёт с force, то загрузка файла будет пропущена (если force не равно true).
client_cert
-
добавлен в 2.4
Файл цепочки сертификатов в формате PEM, который будет использоваться для аутентификации клиента SSL. Этот файл также может содержать ключ, и если ключ включен, client_key не требуется.
client_key
-
добавлен в 2.4
Файл в формате PEM, содержащий ваш закрытый ключ, который будет использоваться для аутентификации клиента SSL. Если client_cert содержит как сертификат, так и ключ, этот параметр не требуется.
dest
- / обязательно
Абсолютный путь к месту загрузки файла.
Если dest является каталогом, то будет использоваться имя файла, предоставленное сервером, или, если оно не предоставлено, имя файла по умолчанию из URL на удаленном сервере. Если это каталог, force не имеет значения.
Если dest является каталогом, файл всегда будет загружен (независимо от опции force), но заменён только в случае изменения содержимого.
force
boolean
    Варианты:
  • нет ←
  • да
Если yes и dest не является каталогом, файл будет загружаться каждый раз и заменяться, если содержимое изменится. Если no, файл будет загружаться только если он не существует в назначенном месте. В общем случае следует использовать yes только для небольших локальных файлов.
До версии 0.6, этот модуль вел себя так, как если бы yes был по умолчанию.

псевдонимы: thirsty
force_basic_auth
boolean
добавлен в 2.0
    Варианты:
  • нет ←
  • да
httplib2, библиотека, используемая модулем uri, отправляет информацию об аутентификации только тогда, когда веб-сервис отвечает на первоначальный запрос статусом 401. Поскольку некоторые службы basic auth не отправляют должным образом 401, логин может завершиться неудачей. Этот параметр принудительно отправляет заголовок Basic авторизации при первоначальном запросе.
group
-
Имя группы, которой должен принадлежать файл/каталог, как в команде chown.
headers
-
добавлен в 2.0
Добавление настраиваемых HTTP-заголовков к запросу в формате hash/dict. Формат hash/dict был добавлен в версии 2.6. Предыдущие версии использовали формат строки "key:value,key:value". Формат строки "key:value,key:value" устарел и будет удален в версии 2.10.
mode
-
Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую цифру 0, чтобы Ansible's YAML-парсер понимал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') чтобы Ansible получил строку и смог выполнить преобразование строки в число. Передача Ansible числа без выполнения одного из этих правил приведёт к использованию десятичного числа, что приведёт к непредсказуемым результатам. Начиная с версии 1.8, режим может быть задан в символьной форме (например, u+rwx или u=rw,g=r,o=r).
others
-
все аргументы, принимаемые модулем file, также работают здесь
owner
-
Имя пользователя, которому должен принадлежать файл/каталог, как в команде chown.
selevel
-
Значение по умолчанию:
"s0"
Часть контекста файла SELinux, относящаяся к уровню. Это атрибут MLS/MCS, иногда известный как range. _default функция работает аналогично параметру seuser.
serole
-
Часть контекста файла SELinux, относящаяся к роли. _default функция работает аналогично параметру seuser.
setype
-
Часть контекста файла SELinux, относящаяся к типу. _default функция работает аналогично параметру seuser.
seuser
-
Часть контекста файла SELinux, относящаяся к пользователю. По умолчанию используется системная политика, если применимо. Если установлено значение _default, будет использоваться часть политики user, если она доступна.
sha256sum
-
добавлен в 1.3
Значение по умолчанию:
""
Если в этот параметр передается контрольная сумма SHA-256, то после загрузки целевого файла будет рассчитан хэш-код, чтобы обеспечить целостность и подтвердить успешность передачи. Этот параметр устарел. Используйте checksum вместо него.
timeout
-
добавлен в 1.8
Значение по умолчанию:
10
Таймаут в секундах для запроса URL.
tmp_dest
-
добавлен в 2.1
Абсолютный путь к временной папке, куда загружается временный файл.
При выполнении на Ansible 2.5 или выше путь по умолчанию — значение remote_tmp в Ansible.
При выполнении на Ansible до версии 2.5 по умолчанию используется значение TMPDIR, TEMP или TMP переменных окружения, или платформа-специфичное значение.
https://docs.python.org/2/library/tempfile.html#tempfile.tempdir
unsafe_writes
boolean
добавлен в 2.2
    Варианты:
  • нет ←
  • да
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Пример — файлы, смонтированные с помощью Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только неатомарным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачно (хотя он не принуждает Ansible к небезопасным операциям записи). ВАЖНО! Небезопасные операции записи подвержены конкурентным состояниям и могут привести к повреждению данных.
url
- / обязательно
URL HTTP, HTTPS или FTP в формате (http|https|ftp)://[пользователь[:пароль]]@хост.домен[:порт]/путь
url_password
-
added in 1.6
Пароль для использования в HTTP-аутентификации по схеме basic.
Если параметр url_username не указан, параметр url_password не будет использоваться.
url_username
-
added in 1.6
Имя пользователя для использования в HTTP-аутентификации по схеме basic.
Этот параметр может быть использован без url_password, для сайтов, допускающих пустые пароли.
use_proxy
boolean
    Choices:
  • no
  • yes ←
Если no, прокси не будет использоваться, даже если он определён в переменной среды на целевых хостах.
validate_certs
boolean
    Choices:
  • no
  • yes ←
Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, находящихся под личным контролем и использующих самоподписанные сертификаты.

Примечания

Примечание

  • Для целевых систем Windows используйте модуль win_get_url.

Примеры

- name: Download foo.conf
  get_url:
    url: http://example.com/path/file.conf
    dest: /etc/foo.conf
    mode: 0440

- name: Download file and force basic auth
  get_url:
    url: http://example.com/path/file.conf
    dest: /etc/foo.conf
    force_basic_auth: yes

- name: Download file with custom HTTP headers
  get_url:
    url: http://example.com/path/file.conf
    dest: /etc/foo.conf
    headers:
      key1: one
      key2: two

- name: Download file with check (sha256)
  get_url:
    url: http://example.com/path/file.conf
    dest: /etc/foo.conf
    checksum: sha256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c

- name: Download file with check (md5)
  get_url:
    url: http://example.com/path/file.conf
    dest: /etc/foo.conf
    checksum: md5:66dffb5228a211e61d6d7ef4a86f5758

- name: Download file with checksum url (sha256)
  get_url:
    url: http://example.com/path/file.conf
    dest: /etc/foo.conf
    checksum: 'sha256:http://example.com/path/sha256sum.txt'

- name: Download file from a file path
  get_url:
    url: file:///tmp/afile.txt
    dest: /tmp/afilecopy.txt

Возвращаемые значения

Общие возвращаемые значения документированы здесь, ниже перечислены поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
backup_file
строка
изменённое, если backup=yes
имя созданного файла резервной копии после загрузки

Пример:
/path/to/file.txt.2015-02-12@22:09~
checksum_dest
строка
успешно
sha1 контрольная сумма файла после копирования

Пример:
6e642bb8dd5c2e027bf21dd923337cbb4214f827
checksum_src
строка
успешно
sha1 контрольная сумма файла

Пример:
6e642bb8dd5c2e027bf21dd923337cbb4214f827
dest
строка
успешно
путь/файл назначения

Пример:
/path/to/file.txt
gid
целое число
успешно
идентификатор группы файла

Пример:
100
group
строка
успешно
группа файла

Пример:
httpd
md5sum
строка
если поддерживается
md5 контрольная сумма файла после загрузки

Пример:
2a5aeecc61dc98c4d780b14b330e3282
mode
строка
успешно
разрешения целевого объекта

Пример:
0644
msg
строка
всегда
HTTP-сообщение из запроса

Пример:
OK (неизвестные байты)
owner
строка
успешно
владелец файла

Пример:
httpd
secontext
строка
успешно
контекст безопасности SELinux файла

Пример:
unconfined_u:object_r:user_tmp_t:s0
size
целое число
успешно
размер целевого объекта

Пример:
1220
src
строка
изменённое
исходный файл, используемый после загрузки

Пример:
/tmp/tmpAdFLdV
state
строка
успешно
состояние целевого объекта

Пример:
файл
status_code
целое число
всегда
HTTP-код состояния из запроса

Пример:
200
uid
целое число
успешно
идентификатор владельца файла после выполнения

Пример:
100
url
строка
всегда
фактический URL, используемый для запроса

Пример:
https://www.ansible.com/


Статус

  • Гарантируется отсутствие несовместимых изменений интерфейса в будущем. [stableinterface]
  • Этот модуль поддерживается командой Ansible Core. [core]

Поддержка Red Hat

Дополнительная информация о поддержке данного модуля компанией Red Hat доступна в этой статье базы знаний Red Hat.

Авторы

  • Jan-Piet Mens (@jpmens)

Подсказка

Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/get_url_module.html

Spec-Zone.ru

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