Templating (Jinja2)
正如在 variables 部分描述的那样, Ansible 使用Jinja2模版来启用动态表达式和访问变量。 Ansible 扩展了许多 filtes 和 tests 变量,以及添加了新的插件类型: lookups.
请注意,所有的模版发生在Ansible 控制器发送和执行任务到目标机器之前。这样做可以简化在目标机器上的需求,jinja2 仅要求在控制机,并且可以任务所需的传递最小的信息 ,因此目标机器无需拷贝控制机需要方位的所有数据。
以下是有用的工具连接,用到时再仔细看。
- Filters
- Filters For Formatting Data
- Forcing Variables To Be Defined
- Defaulting Undefined Variables
- Omitting Parameters
- List Filters
- Set Theory Filters
- Random Number Filter
- Shuffle Filter
- Math
- JSON Query Filter
- IP address filter
- Network CLI filters
- Hashing filters
- Combining hashes/dictionaries
- Extracting values from containers
- Comment Filter
- URL Split Filter
- Regular Expression Filters
- Other Useful Filters
- Combination Filters
- Debugging Filters
- Tests
- Lookups
- Examples
- Python Version and Templating