Para describir infraestructuras en AWS CloudFormation podemos hacer uso de YAML o JSON, sigue leyendo si quieres ver cual es el que mejor se adpata ati.

Usar JSON como lenguaje para infraestrcuturas en AWS CloudFormation

En Cloudformation podemos usar JSON, que es el lenguaje que se usa para describir objetos, mediante una estructura de clave/valor, basado en JavaScript.

A los programadores que estén acostumbrados a este lenguaje, les resultará muy sencillo emplearlo o también aquellos programadores que hayan trabajado con MongoDB.

Soporta varios tipos de datos: número, cadena, booleano, array, nulo u objeto.

Aquí os mostramos un breve ejemplo de un objeto con varios elementos: cadenas para el nombre y apellidos, números para la edad, valor booleano para el campo casado y un array o una lista para los valores y un campo nulo para la web.

{
   ‘nombre’: ‘José Luis’,
   ‘apellidos’: ‘Pérez García’,
   ‘edad’: ‘39’,
   ‘casado’: ‘true’,
   ‘pasaportes’: [ ‘español’, ‘peruano’ ],
   ‘web’: ‘null’
}

YAML, otra gran opción para tu infraescturura en AWS CloudFormation

También podemos usar YAML, que al igual que JSON está orientado a clave/valor, sólo que en lugar de usar llaves o corchetes, aunque son opcionales, es decir, se pueden usar todavía, normalmente se emplea tabulación.

Algunas personas pueden encontrarlo más sencillo, pero esto siempre depende de los gustos personales.

Al igual que JSON, soporta varios tipos de datos: número, cadena, booleano, array o lista, nulo y objetos, pero además, permite definir tipos propios.

El objeto que antes vimos descrito en JSON lo podemos ver escrito aquí en YAML, sin llaves ni corchetes, usando tabulación. En el caso de la lista, simplemente indicando cada elemento con un guion.

nombre: José Luis
apellidos: Pérez García
edad: 39
casado: true
pasaportes:
   - español
   - peruano
casado: null

JSON y YAML,  permitiendo anidaciones

Por otro lado, tanto JSON como YAML permiten:

  • Anidar objetos.
  • Anidar arrays.
  • Crear arrays asociativos.

De esta forma, las cosas que podemos describir con estos dos lenguajes son tan complejas como necesitemos a la hora de crear nuestra infraestructura en Cloudformation.