Ansible – YAML 基础

Ansible – YAML 基础


Ansible 使用 YAML 语法来表达 Ansible playbook。本章概述了 YAML。Ansible 使用 YAML,因为与 XML 和 JSON 等其他数据格式相比,它非常易于人类理解、读取和写入。

每个YAML文件都可以选择以“—”开头并以“…”结尾。

了解 YAML

在本节中,我们将学习表示 YAML 数据的不同方式。

键值对

YAML 使用简单的键值对来表示数据。字典以键:值对表示。

注意– : 和 value 之间应该有空格。

示例:学生记录

--- #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 中表示 List。列表的每个元素(成员)都应该写在新行中,缩进相同,以“-”(-和空格)开头。

例子

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

缩写

您还可以使用缩写来表示列表。

例子

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

字典里面的列表

我们可以在字典中使用list,即key的值为list。

例子

---  
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 中表示布尔(真/假)值。其中布尔值可以不区分大小写。

例子

---  
- 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 文件。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁