Spec-Zone.ru › Ansible 2.9

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
строка
Атрибуты, которые должны быть у результирующего файла или каталога.
Чтобы получить поддерживаемые флаги, см. страницу man для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr.
Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.

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

псевдонимы: thirsty
force_basic_auth
логическое значение
    Варианты:
  • нет ←
  • да
Принудительно отправлять заголовок аутентификации Basic при первом запросе.
httplib2, библиотека, используемая модулем uri, отправляет данные аутентификации только тогда, когда веб-сервис отвечает на начальный запрос статусом 401. Поскольку некоторые сервисы аутентификации Basic не отправляют должным образом 401, попытки входа могут завершиться неудачно.
group
строка
Имя группы, которая должна владеть файлом/каталогом, как это передается в chown.
headers
сырые данные
Добавить пользовательские HTTP-заголовки к запросу в формате хеш/словаря.
Формат хеш/словарь был добавлен в Ansible 2.6.
Предыдущие версии использовали формат строки "key:value,key:value".
Формат строки "key:value,key:value" устарел и будет удален в версии 2.10.
http_agent
строка
Значение по умолчанию:
"ansible-httpget"
Заголовок, идентифицирующий агента, обычно отображается в журналах веб-сервера.
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.
selevel
строка
Значение по умолчанию:
"s0"
Часть уровня контекста файла SELinux.
Это атрибут MLS/MCS, иногда известный как range.
Если установлено _default, то будет использована часть политики level, если она доступна.
serole
строка
Часть роли контекста файла SELinux.
Если установлено _default, то будет использована часть политики role, если она доступна.
setype
строка
Часть типа контекста файла SELinux.
Если установлено _default, то будет использована часть политики type, если она доступна.
seuser
строка
Часть пользователя контекста файла SELinux.
По умолчанию используется политика system, где это применимо.
Если установлено _default, то будет использована часть политики user, если она доступна.
sha256sum
-
Значение по умолчанию:
""
Если в этот параметр передается контрольная сумма SHA-256, то после загрузки целевого файла будет вычислено значение дайджеста для проверки его целостности и подтверждения успешного завершения передачи. Этот параметр устарел. Используйте checksum вместо него.
timeout
целое число
Значение по умолчанию:
10
Таймаут в секундах для запроса URL.
tmp_dest
путь
Абсолютный путь к месту сохранения временного файла.
При выполнении на Ansible 2.5 или выше, путь по умолчанию задается настройкой remote_tmp Ansible
При выполнении на Ansible до версии 2.5, он по умолчанию использует TMPDIR, TEMP или TMP переменные среды или значение, специфичное для платформы.
https://docs.python.org/2/library/tempfile.html#tempfile.tempdir
unsafe_writes
логическое значение
    Варианты:
  • нет ←
  • да
Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны, что препятствует этому. Одним из примеров являются файлы, смонтированные с помощью docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов при неудаче атомарных операций (однако он не принуждает Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
url
строка / обязательно
HTTP, HTTPS или FTP URL в формате (http|https|ftp)://[пользователь[:пароль]]@хост.домен[:порт]/путь
END_OF_DOCUMENT_MARKER
url_password
строка
Пароль для использования в аутентификации HTTP Basic.
Если параметр url_username не указан, параметр url_password не будет использоваться.
С версии 2.8 вы также можете использовать псевдоним «password» для этого параметра.

Псевдонимы: password
url_username
строка
Имя пользователя для использования в аутентификации HTTP Basic.
Этот параметр может быть использован без url_password для сайтов, разрешающих пустые пароли.
С версии 2.8 вы также можете использовать псевдоним username для этого параметра.

Псевдонимы: username
use_proxy
булево
    Варианты:
  • нет
  • да ←
Если no, прокси не будет использоваться, даже если он определён в переменной окружения на целевых хостах.
validate_certs
булево
    Варианты:
  • нет
  • да ←
Если no, сертификаты SSL не будут проверены.
Это следует использовать только на сайтах, контролируемых вами лично, использующих самозаверенные сертификаты.

Примечания

Примечание

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

См. также

См. также

uri — Взаимодействие с веб-сервисами
Официальная документация по модулю uri.
win_get_url — Загрузка файла из HTTP, HTTPS или FTP на узел
Официальная документация по модулю 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

- name: < Fetch file that requires authentication.
        username/password only available since 2.8, in older versions you need to use url_username/url_password
  get_url:
    url: http://example.com/path/file.conf
    dest: /etc/foo.conf
    username: bar
    password: '{{ mysecret }}'

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

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

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

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

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

Пример:
6e642bb8dd5c2e027bf21dd923337cbb4214f827
dest
строка
успех
Целевой файл/путь

Пример:
/path/to/file.txt
elapsed
целое число
всегда
Количество секунд, затраченное на выполнение загрузки

Пример:
23
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]

Поддержка 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.9/modules/get_url_module.html

Spec-Zone.ru

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