📅  最后修改于: 2020-12-26 12:29:02             🧑  作者: Mango
YAML用于描述在Ansible和SaltStack的帮助下在过去几年中不断增加的配置。
与其他标准数据格式(例如XML或JSON)相比,YAML对于人类而言更易于读写。大多数编程语言都有可用的库来使用YAML。
对于Ansible,每个YAML文件都以一个列表开头。列表中的每个项目都是键-值对的列表,通常称为“哈希”或“字典” 。因此,我们需要知道如何在YAML中编写列表和字典。
YAML还有一个小怪癖。所有YAML文件(不论其与Ansible或不关联的)可任选—开始和结束—。这是YAML格式的一部分,指示文档的开始和结束。
列表的所有成员都是以相同的缩进级别开头的行,并以“-” (破折号和空格)开头:
---
# A list of colors
- White
- Orange
- Red
- Black
---
我们用不同的方式表示YAML数据,例如:
键值对
YAML使用键值对表示数据。字典在键:值对中描述。
注意::和值之间应该有空格。
例如,一个学生记录
---
# A student record
Martin:
name: Martin
roll no: 10
class: 12th
div: A
---
缩写
我们也可以使用缩写来表示目录:
Martin: [name: martin, roll no: 10, class: 12th, div: A]
我们还可以在YAML中表示List。列表中的每个元素(成员)都应以“-”(-和空格)开头的相同缩进换行。
例如:国家名称
---
#Name of country
Countries:
- India
- China
- USA
- Iceland
---
缩写
为了表示列表,我们还可以使用缩写方法:
Countries: ['India', 'China', 'USA', 'Iceland']
在字典中列出
我们可以在字典中使用列表,即,键的值是列表。
例如,一个学生记录
---
# A student record
Martin:
name: Martin
roll no: 10
class: 12th
div: A
likes:
- Physics
- Chemistry
- Math
---
目录列表
我们还可以列出目录:
例如:
---
# A student record
- Martin:
name: Martin
roll no: 10
class: 12th
div: A
likes:
- Physics
- Chemistry
- Math
- Edward:
name: Edward
roll no: 11
class: 12th
div: A
likes:
- Biology
- English
---
YAML使用“ |”在显示多行时包含换行符,在显示各种行时使用“>”取消换行符。因此,我们可以阅读和编辑长行。在这两种情况下,缩进都将被忽略。
我们还可以在YAML中表示布尔值(真/假),其中布尔值不区分大小写。
例如,学生成绩
---
#a student result
- Martin:
name: Martin
roll no: 10
class: 12th
div: A
likes:
- Physics
- Chemistry
- Math
result:
Physics: 70
Chemistry: 45
Math: 85
Biology: 65
English: 80
passed: TRUE
messageIncludeNewLines: |
Congratulation!!
You passed with 79%
messageExcludeNewLines: >
Congratulation!!
You passed with 79%
---