Python 已开发的Ansible模块能否包括或扩展Ansible核心模块?
我正在开发一个Ansible模块,它生成一个url,从我的内部构件中获取(比如get_url)该url处的tarball,然后将其提取出来。我想知道是否有办法在我的模块中包含或扩展get_url Ansible核心模块。我不能将其分为多个步骤,因为所使用的url是从git哈希生成的,需要多步骤搜索 如果没有办法,我可能只会复制整个get_url模块并在我的模块中使用它,但我希望避免这种情况 我想做一些类似的事情:Python 已开发的Ansible模块能否包括或扩展Ansible核心模块?,python,ansible,Python,Ansible,我正在开发一个Ansible模块,它生成一个url,从我的内部构件中获取(比如get_url)该url处的tarball,然后将其提取出来。我想知道是否有办法在我的模块中包含或扩展get_url Ansible核心模块。我不能将其分为多个步骤,因为所使用的url是从git哈希生成的,需要多步骤搜索 如果没有办法,我可能只会复制整个get_url模块并在我的模块中使用它,但我希望避免这种情况 我想做一些类似的事情: module\u json\u response=module.get\u模块('
module\u json\u response=module.get\u模块('get\u url')。发出命令('url')=http://myartifactory.com/my_artifact.tar.gz dest=/path/to/local/my_artifact.tar.gz')代码>
我对Ansible的理解是,它上载正在使用的模块并执行它,包括另一个不受支持或没有文档记录的模块
提前感谢您的帮助。引用Michael DeHaan的帖子:
一般来说,Ansible允许通过
“lib/ansible/module_common.py”以简化编写功能
但是,这并不能使一个模块调用另一个模块,
到目前为止,这并不是真正需要的——这并不完全是必要的
是的,我们以前有类似的文件和拷贝,直到我们
变得聪明了,并将文件属性代码移到了common:)
看来既然url访问足够频繁,我们就可以
用于url下载的通用模块中的通用函数——如果我们修改
让url代码也使用它,这样我们就不会重复我们自己了
随后,他接着说:
您可以通过编写操作来访问模板的工作方式
插件,但它比编写简单的客户端模块更复杂
+1要将get_url代码转换为公共代码,这已经出现过几次了