Si bien puede usar vars_file, vars o include_var para configurar variables en sus libros de jugadas, el módulo set_fact es una de las mejores maneras de hacerlo, principalmente debido a su flexibilidad.
Este tutorial explicará qué es Ansible set_fact, cómo funciona y cómo puede usarlo.
Comprender Ansible set_fact
A diferencia de otros módulos que le permiten establecer variables ansibles-pensan vars_file, vars o include_var- donde necesita conocer los valores variables de antemano, el módulo set_facts ansible le permite establecer variables fuera de la puta según sea necesario, a menudo en un host de host -Se-Host Case.
Las variables establecidas usando set_facts están disponibles para la ejecución de los libros de jugadas dentro de la misma jugada. Sin embargo, utilizando el parámetro almacenado en caché establecido en sí, puede convertir estas variables en hechos en el caché de hechos, haciéndolos ejecutables en el libro de jugadas con la precedencia de "hecho en caché".
Parámetros set_fact
Ansible set_fact admite los siguientes parámetros:
Las siguientes son algunas características esenciales del módulo set_fact.
Ejemplo de set_fact
Veamos algunos ejemplos para ilustrar usando el set_fact.
En el ejemplo a continuación, usamos el set_fact para asignar un valor específico a una variable y crear un usuario.
---
- Anfitriones: todos
hecho realidad
tareas:
- Nombre: Crear usuario.
set_fact:
Nombre de usuario: Linuxhint
usuario:
Nombre: "nombre de usuario"
Grupo: "nombre de usuario"
Shell: /bin /Bash
En el ejemplo anterior, usamos el módulo set_fact para crear un usuario en un host remoto.
Otro ejemplo es usar el set_fact con condicionales. Por ejemplo:
---
- Anfitriones: todos
hecho realidad
tareas:
- Nombre: Apache
set_fact:
PKG: "Apache2"
Cuándo: ansible_distribution == "Debian" o ansible_distribution == "Ubuntu"
- Nombre: httpd
set_fact:
PKG: "httpd"
Cuándo: ansible_distribution == 'centos' o ansible_distribution == 'Red Hat Enterprise Linux'
En el libro de jugadas de ejemplo anterior, establecemos el paquete en Apache2 cuando la distribución es Debian o Ubuntu y Httpd para CentOS y REHL.
Clausura
El módulo Set_fact de Ansible le permite agregar flexibilidad a sus libros de jugadas en función de la información recopilada del host.
Gracias por leer!