Seguimos aprendiendo de ansible, a medida que voy descubriendo cosas me doy cuenta de lo potente que es y la gran utilidad que tiene. Esta vez nos vamos a meter más a fondo con los templates y con las condiciones.
templates
Como ya hemos visto, es una forma dinámica de utilizar las variables.
Podemos utilizarlas con las siguientes expresiones:
{{variable}}
Podemos usarlo para ejecutar expresión de control por ejemplo para una condición:
{%condicion%}
También podemos usarlo para poner comentarios, solo sería visible localmente en las plantillas:
{#comentario#}
Hemos creado el main.yml dentro de defaults para definir las variables y el template.j2 dentro de templates para que veáis un ejemplo de cómo usar las templates.
template.j2
main.yml de defaults
En tasks hemos añadido la llamada de templates, en este caso va a copiar el j2 a /tmp:
Esto lo que haría es mostrar el playbook ejecutado:
Condiciones
Para usar las condiciones debemos utilizar la expresión when, con ello podemos condicionar la ejecución de una tarea, podemos copiar un archivo, etc…
Por ejemplo, si quisiéramos instalar la aplicación tree para los servidores que son centos debería usar lo siguiente:
Al lanzarlo nos muestra:
Nos muestra skipping, esto nos indica que a estos servidores no se va a aplicar la ejecución.
Muy útil si trabajamos con varias distribuciones de Linux o con sistemas mixtos como Linux o Windows
Espero que os sirva