Aprovechando local_action para la ejecución de tareas
El módulo local_action
en Ansible ofrece una forma flexible de ejecutar tareas en el nodo de control, lo que te permite aprovechar sus capacidades para una amplia gama de casos de uso. En esta sección, exploraremos cómo utilizar de manera efectiva el módulo local_action
para ejecutar tareas en el nodo de control.
Ejecutando comandos locales
Uno de los principales casos de uso del módulo local_action
es ejecutar comandos en el nodo de control. Esto puede ser especialmente útil cuando necesitas realizar tareas a nivel de sistema o interactuar con recursos locales que no son accesibles desde los hosts remotos.
- name: Execute a local command
local_action:
module: command
args:
cmd: ls -l /tmp
register: local_command_output
- debug:
var: local_command_output.stdout_lines
En este ejemplo, se utiliza el módulo local_action
para ejecutar el comando ls -l /tmp
en el nodo de control, y la salida se almacena en la variable local_command_output
, que luego se imprime utilizando el módulo debug
.
Interactuando con archivos y directorios locales
El módulo local_action
también se puede utilizar para interactuar con archivos y directorios en el nodo de control. Esto puede ser útil para tareas como crear, modificar o eliminar archivos, así como para gestionar estructuras de directorios.
- name: Create a local directory
local_action:
module: file
path: /tmp/local_directory
state: directory
- name: Create a local file
local_action:
module: file
path: /tmp/local_directory/local_file.txt
state: touch
En este ejemplo, se utiliza el módulo local_action
para crear un directorio llamado local_directory
en el directorio /tmp
del nodo de control, y luego crear un archivo llamado local_file.txt
dentro de ese directorio.
Llamando a APIs y servicios locales
El módulo local_action
también se puede utilizar para interactuar con APIs y servicios locales, como consultar una base de datos local o llamar a un servicio web que solo es accesible desde el nodo de control.
- name: Call a local API
local_action:
module: uri
url: http://localhost:8080/api/data
register: api_response
- debug:
var: api_response.json
En este ejemplo, se utiliza el módulo local_action
para llamar a una API local que se ejecuta en el nodo de control, y la respuesta se almacena en la variable api_response
, que luego se imprime utilizando el módulo debug
.
Al entender cómo aprovechar el módulo local_action
para la ejecución de tareas, puedes mejorar la flexibilidad y el poder de tus playbooks de Ansible, lo que te permite realizar una amplia gama de tareas en el nodo de control.