Nota

Este módulo es parte de ansible-base e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede utilizar el nombre corto del módulo get_url incluso sin especificar el collections: palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.

Nuevo en la versión 0.6: de ansible.builtin

  • Sinopsis
  • Parámetros
  • Notas
  • Ver también
  • Ejemplos de
  • Valores devueltos

Sinopsis

  • Descarga archivos de HTTP, HTTPS o FTP al servidor remoto. El servidor remoto debe tener acceso directo al recurso remoto.
  • De forma predeterminada, si una variable de entorno <protocol>_proxy está configurado en el host de destino, las solicitudes se enviarán a través de ese proxy. Este comportamiento se puede anular estableciendo una variable para esta tarea (consulte estableciendo el medio ambiente), o usando la opción use_proxy.
  • Las redirecciones HTTP pueden redirigir de HTTP a HTTPS, por lo que debe asegurarse de que su entorno de proxy para ambos protocolos sea correcto.
  • Desde Ansible 2.4 cuando se ejecuta con --check, hará una solicitud HEAD para validar la URL pero no descargará el archivo completo ni lo verificará con hashes.
  • Para los destinos de Windows, use el ansible.windows.win_get_url módulo en su lugar.

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
atributos cuerda agregado en 2.3 de ansible.builtin Los atributos que debe tener el archivo o directorio resultante. Para obtener indicadores compatibles, consulte la página de manual para chattr en el sistema de destino. Esta cadena debe contener los atributos en el mismo orden que el mostrado por lsattr. los = El operador se asume como predeterminado, de lo contrario + o - los operadores deben incluirse en la cadena.

alias: attr
respaldo booleano agregado en 2.1 de ansible.builtin
    Opciones:

  • no
Cree un archivo de respaldo que incluya la información de la marca de tiempo para que pueda recuperar el archivo original si de alguna manera lo golpeó incorrectamente.
suma de comprobación cuerda agregado en 2.0 de ansible.builtin Defecto:
“”
Si se pasa una suma de comprobación a este parámetro, el resumen del archivo de destino se calculará después de que se descargue para garantizar su integridad y verificar que la transferencia se haya completado correctamente. Formato: : , por ejemplo, suma de comprobación = “sha256: D98291AC[…]B6DC7B97 “, checksum =” sha256: http: //example.com/path/sha256sum.txt “Si te preocupa la portabilidad, solo el algoritmo sha1 está disponible en todas las plataformas y versiones de Python. La biblioteca hashlib de terceros se puede instalar para acceso a algoritmos adicionales. Además, si se pasa una suma de comprobación a este parámetro, y el archivo existe bajo el dest ubicación, el suma_de_comprobación_destino se calcularía, y si la suma de comprobación es igual suma_de_comprobación_destino, la descarga del archivo se omitirá (a menos que force es verdad). Si la suma de control no es igual suma_de_comprobación_destino, se elimina el archivo de destino.
client_cert sendero agregado en 2.4 de ansible.builtin Archivo de cadena de certificados con formato PEM que se utilizará para la autenticación del cliente SSL. Este archivo también puede incluir la clave, y si la clave está incluida, client_key no es requerido.
clave_cliente sendero agregado en 2.4 de ansible.builtin Archivo con formato PEM que contiene su clave privada que se utilizará para la autenticación del cliente SSL. Si client_cert contiene el certificado y la clave, esta opción no es necesaria.
dest sendero / requerido Ruta absoluta de donde descargar el archivo. Si dest es un directorio, se utilizará el nombre de archivo proporcionado por el servidor o, si no se proporciona ninguno, el nombre base de la URL en el servidor remoto. Si es un directorio, force no tiene efecto. Si dest es un directorio, el archivo siempre se descargará (independientemente de la force opción), pero se reemplaza solo si el contenido cambia.
fuerza booleano agregado en 0.7 de ansible.builtin
    Opciones:

  • no
Si yes y dest no es un directorio, descargará el archivo cada vez y reemplazará el archivo si cambia el contenido. Si no, el archivo solo se descargará si el destino no existe. Generalmente debería ser yes solo para archivos locales pequeños. Antes de 0.6, este módulo se comportaba como si yes era el predeterminado. Alias thirsty ha quedado obsoleto y se eliminará en 2.13.

alias: sediento
force_basic_auth booleano agregado en 2.0 de ansible.builtin
    Opciones:

  • no
Forzar el envío del encabezado de autenticación básica en la solicitud inicial. httplib2, la biblioteca utilizada por el módulo uri solo envía información de autenticación cuando un servicio web responde a una solicitud inicial con un estado 401. Dado que algunos servicios de autenticación básicos no envían correctamente un 401, los inicios de sesión fallarán.
grupo cuerda Nombre del grupo que debería ser propietario del archivo / directorio, como se enviaría a chown.
encabezados diccionario agregado en 2.0 de ansible.builtin Agregue encabezados HTTP personalizados a una solicitud en formato hash / dict. El formato hash / dict se agregó en Ansible 2.6. Las versiones anteriores usaban un "key:value,key:value" formato de cadena. los "key:value,key:value" El formato de cadena está en desuso y se ha eliminado en la versión 2.10.
http_agent cuerda Defecto:
“ansible-httpget”
Encabezado para identificar como, generalmente aparece en los registros del servidor web.
modo crudo Los permisos que debe tener el archivo o directorio resultante. Para aquellos que solían / usr / bin / chmod recuerde que los modos son en realidad números octales. Debe agregar un cero a la izquierda para que el analizador YAML de Ansible sepa que es un número octal (como 0644 o 01777) o citarlo (como '644' o '1777') para que Ansible reciba una cadena y pueda hacer su propia conversión de cadena a número. Darle a Ansible un número sin seguir una de estas reglas terminará con un número decimal que tendrá resultados inesperados. A partir de Ansible 1.8, el modo se puede especificar como un modo simbólico (por ejemplo, u+rwx o u=rw,g=r,o=r). Si mode no se especifica y el archivo de destino no existe, el predeterminado umask en el sistema se utilizará al configurar el modo para el archivo recién creado. Si mode no se especifica y el archivo de destino lo hace existen, se utilizará el modo del archivo existente. Especificando mode es la mejor manera de garantizar que los archivos se creen con los permisos correctos. Consulte CVE-2020-1736 para obtener más detalles.
dueño cuerda Nombre del usuario que debería ser propietario del archivo / directorio, como se enviaría a chown.
selevel cuerda La parte de nivel del contexto del archivo SELinux. Este es el atributo MLS / MCS, a veces conocido como el range. Cuando se establece en _default, usará el level parte de la póliza si está disponible.
serola cuerda La parte del rol del contexto del archivo SELinux. Cuando se establece en _default, usará el role parte de la póliza si está disponible.
setype cuerda La parte de tipo del contexto del archivo SELinux. Cuando se establece en _default, usará el type parte de la póliza si está disponible.
seuser cuerda La parte del usuario del contexto del archivo SELinux. Por defecto usa el system política, cuando corresponda. Cuando se establece en _default, usará el user parte de la póliza si está disponible.
sha256sum cuerda agregado en 1.3 de ansible.builtin Defecto:
“”
Si se pasa una suma de comprobación SHA-256 a este parámetro, el resumen del archivo de destino se calculará después de que se descargue para garantizar su integridad y verificar que la transferencia se haya completado correctamente. Esta opción está obsoleta y se eliminará en la versión 2.14. Opción de uso checksum en lugar de.
se acabó el tiempo entero agregado en 1.8 de ansible.builtin Defecto:
10
Tiempo de espera en segundos para la solicitud de URL.
tmp_dest sendero agregado en 2.1 de ansible.builtin Ruta absoluta de donde se descarga el archivo temporal. Cuando se ejecuta en Ansible 2.5 o superior, la ruta tiene como valor predeterminado la configuración remote_tmp de ansible Cuando se ejecuta en Ansible antes de la 2.5, tiene como valor predeterminado TMPDIR, TEMP o TMP env variables o un valor específico de la plataforma. https://docs.python.org/2/library/tempfile.html#tempfile.tempdir
unsafe_writes booleano agregado en 2.2 de ansible.builtin
    Opciones:

  • no
Influir en el momento de utilizar la operación atómica para evitar la corrupción de datos o lecturas inconsistentes del archivo de destino. De forma predeterminada, este módulo utiliza operaciones atómicas para evitar la corrupción de datos o lecturas inconsistentes de los archivos de destino, pero a veces los sistemas están configurados o simplemente dañados para evitar esto. Un ejemplo son los archivos montados en la ventana acoplable, que no se pueden actualizar atómicamente desde el interior del contenedor y solo se pueden escribir de manera insegura. Esta opción permite que Ansible recurra a métodos inseguros para actualizar archivos cuando fallan las operaciones atómicas (sin embargo, no obliga a Ansible a realizar escrituras inseguras). ¡IMPORTANTE! Las escrituras no seguras están sujetas a condiciones de carrera y pueden provocar daños en los datos.
url cuerda / requerido HTTP, HTTPS o FTP URL con el formato (http | https | ftp): //[user[:pass]]@ host.domain[:port]/sendero
url_password cuerda agregado en 1.6 de ansible.builtin La contraseña para usar en la autenticación básica HTTP. Si el url_username parámetro no está especificado, el url_password no se utilizará el parámetro. Desde la versión 2.8 también puede usar el alias ‘contraseña’ para esta opción.

alias: contraseña
url_username cuerda agregado en 1.6 de ansible.builtin El nombre de usuario para usar en la autenticación básica HTTP. Este parámetro se puede utilizar sin url_password para sitios que permiten contraseñas vacías. Desde la versión 2.8 también puede utilizar la username alias para esta opción.

alias: nombre de usuario
use_gssapi booleano agregado en 2.11 de ansible.builtin
    Opciones:

  • no
Utilice GSSAPI para realizar la autenticación, normalmente esto es para Kerberos o Kerberos a través de la autenticación de negociación. Requiere la biblioteca de Python gssapi Para ser instalado. Las credenciales para GSSAPI se pueden especificar con url_username/url_password o con GSSAPI env var KRB5CCNAME que especificaba una caché de credenciales Kerberos personalizada. La autenticación NTLM es not compatible incluso si se ha instalado el mecanismo GSSAPI para NTLM.
usa proxy booleano
    Opciones:

  • no
si no, no utilizará un proxy, incluso si hay uno definido en una variable de entorno en los hosts de destino.
validate_certs booleano
    Opciones:

  • no
Si no, Los certificados SSL no se validarán. Esto solo debe usarse en sitios controlados personalmente que utilicen certificados autofirmados.

Notas

Nota

  • Para los destinos de Windows, use el ansible.windows.win_get_url módulo en su lugar.

Ver también

Ver también

ansible.builtin.uri

La documentación oficial sobre el ansible.builtin.uri módulo.

ansible.windows.win_get_url

La documentación oficial sobre el ansible.windows.win_get_url módulo.

Ejemplos de

- 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 }}'

Valores devueltos

Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:

Llave Devuelto Descripción
archivo de respaldo cuerda cambiado y si copia de seguridad = sí nombre del archivo de respaldo creado después de la descarga
Muestra: /camino a/[email protected]: 09 ~
checksum_dest cuerda éxito suma de comprobación sha1 del archivo después de la copia
Muestra: 6e642bb8dd5c2e027bf21dd923337cbb4214f827
checksum_src cuerda éxito suma de comprobación sha1 del archivo
Muestra: 6e642bb8dd5c2e027bf21dd923337cbb4214f827
dest cuerda éxito archivo / ruta de destino
Muestra: /ruta/a/archivo.txt
transcurrido entero siempre La cantidad de segundos que transcurrieron mientras se realizaba la descarga.
Muestra: 23
gid entero éxito ID de grupo del archivo
Muestra: 100
grupo cuerda éxito grupo del archivo
Muestra: httpd
md5sum cuerda cuando es compatible suma de comprobación md5 del archivo después de la descarga
Muestra: 2a5aeecc61dc98c4d780b14b330e3282
modo cuerda éxito permisos del objetivo
Muestra: 0644
msg cuerda siempre el mensaje HTTP de la solicitud
Muestra: OK (bytes desconocidos)
dueño cuerda éxito propietario del archivo
Muestra: httpd
segundo texto cuerda éxito el contexto de seguridad de SELinux del archivo
Muestra: inconfined_u: object_r: user_tmp_t: s0
Talla entero éxito tamaño del objetivo
Muestra: 1220
src cuerda siempre archivo de origen utilizado después de la descarga
Muestra: / tmp / tmpAdFLdV
estado cuerda éxito estado del objetivo
Muestra: expediente
código de estado entero siempre el código de estado HTTP de la solicitud
Muestra: 200
uid entero éxito ID de propietario del archivo, después de la ejecución
Muestra: 100
url cuerda siempre la URL real utilizada para la solicitud
Muestra: https://www.ansible.com/

Autores

  • Jan-Piet Mens (@jpmens)