Buenas a tod@as!
Hace ya tiempo, escribí un post, por el cual os recomiendo que os paseis, sobre el uso de variables en Ansible
En el artículo de hoy, vamos a ir un paso mas allá y veremos como tratarlas en expresiones condicionales. A veces nos puede resultar necesario almacenar el resultado de una tarea y que otras tareas puedan acceder a ella y en función del valor hacer, una cosa u otra. Vamos a ver algunos pequeños ejemplos del uso de variables en condicionales:
Cuando la variable es igual a otro valor
- hosts: all
vars:
test1: "Hello World"
tasks:
- name: Cuando la variable es igual a otro valor
debug:
msg: "Equals"
when: test1 == "Hello World"
Cuando la variable no es igual a otro valor
- hosts: all
vars:
test1: "Bye World"
tasks:
- name: Cuando la variable no es igual a otro valor
debug:
msg: "Not Equals"
when: test1 != "Hello World"
Cuando la variable contiene una deterninada cadena
- hosts: all
vars:
test1: "Bye World"
tasks:
- name: Cuando la variable contiene una deterninada cadena
debug:
msg: "Equals"
when: test1.find("World") != -1
- hosts: all
tasks:
- shell: cat /etc/temp.txt
register: output
- name: Cuando la variable contiene una deterninada cadena
debug:
msg: "Equals"
when: output.stdout.find("World") != -1
Cuando la variable está vacía
- hosts: all
tasks:
- shell: cat /etc/temp.txt
register: output
- name: Cuando la variable está vacía
debug:
msg: "empty"
when: output.stdout == ""
Espero que os sea de utilidad. Hasta el próximo post :-)
Un saludo!!!
Miquel.