Python 在Salt中访问自定义谷物模块中的支柱数据
这可能不是设置自定义颗粒的最佳方法,但我希望通过读取支柱数据来设置自定义颗粒的“角色”。这将允许在YAML语法中轻松编辑支柱数据,同时将自定义颗粒设置为最高优先级,并且不会被其他配置覆盖 我的问题是如何访问Python 在Salt中访问自定义谷物模块中的支柱数据,python,salt-stack,Python,Salt Stack,这可能不是设置自定义颗粒的最佳方法,但我希望通过读取支柱数据来设置自定义颗粒的“角色”。这将允许在YAML语法中轻松编辑支柱数据,同时将自定义颗粒设置为最高优先级,并且不会被其他配置覆盖 我的问题是如何访问\u grain目录中自定义grains python文件中的支柱数据 我试过: hosts = __salt__['pillar.get']('hosts',None) 但我有一个错误: NameError: global name '__salt__' is not defined 即
\u grain
目录中自定义grains python文件中的支柱数据
我试过:
hosts = __salt__['pillar.get']('hosts',None)
但我有一个错误:
NameError: global name '__salt__' is not defined
即使我加上
import salt.client
import salt.config
我已经研究了盐的内置颗粒(更具体地说,是盐)。在那里,他们实际上定义了
\uuuuuuuuuuuuuuuuuuuuuuuuuuuz
对象本身():
从理论上讲(未经测试!),您也应该能够在自定义粒度中实现这一点。当您需要支柱.get
模块时,您需要导入不同的功能,当然:
import salt.modules.pillar
__salt__ = {
'pillar.get': salt.modules.pillar.get
}
当然,您也可以直接调用
salt.modules.pillar.get('hosts',None)
,而无需费心创建\uuuuu salt\uuuuuuu
字典。谢谢您的回复。我试图使用salt.modules.pillar.get,但我得到一个关于未定义选项的错误!我记得我在某个地方读到,你需要以某种方式定义这个选项变量,但我似乎不知道如何定义。有什么想法吗?
import salt.modules.pillar
__salt__ = {
'pillar.get': salt.modules.pillar.get
}