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中表示布尔值(真/假),其中布尔值不区分大小写。
【ansible 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%
---
推荐阅读
- ansible使用库存
- ansible模板
- ansible shell模块
- ansible模块
- ansible命令备忘单
- ansible使用标签
- ansible变量
- ansible使用角色(Role)
- ansible塔(Tower)