While the main master and minion configuration files must necessarily be stored in YAML, other files in Salt can take advantage of the wealth of file formats that the modern world of technology has to offer. This is because of the rendering system built into Salt, which can take files of arbitrary formats and render them into a structure that is usable by Salt.
By default, all SLS files in Salt are rendered twice: first through the Jinja templating engine and then through the PyYAML library. This provides some significant advantages:
Jinja provides a fast and powerful templating system is easy to understand and use and follows a Pythonic mindset, comfortable to many administrators. It is particularly well suited for managing YAML files.
YAML has a very shallow learning curve, making it easy to learn and understand. While it does support more complex syntax, such as parentheses, brackets, and braces (JSON is technically syntactically correct YAML), it is not...