Ansible - Les bases de YAML

Ansible utilise la syntaxe YAML pour exprimer les playbooks Ansible. Ce chapitre donne un aperçu de YAML. Ansible utilise YAML car il est très facile pour les humains de comprendre, lire et écrire par rapport à d'autres formats de données comme XML et JSON.

Chaque YAML le fichier commence éventuellement par «---» et se termine par «...».

Comprendre YAML

Dans cette section, nous allons apprendre les différentes manières dont les données YAML sont représentées.

paire clé-valeur

YAML utilise une simple paire clé-valeur pour représenter les données. Le dictionnaire est représenté dans la paire clé: valeur.

Note - Il devrait y avoir un espace entre: et value.

Exemple: un dossier étudiant

--- #Optional YAML start syntax 
james: 
   name: james john 
   rollNo: 34 
   div: B 
   sex: male 
… #Optional YAML end syntax

Abréviation

Vous pouvez également utiliser une abréviation pour représenter des dictionnaires.

Exemple

James: {name: james john, rollNo: 34, div: B, sex: male}

Liste de représentation

Nous pouvons également représenter List en YAML. Chaque élément (membre) de la liste doit être écrit dans une nouvelle ligne avec la même indentation commençant par «-» (- et espace).

Exemple

---
countries:  
   - America 
   - China 
   - Canada 
   - Iceland 
…

Abréviation

Vous pouvez également utiliser une abréviation pour représenter des listes.

Exemple

Countries: [‘America’, ‘China’, ‘Canada’, ‘Iceland’]

Liste à l'intérieur des dictionnaires

Nous pouvons utiliser list dans les dictionnaires, c'est-à-dire que la valeur de la clé est list.

Exemple

---  
james: 
   name: james john 
   rollNo: 34 
   div: B 
   sex: male 
   likes: 
      - maths 
      - physics 
      - english 
…

Liste des dictionnaires

Nous pouvons également faire une liste de dictionnaires.

Exemple

---  
- 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 utilise «|» pour inclure les nouvelles lignes tout en affichant plusieurs lignes et «>» pour supprimer les nouvelles lignes tout en affichant plusieurs lignes. Pour cette raison, nous pouvons lire et éditer de grandes lignes. Dans les deux cas, l'intention sera ignorée.

Nous pouvons également représenter Boolean(True / false) valeurs en YAML. oùboolean les valeurs peuvent être insensibles à la casse.

Exemple

---  
- 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%

Quelques mots courants liés à Ansible.

Service/Server - Un processus sur la machine qui fournit le service.

Machine - Un serveur physique, vm (machine virtuelle) ou un conteneur.

Target machine - Une machine que nous allons configurer avec Ansible.

Task - Une action (exécutez ceci, supprimez cela) etc. gérée par Ansible.

Playbook - Le fichier yml dans lequel les commandes Ansible sont écrites et yml est exécuté sur une machine.