(与Ansible角色中的回调或挂钩以及可重复使用的一系列任务有关):
有没有比(ab)使用jina2模板表达式更好的方法来追加到列表或在Ansible中向字典添加键?
我知道您可以执行以下操作:
- name: this is a hack
shell: echo "{% originalvar.append('x') %}New value of originalvar is {{originalvar}}"
但是真的没有某种元任务或辅助工具可以做到这一点吗?
它感觉很脆弱,似乎没有记录,并且依赖于有关Ansible中变量如何工作的许多假设。
我的用例是多个角色(数据库服务器扩展),每个角色都需要为基本角色(数据库服务器)提供一些配置。它不像在db服务器配置文件中添加一行一样简单。每次更改都适用于同一行,例如扩展名,bdr
并且pg_stat_statements
必须都出现在目标行上:
shared_preload_libaries = 'bdr, pg_stat_statements'
Ansible方法是使用正则表达式多次提取配置文件(每次扩展名一次)来处理配置文件吗,该正则表达式会提取当前值,对其进行解析,然后对其进行重写?如果是这样,您如何在多次运行中使该幂等?
如果配置比此解析难,并且不像附加另一个逗号分隔的值那么简单怎么办?考虑一下XML配置文件。