Ansible - YAML 基礎



Ansible 使用 YAML 語法來表達 Ansible playbook。本章提供 YAML 的概述。Ansible 使用 YAML 是因為它與其他資料格式(如 XML 和 JSON)相比,非常易於人類理解、閱讀和編寫。

每個YAML 檔案可以選擇以“---”開頭,以“...“結尾。

理解 YAML

在本節中,我們將學習 YAML 資料表示的不同方式。

鍵值對

YAML 使用簡單的鍵值對來表示資料。字典以鍵:值對的形式表示。

注意 - : 和值之間應有空格。

示例:學生記錄

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

縮寫

您也可以使用縮寫來表示字典。

示例

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

表示列表

我們也可以在 YAML 中表示列表。列表的每個元素(成員)都應在新的一行中寫入,並具有相同的縮排,以“-”(- 和空格)開頭。

示例

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

縮寫

您也可以使用縮寫來表示列表。

示例

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

字典內的列表

我們可以在字典中使用列表,即鍵的值是列表。

示例

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

字典列表

我們還可以建立字典列表。

示例

---  
- 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 使用“|”來包含換行符,同時顯示多行,並使用“>”來抑制換行符,同時顯示多行。因此,我們可以讀取和編輯長行。在這兩種情況下,縮排都將被忽略。

我們還可以表示 YAML 中的布林(True/false)值。其中布林值可以不區分大小寫。

示例

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

一些與 Ansible 相關的常用詞。

服務/伺服器 - 機器上提供服務的程序。

機器 - 物理伺服器、虛擬機器 (VM) 或容器。

目標機器 - 我們將使用 Ansible 配置的機器。

任務 - 由 Ansible 管理的操作(執行此操作、刪除該操作)等。

Playbook - Ansible 命令寫入的 yml 檔案,並且 yml 在機器上執行。

廣告

© . All rights reserved.