0
我在写一个自定义提供程序,我只打算在它所连接的模块的上下文中使用它。该模块已经为我需要采取行动的资源(例如用户名,密码,IP地址)定义了一些东西。我想要做的是从自定义提供程序访问puppet清单中的范围变量。从自定义提供程序访问Puppet模块变量
这可能吗?
init.pp:
class mymodule(
$username = 'admin',
-- snip --
}
provider.rb:
class Puppet::Provider::MyProvider < Puppet::Provider
def self.configure
#can I get to $mymodule::username here?
一些背景:
我写了一组将通过API配置的服务器类型。我想有一个像类型:
mymodule_mail_settings { 'current':
server => 'mail.server.com'
mailuser => 'mail'
}
我试图避免被具有通过用户名/密码/ IP访问服务器的API传递到所有这些不同的类型。
这不是做这件事的方法。您想要将提供者与某个类型相关联,然后可以使用分配给其参数的属性作为提供者中的变量。 –
问题是我有大约20种类型都适用于此资源。他们需要用户名和密码来查询资源,所以我试图看看是否可以避免将用户名,密码和IP地址粘贴到每种类型中,特别是如果它们全部在可用的情况下被调用 – Spence
20种类型都需要一个用户名和密码听起来有点可疑,但你应该能够在类型源代码中做一些ruby技巧,使用户名和密码可以从基本类型中重用。 –