Spec-Zone.ru › Ansible 2.6

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

псевдонимы: attr
backup
bool

(добавлен в 2.1)
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая информацию о временной метке, чтобы вы могли восстановить исходный файл, если неправильно его перезаписали.
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-адреса на удалённом сервере. Если это каталог, force не имеет эффекта.
Если dest - это каталог, файл всегда будет загружен (независимо от параметра force), но заменён только если содержимое изменилось.
force
bool
    Варианты:
  • нет ←
  • да
Если yes и dest не является каталогом, файл будет загружаться каждый раз и заменяться, если содержимое изменилось. Если no, файл будет загружен только если он не существует в месте назначения. В общем случае, следует использовать yes только для небольших локальных файлов.
До версии 0.6 этот модуль вел себя так, как будто yes был значением по умолчанию.

псевдонимы: thirsty
force_basic_auth
bool

(добавлен в 2.0)
    Варианты:
  • нет ←
  • да
httplib2, библиотека, используемая модулем uri, отправляет информацию об аутентификации только тогда, когда веб-сервис отвечает на начальный запрос кодом состояния 401. Поскольку некоторые сервисы аутентификации по принципу «basic auth» не отправляют код 401 должным образом, попытки входа могут завершиться неудачей. Этот параметр заставляет отправлять заголовок Basic аутентификации при первоначальном запросе.
group
Имя группы, которая должна владеть файлом/каталогом, как если бы оно было передано в chown.
headers
(добавлен в 2.0)
Добавить пользовательские HTTP-заголовки в запрос в формате словаря/списка. Формат словаря/списка был добавлен в 2.6. Предыдущие версии использовали формат строки "key:value,key:value". Формат строки "key:value,key:value" устарел и будет удалён в версии 2.10.
mode
Режим, который должен иметь файл или каталог. Для тех, кто привык к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Вы должны либо указать ведущий ноль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '0644'), чтобы Ansible получил строку и мог выполнить преобразование из строки в число. Передача Ansible чисел без одного из этих правил приведет к использованию десятичного числа, что может привести к непредвиденным результатам. С версии 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)
Абсолютный путь, куда загружается временный файл.
При запуске на Ansible 2.5 или выше, путь по умолчанию устанавливается в remote_tmp Ansible.
При запуске на Ansible версии ниже 2.5, по умолчанию используется TMPDIR, TEMP или TMP переменные среды или значение, специфичное для платформы.
https://docs.python.org/2/library/tempfile.html#tempfile.tempdir
unsafe_writes
bool

(добавлен в 2.2)
    Варианты:
  • нет ←
  • да
Обычно этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованные чтения из целевых файлов. Иногда системы настроены или просто имеют ошибки, которые препятствуют этому. Одним из примеров являются файлы, смонтированные в Docker; они не могут быть обновлены атомарно и могут обновляться только неатомарно.
Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных.
url
обязательно
URL-адрес HTTP, HTTPS или FTP в формате (http|https|ftp)://[пользователь[:пароль]]@хост.домен[:порт]/путь
url_password
(добавлен в 1.6)
Пароль для использования в аутентификации HTTP по принципу «basic auth».
Если параметр url_username не указан, параметр url_password не будет использоваться.
url_username
(добавлен в 1.6)
Имя пользователя для использования в аутентификации HTTP по принципу «basic auth».
Этот параметр может быть использован без url_password, для сайтов, допускающих пустые пароли.
use_proxy
bool
  • нет
  • да ←
Если no, прокси не будет использоваться, даже если он определён в переменной окружения на целевых хостах.
validate_certs
bool
  • нет
  • да ←
Если 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=yes
имя файла резервной копии, созданного после загрузки

Пример:
/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, что означает, что разработчики этого модуля гарантируют, что не будут вноситься обратные несовместимые изменения в интерфейс.

Обслуживание

Этот модуль помечен как core, что означает, что он поддерживается командой Ansible Core. Дополнительную информацию см. в разделе Поддержка и обслуживание модулей.

Список других модулей, поддерживаемых командой Ansible Core, см. здесь.

Поддержка

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

Spec-Zone.ru

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