YAML Syntax
Styles
| Block style | Flow style |
|---|---|
| Human frendly, less compact | An extension of JSON, foldinf long lines, tags and anchors |
host: host-1 datacenter: #mapping location: Poland #key-value mapping indentention cabinet: 11 roles: #list - web - dns |
host: "host-1"
datacentrer: { location:
Poland , cabinet: 11 }
roles: [ web , dns ]
# {} kv mapping
# [] list (array)
|
Characters
- Printable Unicode
- Unsupported symbols
- C0/C1 blocks
- Exceptions: Tab, Line Feed, Carrage Return, Delete, Next line
- Surrogates
- C0/C1 blocks
- Encoding: UTF-8, 16, 32
- To be JSON compatibile must be UTF-32
Mappings
Mappings are also known as:
- assosiative arrays
- hash tables
- kv pairs
- collection (YAML specific term, that groups things indented at the same level)
| Block style | Flow style |
|---|---|
host: host-1 datacenter: location: Poland cabinet: 11 # cabinet: 12 #the same keys are not allowed |
host: host-1
datacentre: { location: Poland, cabinet: 11 }
|
Sequences
Also known as:
- Lists, arrays or collections
- Denoted with a dash - and space
- Can be combined with mappings:
- mapping of sequences
- sequence of mapping
- list of maps
host: host-1 # sequence/list of mappings
- datacenter:
location: Poland
cabinet: 11
roles: # sequence
- web
- dns
- "" #blank lines are not allowed, thus double-quotes are required
#Flow style
<source lang=yaml>
roles: [ web, dns, "" ]