首页 > 解决方案 > 如何在自定义 Ansible 模块中区分源路径和远程路径

问题描述

据我了解,Ansible 模块是在远程机器上执行的。所以我想访问远程机器上的文件,我只需要使用标准的 Python I/O。我很好奇如何在自定义 Ansible 模块期间访问源计算机上的文件。我已经查看了复制模块以及其他模块,但似乎找不到允许这样的“魔法”。在任何时候看起来文件实际上都不会跳转主机。

标签: moduleansible

解决方案


据我了解,Ansible 模块是在远程机器上执行的。所以我想访问远程机器上的文件,我只需要使用标准的 Python I/O。

这是正确的。模块在远程主机上执行。查找在控制主机上执行。

我很好奇如何在自定义 Ansible 模块期间访问源计算机上的文件。

你不能。您的模块在远程机器上运行并且无权访问本地文件。您可以在运行模块之前使用copytemplate任务将文件移动到远程系统,或者将内容作为参数传递给模块。

我已经查看了复制模块以及其他模块......

copy机制是一个动作插件。实施在 这里。我不建议您尝试使用该机制实现新功能。相反,依靠其他任务来移动文件。


推荐阅读