zoukankan      html  css  js  c++  java
  • SaltStack 使用 Jinja2 模板

    Jinja2 是基于 python 的一个模板引擎,如下,使用 Jinja2 实现根据不同的操作系统分发不同的文件:

    [root@localhost ~]$ cat /srv/salt/test.sls 
    {% set apache_conf = '/etc/httpd/conf/httpd.conf' %}      # {% set ... %} 用于设置变量
    {% if grains['os'] == 'Debian' %}                         # {% if ... %} 用于条件判断,用 {% endif %} 结束判断
      {% set apache_conf = '/etc/apache2/httpd.conf' %}       # {{ var }} 用于获取变量值
    {% endif %}
    
    {{ apache_conf }}:
      file.managed:
        - source: salt://apache/httpd.conf
    [root@localhost ~]$ salt '*' state.sls test


    配置文件也能使用 Jinja2 模板,如下,apache 的配置文件中,监听端口这部分配置使用 Jinja2 模板:

    [root@localhost ~]$ cat /srv/salt/apache/httpd.conf 
    .... {
    % set lister_port = 80 %} {% if grains['fqdn'] == 'minion01' %} {% set listen_port = 8080 %} {% endif %} Listen {{ listen_port }}
    [root@localhost ~]$ cat /srv/salt/test.sls 
    {% set apache_conf = '/etc/httpd/conf/httpd.conf' %}
    {% if grains['os'] == 'Debian' %}
      {% set apache_conf = '/etc/apache2/httpd.conf' %}
    {% endif %}
    
    {{ apache_conf }}:   
      file.managed:
        - source: salt://apache/httpd.conf
    - template: jinja # 这里需要注明使用模板引擎
    [root@localhost ~]$ salt '*' state.sls test

          

  • 相关阅读:
    将webcam设置为网站favicon
    IIS简单的反向代理设置
    在Heroku上免费部署ASP.NET Core(使用Docker和CircleCI)
    ModelBiner不验证某个属性
    大项目小细节---切换选项卡后的操作
    测试理论
    测试理论
    测试理论
    Chrome
    Docker
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10360812.html
Copyright © 2011-2022 走看看