Spec-Zone.ru › Ansible 2.4

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)
нет None
Атрибуты файла или каталога. Для получения поддерживаемых флагов обратитесь к справке man для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr.
псевдонимы: attr
backup
(добавлен в 2.1)
нет нет
  • да
  • нет
Создает резервную копию файла, включая информацию о времени создания, чтобы восстановить исходный файл в случае ошибки.
checksum
(добавлен в 2.0)
нет
Если в параметр checksum передаётся значение, то после загрузки файла будет вычислена контрольная сумма назначения для проверки целостности и подтверждения успешного завершения передачи. Формат: <алгоритм>:<контрольная_сумма>, например checksum="sha256:D98291AC[...]B6DC7B97".
Для обеспечения портативности рекомендуется использовать алгоритм sha1, который доступен на всех платформах и версиях Python.
Для доступа к дополнительным алгоритмам можно установить стороннюю библиотеку hashlib.
Если в параметр checksum передается значение и файл существует по адресу dest, будет вычислена контрольная сумма назначения. Если контрольная сумма равна контрольной сумме назначения, загрузка файла будет пропущена (если 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
нет нет
  • да
  • нет
Если yes и dest не является каталогом, файл будет загружаться каждый раз и заменяться, если содержимое изменится. Если no, файл будет загружаться только в случае, если файла назначения не существует. В общем случае следует использовать yes только для небольших локальных файлов.
До версии 0.6 этот модуль вел себя так, как будто yes было значением по умолчанию.
псевдонимы: thirsty
force_basic_auth
(добавлен в 2.0)
нет нет
  • да
  • нет
Библиотека httplib2, используемая модулем uri, отправляет данные аутентификации только тогда, когда веб-сервис отвечает на начальный запрос статусом 401. Поскольку некоторые сервисы базовой аутентификации не отправляют 401, логины могут не работать. Этот параметр заставляет отправлять заголовок Basic аутентификации при первом запросе.
group
нет
Имя группы, которая должна владеть файлом/каталогом (как в команде chown).
headers
(добавлен в 2.0)
нет
Добавление пользовательских HTTP-заголовков в формате "ключ:значение,ключ:значение".
mode
нет
Режим файла или каталога. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644). Опускание ведущего нуля может привести к непредвиденным результатам. Начиная с версии 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)
нет
Абсолютный путь, куда загружается временный файл.
По умолчанию используется TMPDIR, TEMP или TMP переменные среды или платформ-зависимое значение.
https://docs.python.org/2/library/tempfile.html#tempfile.tempdir
unsafe_writes
(добавлен в 2.2)
нет
  • да
  • нет
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов. Иногда системы настроены или просто сломаны таким образом, что это не возможно. Например, в контейнерах Docker, файлы не могут обновляться атомарно и могут обновляться только небезопасным способом.
Этот булевый параметр позволяет Ansible переходить к небезопасным методам обновления файлов в тех случаях, когда нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных.
url
да
URL HTTP, HTTPS или FTP в форме (http|https|ftp)://[пользователь[:пароль]]@хост.домен[:порт]/путь
url_password
(добавлен в 1.6)
нет
Пароль для использования в HTTP-аутентификации.
Если параметр url_username не указан, параметр url_password не будет использоваться.
url_username
(добавлен в 1.6)
нет
Имя пользователя для использования в HTTP-аутентификации.
Этот параметр можно использовать без url_password для сайтов, допускающих пустые пароли.
use_proxy
нет да
  • да
  • нет
Если no, прокси-сервер не будет использоваться, даже если он определён в переменной среды на целевых узлах.
validate_certs
нет да
  • да
  • нет
Если no, SSL-сертификаты не будут проверены. Это должно использоваться только на сайтах, контролируемых пользователем, использующих самозаверенные сертификаты.

Примеры

- 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: 'key:value,key:value'

- 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 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
CRC32 контрольная сумма файла после копирования
успешно строка 6e642bb8dd5c2e027bf21dd923337cbb4214f827
checksum_src
CRC32 контрольная сумма файла
успешно строка 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
HTTP код состояния из запроса
всегда целое число 200
uid
Идентификатор владельца файла после выполнения
успешно целое число 100
url
Фактический URL, используемый для запроса
всегда строка https://www.ansible.com/

Примечания

Примечание

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

Статус

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

Информация о поддержке

Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

Для получения помощи в разработке модулей, если вам это интересно, обратитесь к Информация о сообществе и участие в разработке, Тестирование Ansible и Разработка модулей.

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

Spec-Zone.ru

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