25-Ansible-Playbook-template模板

一、template 模板

模板是一个文本文件,可以做为生成文件的模版,并且模板文件中还可嵌套jinja语法
jinja2语言学习网站:https://jinja.palletsprojects.com/en/2.11.x/
jinja2 语言使用字面量,有下面形式:

  • 字符串: 使用单引号或双引号
  • 数字: 整数,浮点数
  • 列表: [item1, item2, …]
  • 元组: (item1, item2, …)
  • 字典: {key1:value1, key2:value2, …}
  • 布尔型: true/false
  • 算术运算: +, -, *, /, //, %, **
  • 比较操作: ==, !=, >, >=, <, <=
  • 逻辑运算: and,or,not
  • 流表达式: For,If,When

字面量:

表达式最简单的形式就是字面量

  • 字面量表示诸如字符串和数值的 Python 对象。如“Hello World”
  • 双引号或单引号中间的一切都是字符串。无论何时你需要在模板中使用一个字符串(比如函数调用、过滤器或只是包含或继承一个模板的参数),如42,42.23数值可以为整数和浮点数。如果有小数点,则为浮点数,否则为整数。在Python 里, 42 和 42.0 是不一样的

算术运算:
Jinja 允许用计算值。支持下面的运算符

  • +: 把两个对象加到一起。通常对象是素质,但是如果两者是字符串或列表,你可以用这 种方式来衔接它们。无论如何这不是首选的连接字符串的方式!连接字符串见 ~ 运算符。 {{ 1 + 1 }} 等于 2
  • -: 用第一个数减去第二个数。 {{ 3 – 2 }} 等于 1
  • /: 对两个数做除法。返回值会是一个浮点数。 {{ 1 / 2 }} 等于 {{ 0.5 }}
  • //: 对两个数做除法,返回整数商。 {{ 20 // 7 }} 等于 2
  • %: 计算整数除法的余数。 {{ 11 % 7 }} 等于 4
  • 用右边的数乘左边的操作数。 {{ 2 2 }} 会返回 4 。也可以用于重 复一个字符串多次。 {{ ‘=’ 80 }} 会打印 80 个等号的横条\
  • *:取左操作数的右操作数次幂。 {{ 2**3 }} 会返回 8
    比较操作符
  • == 比较两个对象是否相等
  • != 比较两个对象是否不等
如果左边大于右边,返回 true
= 如果左边大于等于右边,返回 true
< 如果左边小于右边,返回 true
<= 如果左边小于等于右边,返回 true

逻辑运算符

对于 if 语句,在 for 过滤或 if 表达式中,它可以用于联合多个表达式
and 如果左操作数和右操作数同为真,返回 true
or 如果左操作数和右操作数有一个为真,返回 true
not 对一个表达式取反
(expr)表达式组
true / false true 永远是 true ,而 false 始终是 false

template
template功能:可以根据和参考模块文件,动态生成相类似的配置文件
template文件必须存放于templates目录下,且命名为 .j2 结尾
在这里插入图片描述

[root@Ansible files]# cat nginx.yml 
---
- name: nginx
  hosts: all
  tasks:
  - name: install nginx
    yum: name=nginx state=present
  - name: template config to nginx.conf
    template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
  - name: start service
    service: name=nginx state=started enabled=yes

在这里插入图片描述

在这里插入图片描述
template算术运算

cat nginx.conf.j2 
worker_processes {{ ansible_processor_vcpus**2 }};    
worker_processes {{ ansible_processor_vcpus+2 }}; 

范例:
在这里插入图片描述

[root@Ansible files]# ansible-playbook nginx.yml    

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值