python - Ansible 自定义插件
问题描述
我的剧本和 python 功能中有两个字典:例如。
mysql_dict_server1={"log":{"log_slow":"False"},"mysqldump":{"buffer":"10M","max_packet":"5M","uniq":"DO NOT DEL","change":"abc"}}`
mysql_dict_server2={"log":{"log_slow":"False/Chnaged"},"mysqldump":{"buffer":"10M","change":"cba","added":"TREUE"}}
def merge(a, b):
for key in b:
if key in a:
if isinstance(a[key], dict) and isinstance(b[key], dict):
merge(a[key], b[key])
else:
a[key] = b[key]
else:
a[key] = b[key]
return a
那么我如何编写我的自定义模块/插件来传递args(mysql_dict_serverX)
并获得新结果,例如:
- set_fact:
merged: return value from fuction.
或直接在我的 jinja2 模板中使用合并
{% for key,val in merged_server.items() %}
......等
解决方案
推荐阅读
- java - 掷 2 个六面骰子 1000 次,结果出人意料
- r - 使用 ggplot2 facet_grid 优化分类变量的绘图 - 仅绘制二分变量的两个值之一的比例
- java - 在 Gradle 和 IntelliJ 中设置语言级别
- maven - 无需使用 mvn 和 Jenkinsfile 编译即可部署工件
- opengl-es - 如何将纹理仅绑定到 OpenGLES 中的一个对象?
- r - 基于小数点前位数的不同舍入规则
- python - Matlab 到 Python 的转换——测试 Lanczos 算法
- c++ - C ++将抽象类型的动态分配对象传递给函数并存储在向量中
- odoo - 检查用户是否点击了复选框
- navigation - 为什么我的 NavigationLink() 只工作一次,但在 List() 中工作正常?