Spec-Zone.ru › Ansible 2.5

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

Псевдонимы: attr
backup
(добавлено в 2.1)
    Варианты:
  • no ←
  • yes
Создать резервную копию файла, включая информацию о времени создания, чтобы вы могли восстановить исходный файл, если вы случайно его испортили.
checksum
(добавлено в 2.0)
Значение по умолчанию:
Если в этом параметре указана контрольная сумма, то после загрузки целевого файла будет вычислена контрольная сумма, чтобы гарантировать целостность файла и подтвердить успешность передачи. Формат: <алгоритм>:<контрольная сумма>, например checksum="sha256:D98291AC[...]B6DC7B97"
Если вы обеспокоены переносимостью, то алгоритм 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
    Варианты:
  • no ←
  • yes
Если yes и dest не является директорией, файл будет загружаться каждый раз и заменяться, если содержимое изменится. Если no, файл будет загружаться только если он не существует в целевой директории. В целом, этот параметр следует использовать только для небольших локальных файлов.
До версии 0.6, этот модуль работал как если бы yes был значением по умолчанию.

Псевдонимы: thirsty
force_basic_auth
(добавлено в 2.0)
    Варианты:
  • no ←
  • yes
Библиотека httplib2, используемая модулем uri, отправляет информацию об аутентификации только когда веб-сервис отвечает на начальный запрос кодом статуса 401. Так как некоторые сервисы с базовой аутентификацией не отправляют 401, авторизация может не удаться. Этот параметр принудительно отправляет заголовок Basic аутентификации при начальном запросе.
group Значение по умолчанию:
None
Имя группы, которая должна владеть файлом/директорией, как в команде chown.
headers
(добавлено в 2.0)
Добавить пользовательские HTTP-заголовки в формате "ключ:значение,ключ:значение".
mode Значение по умолчанию:
None
Режим, который должен иметь файл или директория. Для тех, кто привык к команде /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644 или 01777). Опускание ведущего нуля может привести к непредсказуемым результатам. С версии 1.8, режим может быть задан в символической форме (например, u+rwx или u=rw,g=r,o=r).
others
все аргументы, принимаемые модулем file, также работают здесь
owner Значение по умолчанию:
None
Имя пользователя, который должен владеть файлом/директорией, как в команде chown.
selevel Значение по умолчанию:
s0
Уровень SELinux контекста файла. Это атрибут MLS/MCS, иногда известный как range. Функциональность _default работает также, как и для seuser.
serole Значение по умолчанию:
None
Роль в контексте файла SELinux, функциональность _default работает также, как и для seuser.
setype Значение по умолчанию:
None
Тип в контексте файла SELinux, функциональность _default работает также, как и для seuser.
seuser Значение по умолчанию:
None
Пользователь в контексте файла 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
(добавлено в 2.2)
    Варианты:
  • no ←
  • yes
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или сломаны так, что это невозможно. Одним из примеров являются файлы, смонтированные в 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
  • yes ←
Если no, прокси не будет использован, даже если он определён в переменной среды на целевых хостах.
validate_certs
    Варианты:
  • 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: '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=да
имя созданного файла резервной копии после загрузки

Пример:
/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
целое число
всегда
код состояния HTTP от запроса

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

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

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


Статус

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

Поддержка

Для получения дополнительной информации о поддержке этого модуля 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.5/modules/get_url_module.html

Spec-Zone.ru

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