是否可以在puppet文件中导入python代码?

是否可以在puppet文件中导入python代码?,puppet,puppet-enterprise,Puppet,Puppet Enterprise,python类/对象/函数是否可以导入到puppet文件(.rb文件和自定义提供程序或任何其他文件)中? 除了“exec”之外,还有其他方法可以使用puppet运行python代码吗?Ruby有一个system()方法,您可以通过该方法运行外部python程序。Ruby还有fork()和exec()两个功能,通过它们,您可以进行更多的控制。Puppet也有包装器,您的Ruby插件代码可以使用包装器 但你似乎要求一些不同的东西。标准的C Ruby实现提供了本机(C)扩展,Python有一个C AP

python类/对象/函数是否可以导入到puppet文件(.rb文件和自定义提供程序或任何其他文件)中? 除了“exec”之外,还有其他方法可以使用puppet运行python代码吗?

Ruby有一个
system()
方法,您可以通过该方法运行外部python程序。Ruby还有
fork()
exec()
两个功能,通过它们,您可以进行更多的控制。Puppet也有包装器,您的Ruby插件代码可以使用包装器

但你似乎要求一些不同的东西。标准的C Ruby实现提供了本机(C)扩展,Python有一个C API。因此,原则上,可以通过本机扩展在Ruby中嵌入Python解释器,并按照Ruby-->C-->Python路径对其进行调用。您可以在Puppet支持的任何类型的Ruby插件中使用这样的扩展,包括自定义函数、自定义事实、资源提供者,甚至ERB模板


实际上,我不能推荐嵌入方法。尽管我确信它可以正常工作,但这似乎是一个不必要的复杂问题,有大量的运行时开销。

您最好切换到Ansible,因为它是基于python的,请参阅或学习ruby,并用ruby for puppet编写附加代码