Cómo hacer una declaración IF en Jinja2

Cómo hacer una declaración IF en Jinja2
Varios condicionales preconstruidos en Jinja2 proporcionan acceso rápido a métodos avanzados en documentos Jinja. El propósito de implementar los condicionales de Jinja2 en Ansible se explica en este artículo, junto con lo que son en general. Este artículo también tiene una declaración IF detallada para uno de los condicionales de Jinja2 y cuál es el documento Jinja2 IF Syntax y la funcionalidad. También revisaremos un operador diferente que los programadores de Ansible pueden usar para realizar los Estados IF.

Entre los documentos basados ​​en Python más efectivos y conocidos se encuentra Jinja2. Dado que esto usa los mismos lenguajes de codificación que Ansible, los usuarios de Ansible lo usan más ampliamente. Este es uno de los beneficios para los profesionales de TI de innumerables maneras. El documento Jinja2 puede emplear las estructuras condicionales ansibles. Cada vez que una condición booleana suministrada por el desarrollador se traduce en operaciones o actividades verdaderas o falsas, se llevan a cabo por declaraciones condicionales. Dentro de un libro de jugadas Ansible, basado en la información sobre el servidor de destino, una declaración IF o el resultado de una acción anterior, es posible que desee ejecutar algunas acciones alternativas o tener diferentes objetivos. El elemento de estructura fundamental que se utiliza para evaluar las condiciones es la expresión "si". Al evaluar múltiples condiciones, la expresión "si" se usa con frecuencia durante la combinación con los comandos "Elif" y "de lo contrario". Si se produce un parámetro y no es nulo o si el parámetro tiene la expresión booleana como "verdadera", una condición condicional con un parámetro de entrada se traduce en verdadero. En una explicación más simple, la expresión "si" se usa para restringir la ejecución de una colección de declaraciones dos veces cuando se cumple una condición particular.

Sintaxis de la condición "si" en Jinja2

Jinja2, a pesar de no ser un lenguaje de programación, tiene una lista de frases que debe emplear para poner el "guión" en el libro de jugadas Ansible. Estos se denominan simplemente colectivamente como sintaxis, y están estructurados por una serie de principios básicos que permiten a los usuarios comunicar sus objetivos a la máquina en los términos que puede entender.

Comenzamos usando un aparato ortopédico rizado con un indicador porcentual. Se utiliza la palabra clave "si", una palabra reservada en jinja2. Después de escribir cualquier condición o expresión, cerramos la línea de declaración IF una vez más con el símbolo porcentual y cerramos la abrazadera rizada. Luego, en la siguiente línea, se escribe el cuerpo de la condición "if". Finalmente, la condición se cierra escribiendo "endif" dentro de las etiquetas de apertura y cierre de la Estado IF. Si la condición especificada devuelve verdaderas, las declaraciones que se incluyen en el bloque "IF" del código se ejecutan. Si la condición es falsa, devuelve falso.

% if (condición) %
Cuerpo
% terminara si %

Prerrequisitos de utilizar la declaración IF en Jinja2

Para configurar rápidamente el Jinja2 IF-Statement en Ansible, consideramos, en aras de esta sesión, que cumplimos con los siguientes criterios:

  • Para realizar las tareas en Ansible, primero debemos configurar la herramienta Ansible en el sistema.
  • El controlador Ansible en esta sesión maneja la operación Jinja2 IF SIT-STATEME en esta sesión, que actúa como el controlador de dominio principal que establece y mantiene los condicionales de Jinja2 en la máquina específica.
  • Además, es necesario un servidor de orientación donde se configura el Jinja2 IF-STATEMENT. Se determina que el servidor remoto en este caso es el host local.

Comencemos con una práctica rápida del Jinja2 IF-STATement del libro de jugadas Ansible.

Ejemplo: Implementación de la Estado IF

Ahora, utilizando el estado if de Jinja, que se basa en la programación de Python, creamos el ejemplo básico en Ansible. Necesitamos un libro de jugadas para incluir todos los comandos, tareas y condicionales de Jinja2 que necesitamos implementar en Ansible. El comando de terminal ansible que usamos para construir el libro de jugadas se muestra a continuación:

[root@maestro ansible]# nano ansible_if.YML

Después de ingresar el comando mencionado anteriormente, un libro de jugadas con el ".Extensión YML "y la" Si.El identificador YML "se produce y se inicia instantáneamente en una nueva pestaña de la interfaz de herramienta Ansible. Ahora que se implementa el estado de condición condicional, comencemos a crear los comandos necesarios. Para implementar la Estado IF en el dispositivo de host remoto, primero especificamos el host remoto de destino en el libro de jugadas. Proporcionamos al anfitrión local a lo largo de esta situación. Se emplea la recopilación de información en la opción Ansible para recibir los datos sobre el host local. Por lo tanto, si el verdadero valor booleano se pasa a la opción, obtenemos toda la información que sea relevante para el host local. Sin embargo, proporcionamos un valor booleano falso si todo lo que aparece en el terminal de salida es el nombre del host remoto y no otra información sobre el host local cuando se ejecuta el libro de jugadas. Después de dar la información relevante al anfitrión local, definimos las operaciones que nos gusta lograr en el libro de jugadas de Estado IF.

Primero, definimos la tarea en la que queremos verificar la disponibilidad del documento en Ansible. Luego, pasamos la ruta del documento y lo registramos. A continuación, ejecutamos e imprimimos los resultados utilizando la opción de depuración. Luego, utilizamos la Estado IF para verificar si el archivo está disponible o no. En la siguiente tarea, verificamos si el "anfitrión.YML ”es accesible por el controlador ansible actual o no. Entonces, usamos la opción de shell para declarar la ruta del "host.El documento de YML "ANS a través de la variable de registro donde pasamos el acceso al" host.documento de YML ". Luego, usamos la condición if para verificar la condición "si".

- Hospedadores:
- hostil
gather_facts: falso
tareas:
- Nombre: Verifique la existencia del archivo
STAT: ruta =./anfitrión.YML
Registrarse: fileexists
- depurar:
Msg: "'El archivo existe' si los fileexistas.estadística.existe "
- Nombre: Verifique si el host.YML es accesible por el usuario actual
shell: stat -c "%a" ./anfitrión.YML
Registrarse: AccessPath
- depurar:
msg: "'archivo accesible' if (accesspath.stdout | int) < 660"

Entonces, ejecutamos el libro de jugadas en Ansible. Escribimos el siguiente comando para obtener los resultados deseados:

[root@master ansible]# ansible-playbook ansible_if.yml -i anfitrión.YML

Como puede ver, el estado de condición condicional se ejecuta con éxito. En la primera tarea, el "anfitrión.El documento YML "existe en Ansible, y accedimos con éxito el" Anfitrión.archivo YML ".

Conclusión

Utilizamos uno de los condicionales de Jinja2 en Ansible, que es la Estado IF. Discutimos el estilo de escritura de la Estado IF en Jinja2 y aprendimos los requisitos que deben configurarse en el host de control y los dispositivos de host remoto. Implementamos un ejemplo de Jinja2 if-statement en Ansible para que podamos configurar fácilmente la declaración.