Ansible - podstawy YAML

Ansible używa składni YAML do wyrażania Playbooków Ansible. Ten rozdział zawiera przegląd YAML. Ansible korzysta z YAML, ponieważ jest bardzo łatwy do zrozumienia, odczytu i zapisu dla ludzi w porównaniu z innymi formatami danych, takimi jak XML i JSON.

Każdy YAML plik opcjonalnie zaczyna się od „---” i kończy na „...”.

Zrozumieć YAML

W tej sekcji nauczymy się różnych sposobów przedstawiania danych YAML.

para klucz-wartość

YAML używa prostej pary klucz-wartość do reprezentowania danych. Słownik jest reprezentowany w parze klucz: wartość.

Note - Pomiędzy: a wartością powinna być spacja.

Przykład: rekord ucznia

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

Skrót

Możesz również użyć skrótu do reprezentowania słowników.

Przykład

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

Reprezentująca listę

Możemy również reprezentować Listę w YAML. Każdy element (członek) listy powinien być zapisany w nowej linii z tym samym wcięciem zaczynającym się od „-” (- i spacji).

Przykład

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

Skrót

Możesz również użyć skrótu do reprezentowania list.

Przykład

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

Wyświetl listę w słownikach

Możemy użyć listy wewnątrz słowników, tzn. Wartością klucza jest lista.

Przykład

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

Lista słowników

Możemy też zrobić listę słowników.

Przykład

---  
- 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 używa „|” aby uwzględnić nowe wiersze podczas wyświetlania wielu wierszy oraz „>”, aby pominąć nowe wiersze podczas wyświetlania wielu wierszy. Dzięki temu możemy czytać i edytować duże linie. W obu przypadkach zamiar zostanie zignorowany.

Możemy również reprezentować Boolean(Prawda / fałsz) wartości w YAML. gdzieboolean wartości mogą nie uwzględniać wielkości liter.

Przykład

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

Kilka popularnych słów związanych z Ansible.

Service/Server - Proces na komputerze, który świadczy usługę.

Machine - Serwer fizyczny, maszyna wirtualna (maszyna wirtualna) lub kontener.

Target machine - Maszyna, którą będziemy konfigurować za pomocą Ansible.

Task - Akcja (uruchom to, usuń to) itp. Zarządzana przez Ansible.

Playbook - Plik yml, w którym zapisywane są polecenia Ansible, a yml jest wykonywany na komputerze.