Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 已开发的Ansible模块能否包括或扩展Ansible核心模块?_Python_Ansible - Fatal编程技术网

Python 已开发的Ansible模块能否包括或扩展Ansible核心模块?

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模块('

我正在开发一个Ansible模块,它生成一个url,从我的内部构件中获取(比如get_url)该url处的tarball,然后将其提取出来。我想知道是否有办法在我的模块中包含或扩展get_url Ansible核心模块。我不能将其分为多个步骤,因为所使用的url是从git哈希生成的,需要多步骤搜索

如果没有办法,我可能只会复制整个get_url模块并在我的模块中使用它,但我希望避免这种情况

我想做一些类似的事情:

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代码转换为公共代码,这已经出现过几次了