基本语法规则:
* 大小写敏感
* 使用缩进表示层级关系
* 不允许使用tab键,只允许使用空格(一般为2个空格表示上下级关系)
* yaml文件以"---"为文档的开始,"---"为文档的结束
* #号开头的行,表示注释,会被忽略
YAML支持的数据结构:
* 对象(键值对集合)
特点:一对键值对,键和值用冒号隔开,如
name: louis
* 列表
特点:一个键有多个值,每个值前面要用-开始,-和值之间要有空格
如
---
fruits:
- Apple
- Orange
- Strawberry
- Mango
也可以使用如下方式(行内格式)
---
fruits: ['Apple','Orange','Strawberry','Mango']
* 字典
特点:一个键的值是多个键值对
如:
---
martin:
name: alex
job: Ops
也可以使用行内表示法
---
martin: {name: alex,job: Ops}
* 复合机构(对象,列表,字典)
~~~
---
- martin:
name: Martin D'vloper
job: Developer
skills:
- python
- perl
- pascal
- tabitha:
name: Tabitha Bitumen
job: Developer
skills:
- lisp
- fortran
- erlang
~~~
资料:
1)Playbooks 采用YMAL 语法结构,基本的YMAL 语法请参考
http://docs.ansible.com/YAMLSyntax.html
2)yaml格式在线检查
http://yaml-online-parser.appspot.com/
- 第一章:Ansible基础入门
- 第二章:Ansible系列手册
- 第一节:Ansible系列之主机清单
- 第二节:Ansible系列之变量
- 第三节:Ansible系列之YAML
- 第四节:Ansible系列之条件判断
- 第五节:Ansible系列之循环
- 第六节: Ansible系列之tags
- 第七节:Ansible系列之Jinja2
- 第三章:Ansible系列之模块
- 第一节:user模块
- 第二节:group模块
- 第三节:cron模块
- 第四节:copy模块
- 第五节: file模块
- 第六节:yum模块
- 第七节:service模块
- 第八节:shell模块
- 第九节:script模块
- 第十节:setup模块
- 第十一节:filesystem和mount模块
- 第十二节:synchronize模块
- 第十三节: get_url模块
- 第十四节: package模块
- 第十五节:stat模块
- 第十六节:unarchive模块
- 第十七节: commang模块
- 第四章:Ansible-playbook介绍
- 第五章:Ansible系统环境
- 第一节:Ansible Role 系统环境之epel设置