博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4 playlook-Jinja2 filter
阅读量:6647 次
发布时间:2019-06-25

本文共 4722 字,大约阅读时间需要 15 分钟。

jinja2模板,不多解释,请看例子

[root@LeoDevops jinjatwo]# cat  j1.yaml - hosts: u12  gather_facts: False  vars:    list: [1,2,3,4,5]    one:  "1"    str:  "string"    ansible: "heh"  tasks:    - name: run commands      shell: df -h      register: info    - name: debug print filter      debug: msg="{
{ info.stdout | pprint }}" - name: debug conditionals filter debug: msg="the run commands status is changed" when: info|changed - name: debug int capitalize filter debug: msg="the int value {
{ one|int }} the lower value is {
{ str|capitalize }}" - name: debug default filter debug: msg="the variable value is {
{ ansible | default('ansible is not define') }} " - name: debug list max and min filter debug: msg="the list max value is {
{ list|max }},the list min value is {
{ list|min }}" - name: debug random filter debug: msg="the list random value is {
{ list|random }} and generate a random value is {
{ 1000| random(1,10) }}" - name: debug join filter debug: msg="the join filter value is {
{ list|join('+') }}" - name: debug replace and regex_replace filter debug: msg="the replace value is {
{ str| replace('t','T') }} , the regex_replace_value is {
{ str|regex_replace('.*tr(.*)$','\\1') }} "
  1. info.stdout 使用pprint进行格式化
  2. info的执行状态使用changed filter 进行判断
  3. one的值进行int转变,然后对str的值进行capitalize格式化
  4. 对ansible变量进行判断,如果该变量定义了就引用它的值,如果没有定义就使用default内值
  5. 对list内取最大值和最小值
  6. 对list内的值使用random filter随机挑选一个,然后随机生成1000以内的数字,step是10
  7. 对list内的值使用join filter链接在一起。
  8. 第八个是对str的值使用replace与regex_replace替换

运行结果如下

[root@LeoDevops jinjatwo]# ansible-playbook j1.yaml PLAY [u12] ************************************************************************************************************************************************************************************TASK [run commands] ***************************************************************************************************************************************************************************changed: [192.168.93.137]TASK [debug print filter] *********************************************************************************************************************************************************************ok: [192.168.93.137] => {    "msg": "u'Filesystem      Size  Used Avail Use% Mounted on\\n/dev/sda1        19G  3.0G   16G  17% /\\nudev            367M  4.0K  367M   1% /dev\\ntmpfs           150M  296K  150M   1% /run\\nnone            5.0M     0  5.0M   0% /run/lock\\nnone            374M     0  374M   0% /run/shm'"}TASK [debug conditionals filter] **************************************************************************************************************************************************************ok: [192.168.93.137] => {    "msg": "the run commands status is changed"}TASK [debug int capitalize filter] ************************************************************************************************************************************************************ok: [192.168.93.137] => {    "msg": "the int value 1 the lower value is String"}TASK [debug default filter] *******************************************************************************************************************************************************************ok: [192.168.93.137] => {    "msg": "the variable value is heh "}TASK [debug list max and min filter] **********************************************************************************************************************************************************ok: [192.168.93.137] => {    "msg": "the list max value is 5,the list min value is 1"}TASK [debug random filter] ********************************************************************************************************************************************************************ok: [192.168.93.137] => {    "msg": "the list random value is 1 and generate a random value is 241"}TASK [debug join filter] **********************************************************************************************************************************************************************ok: [192.168.93.137] => {    "msg": "the join filter value is 1+2+3+4+5"}TASK [debug replace and regex_replace filter] *************************************************************************************************************************************************ok: [192.168.93.137] => {    "msg": "the replace value is sTring , the regex_replace_value is ing "}PLAY RECAP ************************************************************************************************************************************************************************************192.168.93.137             : ok=9    changed=1    unreachable=0    failed=0

转载地址:http://equto.baihongyu.com/

你可能感兴趣的文章
window.scrollTo()函数注意点(js)
查看>>
Mac:更好地工作 - 应用内快捷键
查看>>
原型链是什么?关于原型链中constructor、prototype及__proto__之间关系的认识
查看>>
Android小技巧:自动初始化Library
查看>>
[jQuery]jQuery DataTables插件自定义Ajax分页实现
查看>>
CSS实现3D切换效果
查看>>
PyTips 0x17-Python 中的枚举类型
查看>>
Android与Node.js的http数据交互
查看>>
[LintCode] Container With Most Water
查看>>
MongoDB 笔记【1】
查看>>
为什么「告警等级」对缩短平均修复时间如此重要?
查看>>
ECMAScript 5 新特性 vol.2 - Array
查看>>
jQuery代码组织
查看>>
7大极好的移动应用开发J2ME工具
查看>>
7种JVM垃圾收集器特点,优劣势、及使用场景
查看>>
数字化经济具备的三大特征
查看>>
ZooKeeper分布式架构实战系列(01):ZooKeeper概念、功能、架构、与使用场景和面试题 ...
查看>>
CSS_伪元素_伪类
查看>>
ORACLE中Like与Instr模糊查询性能大比拼
查看>>
【深度分析】汽车零部件供应商管理+采购体系
查看>>