基本語法規則:
* 大小寫敏感
* 使用縮進表示層級關系
* 不允許使用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設置