Para implementar condiciones en Ansible, usamos el Cuando la palabra clave. La palabra clave toma expresiones booleanas basadas en un valor o una variable de tareas o hechos anteriores recopilados de los hosts remotos.
Esta guía le enseñará cómo implementar las condiciones en los libros de jugadas Ansible utilizando la palabra clave When.
ANSIBLE CUANDO CONDICIONALES: Uso básico
La palabra clave When toma una sintaxis simple:
Cuándo: (condición booleana)Asegúrese de pasar una condición que evalúe a verdadero o falso.
Por ejemplo:
Cuándo: ansible_pkg_mgr == "yum"Si desea combinar múltiples condiciones, puede usar operadores lógicos como y, y no.
Cuándo: (condición 1) y (condición2)Para comprender cómo usar el Ansible cuando la palabra clave, usaremos ejemplos prácticos.
Ejemplo 1
El primer ejemplo creará un usuario si el usuario especificado no existe en el host remoto.
---El ejemplo anterior comienza verificando si el directorio de inicio del usuario de Ubuntu está disponible. Luego usamos la condición When para crear un archivo de texto si el directorio está disponible.
Ejemplo 2
El siguiente ejemplo apaga todos los hosts remotos de Ubuntu usando una condición When.
---En el ejemplo anterior, usamos hechos reunidos para evaluar si los servidores son de la familia Ubuntu. Si es cierto, apague los servidores.
Ejemplo 3
En el ejemplo a continuación, combinamos dos condiciones que usan un operador y un operador.
---El ejemplo anterior verifica si los hosts son hosts Debian y si la versión de distribución es igual a Debian 10.
Ejemplo 4
Instalamos el servidor web de Apache en el libro de jugadas a continuación si la familia anfitriona es un anfitrión de Debian o Ubuntu.
El libro de jugadas utiliza un operador lógico.
---Ejemplo 5
Considere el libro de jugadas a continuación que actualiza el servidor NGINX a la última versión utilizando el operador no.
---Si la salida del servidor NGINX no es la versión actual, instale la versión actual del paquete.
Conclusión
En esta guía, discutimos cómo trabajar con condicionales en Ansible usando la palabra clave cuando.
Gracias por leer!