Ansible API:自定义模块

时间:2016-02-26 03:40:19

标签: api ansible ansible-api

我想使用我需要的自定义模块" hostname"这样我就可以从自定义模块启动SSH连接并运行命令。所以我传递了transport =" local"到Runner对象。但是,我发现无法获得"主机名"自定义模块中的信息。

我使用的是使用Python API的Ansible 1.9.2。

2 个答案:

答案 0 :(得分:0)

模块只有明确传递给它的可用信息。您可能感兴趣的是一个动作插件,它通过(非现有的)定义在控制机器上本地运行,并且可以访问更多(全部?)数据。

您可以在此处查看一些操作插件代码:https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/action

PS:在开始编写自定义模块/插件之前,您不想升级到Ansible 2吗? API完全改变了,升级后你必须重写模块/插件。

答案 1 :(得分:0)

好的,傻我。它在API中的方式也完全相同。您可以使用{{inventory_hostname}}提取主机名。

相关问题