ansible - 状态时的Ansible多个正则表达式
问题描述
我正在尝试根据 ansible 收集的工件替换文件中的名称。有一些简单的方法可以用ONE完成这项任务 lineinfile
像这样的东西,
lineinfile:
path: '/somefile.conf'
regexp: '{{ item.regexp }}'
line: '{{ item.line }}'
with_items:
- { regexp: '^DB_TYPE=', line: "DB_TYPE=mysql" } when: mysql.stat.exists
- { regexp: '^DB_TYPE=', line: "DB_TYPE=oracle" } when: oracle.stat.exists
解决方案
这可以通过if ... else ... if
lineinfile:
path: '/somefile.conf'
regexp: '^DB_TYPE='
line: "{{ 'DB_TYPE=mysql' if mysql.stat.exists else 'DB_TYPE=oracle' if oracle.stat.exists }}"
推荐阅读
- java - InputStream.readAllBytes() 的 Java 1.8 及更低版本
- python - ValueError:尝试转换值张量
- windows - 使用 psexex 和 runAs 执行 powershell 命令
- typescript - 为什么 Typescript Array.map 的返回类型允许违反接口?
- vue.js - 导航栏下拉菜单没有指向给定的链接
- r - 这个代码块的 R 中的“含义”是什么?
- php - 如何解决:无法重新声明 spl_autoload_register()?
- c# - 在 Xamarin 中更改 datePicker 月份格式
- c# - 判断一组 id 中的哪些 id 仍在数据库中的有效方法(即,将输入 id 与集合 id 相交)MongoDb C#
- python - 有没有办法更改 Tkinter Treeview 项目的 ID