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:
# 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