Plugins 如何从vars插件中获取Ansible额外变量?

Plugins 如何从vars插件中获取Ansible额外变量?,plugins,ansible,Plugins,Ansible,我为Ansible编写了一个小的Vars插件(名为),并且喜欢访问额外的变量(它包含在命令行上设置的带有-e标志的变量) 不幸的是,我似乎不知道该怎么做 代码点是(子)类中的get_vars(self、loader、path、entities)方法 我发现最接近的是: from ansible.context import CLIARGS CLIARGS['extra_vars'] 但是,它仍然被编码为原始字符串(例如“myvar=value”)。我可以解析它,但可能会引入一些bug(在多变

我为Ansible编写了一个小的Vars插件(名为),并且喜欢访问额外的变量(它包含在命令行上设置的带有
-e
标志的变量)

不幸的是,我似乎不知道该怎么做

代码点是(子)类中的
get_vars(self、loader、path、entities)
方法

我发现最接近的是:

from ansible.context import CLIARGS

CLIARGS['extra_vars']

但是,它仍然被编码为原始字符串(例如“myvar=value”)。我可以解析它,但可能会引入一些bug(在多变量、带空格的变量或带引号的值的情况下)。我无法摆脱我错过了一些明显的API调用的感觉。如果可能的话,我希望得到迄今为止定义的所有变量的dict。

我认为这是不可能的。VarsManager简单调用plugins.get_vars,然后再调用额外的_vars。虽然额外的变量在那一刻已经被解析,但是它们不包括在任何参数中,也不包括插件基类中的任何方法。