Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля get_url, даже не указывая ключевое слово collections:. Несмотря на это, мы рекомендуем использовать полное имя класса (FQCN) для удобной ссылки на документацию по модулю и для избежания конфликтов с другими коллекциями, которые могут иметь то же имя модуля.

Введено в версии 0.6: of ansible.builtin

  • Описание
  • Параметры
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Описание

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

Параметры

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

псевдонимы: attr
backup
логическое значение
добавлено в 2.1 ansible.builtin
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая информацию о времени создания, чтобы вы могли восстановить исходный файл, если вы случайно его повредили.
checksum
строка
добавлено в 2.0 ansible.builtin
Значение по умолчанию:
""
Если в этот параметр передается контрольная сумма, то после загрузки целевого файла будет вычислен дайджест, чтобы убедиться в его целостности и подтвердить успешность передачи. Формат: <алгоритм>:<контрольная сумма|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 ansible.builtin
Файл цепочки сертификатов в формате PEM, используемый для аутентификации клиента SSL.
Этот файл также может содержать ключ, и если ключ включен, client_key не требуется.
client_key
путь
добавлено в 2.4 ansible.builtin
Файл в формате PEM, содержащий ваш закрытый ключ, используемый для аутентификации клиента SSL.
Если client_cert содержит как сертификат, так и ключ, этот параметр не требуется.
dest
путь / обязательный
Абсолютный путь для загрузки файла.
Если dest - это директория, будет использоваться имя файла, указанное сервером, или, если оно не указано, - базовое имя URL-адреса на удалённом сервере. Если dest - это директория, force не имеет эффекта.
Если dest - это директория, файл всегда будет загружен (независимо от параметра force), но заменён только в случае изменения содержимого.
force
логическое значение
добавлено в 0.7 ansible.builtin
    Варианты:
  • нет ←
  • да
Если yes и dest не является директорией, файл будет загружаться каждый раз и заменяться, если содержимое изменилось. Если no, файл будет загружаться только если он не существует в пункте назначения. В целом, следует использовать yes только для небольших локальных файлов.
До версии 0.6 этот модуль работал так, как если бы yes был значением по умолчанию.
Псевдоним thirsty устарел и будет удалён в версии 2.13.

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

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

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

Примечания

Примечание

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

См. также

См. также

ansible.builtin.uri

Официальная документация по модулю ansible.builtin.uri.

ansible.windows.win_get_url

Официальная документация по модулю ansible.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

- 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=yes
имя созданного файла резервной копии после загрузки

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


Авторы

  • 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.10/collections/ansible/builtin/get_url_module.html

Spec-Zone.ru

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