Direkt zum Hauptinhalt

YAML Syntax

YAML Syntax

EinEine PlaybookYAML Datei fängt immer mit 3 strichen an.

---

SollenYAML 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

 

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 einemunserem playbookBeispiel gleichoben, mehreremachen Hostgruppenwir abgearbeitetzu werden.einer KannListe.
So mansind inauch derkompliziertere ZweitenDatenstrukturen Reihemöglich,z.B.Listen mitvon nameWörterbüchern,Wörterbücher,deren beginnenWerte undListen demsind,oder Abschnitteine einenMischung Namenaus geben.
Inbeidem:

YAML
# 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 Bereichübergordnetes erstelltObjekt werden.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.

BeispielBeispiel:
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
  #Liste
  untervariable: #Liste
    - package:
      variable: wert
  variable2: wert
  - package:
      variable: wert
      variable2: wert
        - dieserwertkannwiderdoppeltvorkommen
        - dieserwertkannwiderdoppeltvorkommen
  variable: wert
  variable2: wert
  nocheineliste:
    variableideinmalvorkommtinderliste: wert
    - dieserwertkannwiderdoppeltvorkommen
    - dieserwertkannwiderdoppeltvorkommen
    - dieserwertkannwiderdoppeltvorkommen

- name: zweiter block gleicher aufbau
  untervariable: #Listeliste8:
    - package: variable:null
    wert- variable2:var1: wert1
    - package: variable:null
    - var2: 2
  variable3: wert
  variable2:variable4: wert
  - dieserwertkannwiderdoppeltvorkommenliste6:
    - dieserwertkannwiderdoppeltvorkommendieserwertkannwiederdoppeltvorkommen
    variable:- dieserwertkannwiederdoppeltvorkommen
  variable5: wert
  variable2:variable6: wert
  nocheineliste:nocheinevariable: variableideinmalvorkommtinderliste:null
  variableideinmalvorkommt: wert
  - dieserwertkannwiderdoppeltvorkommenliste5:
    - dieserwertkannwiderdoppeltvorkommendieserwertkannwiederdoppeltvorkommen
    - dieserwertkannwiderdoppeltvorkommendieserwertkannwiederdoppeltvorkommen
    - dieserwertkannwiederdoppeltvorkommen



 

Ein Minus wird immer dann benutzt wenn es eine Gruppe/Block ist die mehrfach vorkommen kann.vff