Yaml

Ansible:

  • YAML
  • Langage descriptif
    exécution lente (par rapport à JSON) / parsing
    commence toujour par --- mais ok sans

yaml linter pour tester le code
https://yamlchecker.com
https://yamlvalidator.com # + json

les types de données:
Scalars (string et chiffres)
---  
name: "Name"  
premon: Leo  
age: 18  
Sequences (tableaux)

Ordre important (ordonné)

---    
tableau:    
- "premier"  
- "deuxieme"  
- "troisieme"  
format JSON dans YAML

tableau: ["premier", "deuxieume", "troisieme"]

Dictionnaire)
---
mysqldatabase:
hostname: localhost
username: root
password: 1234 
format JSON dans YAML

mysqldatabase: { hostname: localhost, username: root, password: 1234 }

Mapping (objets) / mélange des deux

C'est l'indentation qui défini les regroupements des objets.

---  
objet:  
  prenom: Leo  
  age: 18  
  tableau:  
            - "premier"  
            - "deuxieme"  
            - "troisieme"  
            - quatrieme:  
                            uneCle: test 
Multi lignes

Ecrire plusieurs lignes dans une meme commande ( | pipe )

---
action:  
  script: |  
       echo "Espace disque" > /tmp/txt.log  
       df -Th >> /tmp/txt.log]  

Ecrire une ligne de commande longue (> chevron)

---  
action:  
  script: >  
        ssh -p 22 root@192.168.0.22  
            "df -Th >> /tmp/txt.log"  
Et équivalent à  
ssh -p 22 root@192.168.0.22 "df -Th >> /tmp/txt.log"
Les encres

C'est le '& qui définie l'encre
Et pour lier une autre variable à l'encre on utilise '*'

passwd1: 1234 &motdepasse  
passwd2: *motdepasse  
Les encres multilignes
dev-template: &env  
   var:
     dir: /usr
    script: |
        echo "Espace disque" > /
                df -Th >> /tmp/txt.log
prod:  
<<: *env  
dev:
<<: *env
dir: /srv

Dernière édition le 2025-09-22 22:11

Propulsé par Wiki|Docs

This page was last edited on 2025-09-22 22:11

Jules
Free licence

Propulsé par Wiki|Docs