Jinja模板语言
在学SaltStack的时候,使用到了Jinja模板语言,发现和之前在学python时候Django中的模板语言的语法是一样的。
一.Jinja官方网站
http://jinja.pocoo.org/
二.File状态使用template参数
- template: jinja
三.模板文件里调用变量
{{ PORT }}
四.变量列表
- defaults: PORT: 8080 IPADDR: {{ grains['fqdn_ip4'][0] }}
五.模板文件里变量的使用
变量使用Grains: {{ granis['fqdn_ip4'][0] }} 变量使用执行模块: {{ salt['network.hw_addr']('eth0') }} 变量使用Pillar: {{ pillar['apache']['PORT'] }}
六.注意事项:
在jinja语言中定义的变量,要遵循python定义变量的规则,变量名只能使用:数字、字母、下划线,并且不能以数字开头,在配置Salt状态的时候,变量名中用到-这个符号,导致运行状态的时候报错。