从Ansible中的自定义模块访问playbook变量
我正在用Ansible编写一个自定义模块,专门针对一个剧本。是否可以直接访问playbook变量,而不需要将其作为参数传递给任务?这是不可能的,因为该模块是远程执行的,除非明确传递,否则所有变量都不可用 不久前,我收到了一封信,普鲁士·p在他的回答中提出了一个有趣的解决办法 虽然在此期间我有另一个想法,但这只是理论上的,从未测试过:除了普通模块之外,Ansible还有一种特殊的模块:动作插件。(…未记录)它们与模块完全相同,但在本地执行。因为它们在本地运行,所以它们可以访问Ansibles runner对象,该对象包含所有组/主机变量等 最酷的是,您可以通过动作插件以编程方式调用模块。因此,您可以有一个小的包装器操作插件,然后调用实际的模块并将所有(必需的)变量传递给它。因为它没有文档记录,所以您需要查看可用的插件。例如,这里有一个调用模块: 我已经写了一些与runner对象中的变量交互的东西从Ansible中的自定义模块访问playbook变量,ansible,Ansible,我正在用Ansible编写一个自定义模块,专门针对一个剧本。是否可以直接访问playbook变量,而不需要将其作为参数传递给任务?这是不可能的,因为该模块是远程执行的,除非明确传递,否则所有变量都不可用 不久前,我收到了一封信,普鲁士·p在他的回答中提出了一个有趣的解决办法 虽然在此期间我有另一个想法,但这只是理论上的,从未测试过:除了普通模块之外,Ansible还有一种特殊的模块:动作插件。(…未记录)它们与模块完全相同,但在本地执行。因为它们在本地运行,所以它们可以访问Ansibles ru