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 |
|
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: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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
si no , no utilizará un proxy, incluso si hay uno definido en una variable de entorno en los hosts de destino. |
validate_certs booleano |
|
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)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)