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 usar el nombre corto del módulo en bruto 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.

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

Sinopsis

  • Ejecuta un comando SSH sucio y de nivel bajo, que no pasa por el subsistema del módulo.
  • Esto es útil y solo debe hacerse en unos pocos casos. Un caso común es la instalación python en un sistema sin Python instalado por defecto. Otro es hablar con cualquier dispositivo, como enrutadores, que no tenga instalado Python. En cualquier otro caso, utilizando el ansible.builtin.shell o ansible.builtin.command El módulo es mucho más apropiado.
  • Argumentos dados a raw se ejecutan directamente a través del shell remoto configurado.
  • La salida estándar, la salida de error y el código de retorno se devuelven cuando están disponibles.
  • No hay compatibilidad con el controlador de cambios para este módulo.
  • Este módulo no requiere Python en el sistema remoto, al igual que el ansible.builtin.script módulo.
  • Este módulo también es compatible con destinos de Windows.

Nota

Este módulo tiene un correspondiente complemento de acción.

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
ejecutable cuerda agregado en 1.0 de ansible.builtin Cambie el shell utilizado para ejecutar el comando. Debe ser una ruta absoluta al ejecutable. Al usar la escalada de privilegios (become) se asignará un shell predeterminado si no se proporciona uno, ya que la escalada de privilegios requiere un shell.
forma libre cuerda / requerido El módulo sin formato necesita un comando de forma libre para ejecutarse. En realidad, no hay ningún parámetro llamado “forma libre”; ¡mira los ejemplos!

Notas

Nota

  • Si usa raw de un libro de jugadas, es posible que deba deshabilitar la recopilación de datos usando gather_facts: no si estas usando raw para iniciar Python en la máquina.
  • Si desea ejecutar un comando de forma segura y predecible, puede ser mejor utilizar la ansible.builtin.command o ansible.builtin.shell módulos en su lugar.
  • los environment la palabra clave no funciona con raw normalmente, requiere un shell, lo que significa que solo funciona si executable está configurado o usando el módulo con escalamiento de privilegios (become).
  • Este módulo también es compatible con destinos de Windows.

Ver también

Ver también

ansible.builtin.command

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

ansible.builtin.shell

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

ansible.windows.win_command

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

ansible.windows.win_shell

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

Ejemplos de

- name: Bootstrap a host without python2 installed
  raw: dnf install -y python2 python2-dnf libselinux-python

- name: Run a command that uses non-posix shell-isms (in this example /bin/sh doesn't handle redirection and wildcards together but bash does)
  raw: cat < /tmp/*txt
  args:
    executable: /bin/bash

- name: Safely use templated variables. Always use quote filter to avoid injection issues.
  raw: "{{ package_mgr|quote }} {{ pkg_flags|quote }} install {{ python|quote }}"

- name: List user accounts on a Windows system
  raw: Get-WmiObject -Class Win32_UserAccount

Autores

  • Equipo principal de Ansible
  • Michael DeHaan