Direkt zum Hauptinhalt

YAML Syntax

YAML Syntax

Eine YAML Datei fängt immer mit 3 strichen an.

---

YAML ist eine Sprache die auf Listen und und Wörterbüchern basiert. Es ist eine Datei zur Daten Seriliation.
um zu überprüfen ob die YAML Datei Syntax richtig ist ohne sie Ansible spezefisch zPrüfen können wir das hier tun
https://www.yamllint.com/
Am Anfang steht der name und nach dem Doppelpunkt der Wert.
Werte können String, ganzezahlen floats und bool sein (true/false)

Ein Wörterbucheintrag sieht so aus:

---
meinevariablennamen: wert
...

Eine einfache Mitarbeiterakte. So kann man schachteln. Einfach einen Objektnamen als übergeordnet objekt deklarieren, also nur mit Doppelpunkt ohne Wert. Die Wörterbucheinträge darunter legen. Immer mit zwei Leerzeichen eingerückt.

martin:
  name: Martin Dev
  job: Developer
  skill: Elite

Ist ein Wert angeben, so müssen die unterwerte direkt ohne zwei Einrücken druntergeschrieben werden

martin: wert
name: Martin Dev
job: Developer
skill: Elite

 

Listen:
Listen beginnen mit einem Bindestrich und einem Leerzeichen.
Die Raute ist ein kommentar

---
# Eine Liste mit leckeren Früchten
- Apple
- Orange
- Strawberry
- Mango
...

Nun können wir mit dem oben gelernten Mitarbeiterdatensätze anlegen. Denn das Übergeordneteobjekt in unserem Beispiel oben, machen wir zu einer Liste.
So sind auch kompliziertere Datenstrukturen möglich,z.B.Listen von Wörterbüchern,Wörterbücher,deren Werte Listen sind,oder eine Mischung aus beidem:

# Mitarbeiterdatensätze
- martin:
    name: Martin D'vloper
    job: Developer
    skills:
      - python
      - perl
      - pascal
- tabitha:
    name: Tabitha Bitumen
    job: Developer
    skills:
      - lisp
      - fortran
      - erlang

Eine Liste muss immer ein übergordnetes Objekt haben. Im Oberen Beispiel sind die
---
Striche das root / übergeordnete Objekt für

 - martin
 - tabitha

Innerhalb der Akte ist
skills:
das übergeordnete Objekt für die Listeneinträge
- lisp
- fortran
- erlang
usw.

Beispiel:
Die Übergeordneten Objekte liste 1-3 sind uniqe und dürfen nicht mehrfach vorkommen.
innerhalb eine Liste dfarf ein Wert mehrfach vorkommen, wenn es ein listen item ist.
Dies erkennt man an dem minus davor.


---
- name: irgendwas
  variable: wert
  variable2: wert
  liste8:
    - package: null
    - var1: 1
    - package: null
    - var2: 2
  variable3: wert
  variable4: wert
  liste6:
    - dieserwertkannwiederdoppeltvorkommen
    - dieserwertkannwiederdoppeltvorkommen
  variable5: wert
  variable6: wert
  nocheinevariable: null
  variableideinmalvorkommt: wert
  #hier gillt eine ausnahme, hier müssen zwei leerzeichen rein, da dieser wert einen haupteintrag darstellt und somit nur einmal vorkopmmen darf
  listemitwert: wert
    - eintrag1
    - eintrag2
  liste5:
    - dieserwertkannwiederdoppeltvorkommen
    - dieserwertkannwiederdoppeltvorkommen
    - dieserwertkannwiederdoppeltvorkommen