使用JINJA2模板部署自定义文件(RH294)

news2024/11/17 23:52:40

在ansible中有许多模板可以用于修改现有的文件

比如—— lineinfile和blockinfile

但是!

我们还有一种更加便捷而且牛皮的方法

为其构建模板

在部署该文件是自动为受管主机自定义次模板配置文件

而这些模板中非常有名的就是 JINJA2

ansible将Jinja2模板系统用于模板文件

并且ansible还使用Jinja2语法来引用playbook中的变量

首先的话我们要学习的就是分隔符

变量和逻辑表达式都可以使用

{% %}用于表达式或者逻辑(如循环)

{{ }} 用于想最终用户输出表达式或变量的结果 在呈现是会被替换为一个或者多个值,对最终用户可见

{# #}该语法用于标注注释

控制结构

1.使用循环——for 同时if 语句来提供条件控制

{# for statement #}
{% for myuser in users if not myuser == "root" %}
User number {{ loop.index }} - {{ myuser }}
{% endfor %}

该模板使用for语句逐一运行users变量中的所有值,将myuser替换为各个值

变量控制器

Jinja2提供了过滤器,更改模板表达式的输出格式

to_json——使用JSON格式化表达式输出

to_yaml——使用YAML格式化表达式输出

{{ output | to_json }}
{{ output | to_yaml }}

变量测试

在Ansible Playbook中与when子句一起使用的表达式是Jinja2表达式

用于测试返回值的内置Ansible测试包括failed,changed,succeeded,skipped

测试使用例

tasks:
...output omitted...
  - debug: msg="the execution was aborted"
    when: returnvalue is failed

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/186037.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java设计模式-职责链模式Chain of Responsibility

介绍 职责链模式(Chain of Responsibility Pattern), 又叫 责任链模式,为请求创建了一个接收者对象的链(简单示意图)。这种模式对请求的发送者和接收者进行解耦。职责链模式通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理…

C语言#include的用法详解

#include叫做文件包含命令,用来引入对应的头文件(.h文件)。#include 也是C语言预处理命令的一种。#include 的处理过程很简单,就是将头文件的内容插入到该命令所在的位置,从而把头文件和当前源文件连接成一个源文件&am…

Oracle数据库故障处理-存储单块读hang分析处理

1 故障描述 2023年1月27日下午接到业务反馈数据库存在大量的锁表阻塞信息,并且业务的页面以及数据库的一些查询均处于阻塞状态,简单的查询sql也需要查询很长时间且未返回结果,数据库hang状态。 2 故障原因分析 2.1 数据库层面分析 接到业务反馈后&am…

如果放在几年前,无法想到互联网会蜕变成今天这样一副模样

如果放在几年前,你是万万无法想到互联网会蜕变成今天这样一副模样。尽管如此,这样一种蜕变却在真实地发生着。不知道你有没有发现就连前两年火爆的短视频人们都懒得刷了。所有的这一切都在告诉我们,互联网正在发生一场深刻而又彻底的嬗变。如…

SQL Server数据库版本总结

一、为什么要写这篇文章 之所以专门写一篇文章来整理归纳SQL Server各个版本的功能区别,是因为遇到过两次真实的客户案例,因为数据库版本选取不当,导致生产系统宕机的情况。 案例一 某客户安装了 32位 版本的SQL Server 2008 R2 数据库&…

人工智能轨道交通行业周刊-第31期(2023.1.16-1.29)

本期关键词:磁悬浮原理、小米石、通信铁塔维护、桥隧工巡检、地方铁路十大新闻 1 整理涉及公众号名单 1.1 行业类 RT轨道交通中关村轨道交通产业服务平台人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路…

element 日期组件实现只能选择小时或者只能选择小时、分钟

前言 在使用 element 框架时,总是会有一些满足不了现有项目需求的问题,这个时候就需要我们对 element 的组件进行改造,最近有一个需求就是要求日期组件只能选择年月日时,不要分钟和秒,找了一圈,发现 elemen…

【Markdown】CSDN 的 Markdown 编辑器锚点使用-进阶篇

1. 原始 Markdown 代码 1.1 “目录”元素 [TOC](8.6 InnoDB ClusterSet 的状态和拓扑)1.2 “1号标题-1”元素 # InnoDB ClusterSet 状态1.3 “1号标题-2”元素 <h1> <a id"innodb-clusterset-topology">InnoDB ClusterSet 拓扑</a> </h1>…

压缩包文件如何设置和删除密码

压缩软件除了可以压缩和解压文件&#xff0c;还可以作为加密软件&#xff0c;给压缩的文件设置密码来保护文件。 今天就来看下两个常用的压缩软件是如何设置和删除密码的。 先说说WinRAR这个最常用的压缩软件&#xff0c;它可以根据不同的需求设置单次密码和永久自动加密。 …

2023年度国家自然科学基金项目开放申报及注意事项

根据国家自然科学基金委员会发布的通告&#xff0c;2023年国家自然科学基金项目申报系统已于1月15日开放。知识人网整理了主要内容&#xff0c;提醒申报者注意。一、日程节点&#xff1a;1.集中接收工作于2023年3月1日开始&#xff0c;3月20日16时截止。2.申请人于2023年1月15日…

笔记本电脑拆机并更换固态硬盘的方法

本文介绍为笔记本电脑拆机、更换固态硬盘的具体方法。 在文章Win10电脑出现No Bootable Device且无法开机或开机后蓝屏无限重启的多个解决方法&#xff08;https://blog.csdn.net/zhebushibiaoshifu/article/details/122923896&#xff09;中我们提到&#xff0c;一些由电脑硬盘…

高频算法:删除有序数组中的重复项

今天要讲的算法题是LeetCode上的第26题&#xff0c;先贴题目&#xff1a; 首先题目中给出了几个比较关键的条件&#xff0c;首先就是升序排列的数组&#xff0c;这样的话至少我们不需要进行排序的操作&#xff0c;直接从前向后进行比较&#xff0c;我们就能知道数组中的哪些元…

基于SpringBoot、Mybatis-Generator实现数据库表自动生成全套后台代码

背景我们在日常开发过程&#xff0c;大多数都是使用主流MVC架构&#xff0c;如下图所示。从图中可以看出&#xff0c;我们主要的业务代码基本都是从Controller->Service->Dao/Mapper&#xff0c;由Dao/Mapper则通过Mybatis连接数据库连接池的方式与数据库进行指令数据交互…

实现简单的栈与队列

前言&#xff1a;前面已经详细地介绍了基本的顺序表和链表&#xff0c;这次要介绍的是数据结构中的栈与队列。从本质上来说&#xff0c;二者是特殊的线性表&#xff0c;是依赖于顺序表或链表来实现的&#xff0c;所以只要能够很好地掌握顺序表和链表&#xff0c;再了解清楚栈与…

STM32F103学习笔记(11)——压力传感器GZP6859D使用

一、简介 数据手册&#xff1a;https://item.szlcsc.com/3590436.html GZP6859D 型压力传感器采用 SOP6 封装形式&#xff0c;内部集成了高精度 ADC 芯片&#xff0c;对传感器芯片输出的偏移、灵敏度、温漂和非线性进行数字补偿&#xff0c;以供电电压为参考&#xff0c;产生一…

基于Java实现对Excel表格数据的读写(附B站详细讲解视频)

文章目录 Maven依赖设置导入相应jar包 读取.xlsx表格文件数据 写入数据到.xlsx表格文件 读写后缀名为.xls类型的表格文件&#xff08;旧版表格文件&#xff09; 详细视频教程 Maven依赖设置导入相应jar包 <project xmlns"http://maven.apache.org/POM/4.0.0" …

论文理解【Offline RL】——【One-step】Offline RL Without Off-Policy Evaluation

标题&#xff1a;Offline RL Without Off-Policy Evaluation文章链接&#xff1a;Offline RL Without Off-Policy Evaluation代码&#xff1a;davidbrandfonbrener/onestep-rl发表&#xff1a;NIPS 2021领域&#xff1a;离线强化学习&#xff08;offline/batch RL&#xff09;—…

【深度学习】知识蒸馏原理以及实践从0到1

文章目录前言1、知识蒸馏1.1 是什么&#xff1f;1.2 训练流程1.3 问题与挑战2、落地使用2.1 后续问题&#xff1a;总结前言 有没有什么方法可以在不扩展硬件的情况下利用这些强大但庞大的模型来训练最先进的模型&#xff1f;目前&#xff0c;有三种方法可以压缩神经网络&#…

一文搞懂JDK8 HashMap源码

目录前言常量和变量构造器put方法resize扩容get方法前言 HashMap的源码非常经典&#xff0c;里面用到了哈希表、链表、红黑树等数据结构&#xff0c;而且又是用纯Java实现的&#xff0c;所以成为了Java程序员必读的源码之一。 事先了解下哈希表&#xff08;散列表&#xff09…

portraiture2023手动磨皮的p图插件

可以手动磨皮的p图软件&#xff0c;大部分美颜软件只能一键磨皮或简单调整磨皮强度&#xff0c;本文会介绍一款可自动、可手动磨皮的p图软件。人像p图软件哪个好用&#xff1f;本文还会盘点一下好用的人像p图软件。 portraiture2023功能特点 2x性能和精细的输出质量将您的皮肤…