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中表示 布尔值 (真/假)。其中 布尔值 可以不区分大小写。
示例
---
- 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相关的常见词语
服务/服务器 − 提供服务的机器上的进程。
机器 − 物理服务器,虚拟机或容器。
目标机器 − 我们将使用Ansible配置的机器。
任务 − Ansible管理的操作(运行这个,删除那个)等。
Playbook(剧本) − 包含Ansible命令的yml文件,会在机器上执行的yml文件。