Two main components: Anchor &
which defines a chunk of configuration and Alias *
used to refer to that chunk elsewhere.
Simple example, create dwarfs.yaml
:
cat<<EOF>dwarfs.yaml
- &dwarf Gimli
- Dain
- Thorin
- *dwarf
- Balin
- *dwarf
EOF
When an YAML parser reads dwarfs.yaml
the alias will render the value identified by the anchor.
An anchor can be referenced by multiple aliases, and also we can merge maps (to add more values, or override existing ones) i.e.
cat<<EOF>dwarfs.yaml
# anchor
Gloin: &dwarf_basics
role: Member
hood_color: white
skills: &skills_base
- battle
- mining
# alias and merge map
Oin:
<<: *dwarf_basics
role: Leader
EOF
In dwarfs.yaml
file, Gloin
is being used as base definition. Oin
uses <<
as key, which indicates that key-values from another mapping should be merged. Important note role
value will be override in Oin
.
Top comments (0)