Ansible - Conceptos básicos de YAML
Ansible usa la sintaxis YAML para expresar los libros de jugadas de Ansible. Este capítulo proporciona una descripción general de YAML. Ansible usa YAML porque es muy fácil de entender, leer y escribir para los humanos en comparación con otros formatos de datos como XML y JSON.
Cada YAML opcionalmente, el archivo comienza con "---" y termina con "...".
Entendiendo YAML
En esta sección, aprenderemos las diferentes formas en que se representan los datos YAML.
par clave-valor
YAML utiliza un par clave-valor simple para representar los datos. El diccionario está representado en el par clave: valor.
Note - Debe haber un espacio entre: y valor.
Ejemplo: un registro de estudiante
--- #Optional YAML start syntax
james:
name: james john
rollNo: 34
div: B
sex: male
… #Optional YAML end syntax
Abreviatura
También puede utilizar abreviaturas para representar diccionarios.
Ejemplo
James: {name: james john, rollNo: 34, div: B, sex: male}
Lista de representación
También podemos representar List en YAML. Cada elemento (miembro) de la lista debe escribirse en una nueva línea con la misma sangría comenzando con "-" (- y espacio).
Ejemplo
---
countries:
- America
- China
- Canada
- Iceland
…
Abreviatura
También puede utilizar abreviaturas para representar listas.
Ejemplo
Countries: [‘America’, ‘China’, ‘Canada’, ‘Iceland’]
Lista dentro de diccionarios
Podemos usar list dentro de diccionarios, es decir, el valor de la clave es list.
Ejemplo
---
james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
…
Lista de diccionarios
También podemos hacer lista de diccionarios.
Ejemplo
---
- james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
- robert:
name: robert richardson
rollNo: 53
div: B
sex: male
likes:
- biology
- chemistry
…
YAML usa "|" para incluir nuevas líneas mientras muestra varias líneas y ">" para suprimir nuevas líneas mientras muestra varias líneas. Debido a esto, podemos leer y editar líneas grandes. En ambos casos se ignorará la intención.
También podemos representar BooleanValores (verdadero / falso) en YAML. dóndeboolean los valores pueden no distinguir entre mayúsculas y minúsculas.
Ejemplo
---
- james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
result:
maths: 87
chemistry: 45
biology: 56
physics: 70
english: 80
passed: TRUE
messageIncludeNewLines: |
Congratulation!!
You passed with 79%
messageExcludeNewLines: >
Congratulation!!
You passed with 79%
Algunas palabras comunes relacionadas con Ansible.
Service/Server - Un proceso en la máquina que presta el servicio.
Machine - Un servidor físico, vm (máquina virtual) o un contenedor.
Target machine - Una máquina que estamos a punto de configurar con Ansible.
Task - Una acción (ejecutar esto, eliminar aquello), etc. gestionado por Ansible.
Playbook - El archivo yml donde se escriben los comandos de Ansible y se ejecuta yml en una máquina.