Ansible - Fondamenti di YAML
Ansible utilizza la sintassi YAML per esprimere i playbook Ansible. Questo capitolo fornisce una panoramica di YAML. Ansible utilizza YAML perché è molto facile per gli esseri umani capire, leggere e scrivere rispetto ad altri formati di dati come XML e JSON.
Ogni YAML file opzionalmente inizia con "---" e finisce con "...".
Capire YAML
In questa sezione impareremo i diversi modi in cui vengono rappresentati i dati YAML.
coppia chiave-valore
YAML utilizza una semplice coppia chiave-valore per rappresentare i dati. Il dizionario è rappresentato nella coppia chiave: valore.
Note - Dovrebbe esserci uno spazio tra: e value.
Esempio: un record dello studente
--- #Optional YAML start syntax
james:
name: james john
rollNo: 34
div: B
sex: male
… #Optional YAML end syntax
Abbreviazione
È inoltre possibile utilizzare l'abbreviazione per rappresentare i dizionari.
Esempio
James: {name: james john, rollNo: 34, div: B, sex: male}
Elenco rappresentativo
Possiamo anche rappresentare List in YAML. Ogni elemento (membro) della lista dovrebbe essere scritto in una nuova riga con lo stesso rientro che inizia con "-" (- e spazio).
Esempio
---
countries:
- America
- China
- Canada
- Iceland
…
Abbreviazione
È inoltre possibile utilizzare l'abbreviazione per rappresentare gli elenchi.
Esempio
Countries: [‘America’, ‘China’, ‘Canada’, ‘Iceland’]
Elenco all'interno dei dizionari
Possiamo usare list all'interno dei dizionari, cioè il valore della chiave è list.
Esempio
---
james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
…
Elenco dei dizionari
Possiamo anche fare un elenco di dizionari.
Esempio
---
- 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 utilizza "|" per includere le nuove righe durante la visualizzazione di più righe e ">" per eliminare le nuove righe durante la visualizzazione di più righe. Per questo motivo possiamo leggere e modificare righe grandi. In entrambi i casi si ignorerà l'intenzione.
Possiamo anche rappresentare BooleanValori (vero / falso) in YAML. doveboolean i valori possono essere case insensitive.
Esempio
---
- 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%
Alcune parole comuni relative ad Ansible.
Service/Server - Un processo sulla macchina che fornisce il servizio.
Machine - Un server fisico, una vm (macchina virtuale) o un contenitore.
Target machine - Una macchina che stiamo per configurare con Ansible.
Task - Un'azione (esegui questo, elimina quello) ecc. Gestito da Ansible.
Playbook - Il file yml in cui vengono scritti i comandi Ansible e yml viene eseguito su una macchina.