Spec-Zone.ru › Ansible 2.8

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

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

псевдонимы: thirsty
force_basic_auth
логическое значение
добавлено в 2.0
    Варианты:
  • нет ←
  • да
Вынудительная отправка заголовка аутентификации Basic при первоначальном запросе.
httplib2, библиотека, используемая модулем uri, отправляет информацию об аутентификации только тогда, когда веб-сервис отвечает на первоначальный запрос с кодом состояния 401. Поскольку некоторые службы базовой аутентификации не отправляют должным образом 401, вход в систему будет провален.
group
строка
Имя группы, которая должна владеть файлом/директорией, как это передаётся в chown.
headers
сырые данные
добавлено в 2.0
Добавление пользовательских 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
путь
добавлено в 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
added in 2.2
    Choices:
  • нет ←
  • да
Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные с помощью Docker, которые не могут обновляться атомарно изнутри контейнера и могут записываться только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачно (однако он не принуждает Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.
url
string / обязательно
URL HTTP, HTTPS или FTP в формате (http|https|ftp)://[пользователь[:пароль]]@хост.домен[:порт]/путь
url_password
string
Пароль для использования в HTTP-аутентификации по основанию.
Если параметр url_username не указан, параметр url_password не будет использован.
С версии 2.8 также можно использовать псевдоним «пароль» для этого параметра.

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

псевдонимы: имя пользователя
use_proxy
boolean
    Choices:
  • нет
  • да ←
если no, прокси не будет использоваться, даже если он определен в переменной среды на целевых хостах.
validate_certs
boolean
    Choices:
  • нет
  • да ←
Если 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. [core]

Поддержка Red Hat

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

Авторы

  • 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.8/modules/get_url_module.html

Spec-Zone.ru

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