Logic App: Encender/Apagar maquinas mediante correo electrónico

Una de las cosas mas demandadas en estos tiempos es saber automatizar todos tus procesos en la medida de lo posible, ya sea encender una maquina virtual como desplegar una aplicación.

Una de las herramientas que tiene Azure para hacer esto de una manera muy intuitiva es LogicApp.

Azure Logic Apps es un servicio en la nube que le ayuda a programar, automatizar y organizar tareas, procesos empresariales y flujos de trabajo cuando tiene que integrar aplicaciones, datos, sistemas y servicios en empresas u organizaciones.

Este post servirá como introducción con un ejemplo práctico.

El termino mas importante es “flujo de trabajo”, esto significa que, mediante un trigger, desencadenaremos diferentes acciones y podremos modificar su comportamiento mediante instrucciones.

A continuación, crearemos una LogicApp y la diseñaremos para que, al mandar un correo electrónico, nos encienda y apague una máquina. Primero crearemos la LogicApp, por el momento con solo poner el nombre y la región será suficiente:

Abrimos el recurso y nos mandara a la ventana de diseño:

Lo primero será elegir un trigger con el cual desencadenaremos los siguientes pasos, elegiremos “When a new email is received (V2)”.

Conectaremos la cuenta de email que tendrá que revisar para desencadenar el resto de los pasos.

Crearemos un siguiente paso que será de tipo Control, esto nos permitirá elegir cierta información del email para poder desencadenar los siguientes pasos.

En Control tenemos varias Actions. Elegimos Switch.

Aquí podemos elegir un valor del email y según su valor, hacer una cosa u otra. Pinchamos en On y nos saldrá la siguiente ventana. Elegimos, por ejemplo, Subject.

Como en este caso queremos apagar u encender una maquina virtual, añadiremos un nuevo Case. Cada Case equivale al valor que deberá tener el Subject del email para que haga una cosa u otra.

Ahora, creamos una acción para cada caso.

Guardamos.

Ahora mandamos un email con el asunto “Encender maquina VM-NAT”. Como podemos ver, el trigger se ha activado correctamente.

Y la maquina apagada se ha encendido. De la misma manera, podríamos apagar la maquina

Aunque este ejemplo es básico, esto puede darte una idea de la manera que puedes complicarlo ya sea copiando archivos a blobs storage automáticamente, horarios de despliegues, etc.