我应该何时在Puppet提供程序中使用资源或@property_hash?

时间:2016-12-16 12:09:34

标签: puppet

编写Puppet提供程序时,有两种方法可以访问资源的属性:resource变量和@property_hash变量。我正在尝试在setter中使用属性foo,并使用resource[:foo]启动。这样做

puppet apply

并且在执行

时有效
puppet resource thing thingname

但如果我尝试

puppet resource thing thingname foo=Foo

然后resource[:foo]未设置。 @property_hash[:foo]具有正确的价值。 我可以在foo中致电new之前打印出self.instances的价值,这两种情况都是正确的。

This article显示resource遍布整个地方。它位于一个名为flush的函数中,因此我更改了所有设置器以使用flush,但仍未设置resource[:foo]

我可以使用@property_hash[:foo],但是一位同事发现在创建资源时这不起作用 - 在我的情况下不是问题,因为资源只是管理不创建 - 但我真的需要理解这一点妥善避免将来出现问题。我应该何时使用resource以及何时@property_hash?为什么resource在那个例子中工作但不适合我呢?

0 个答案:

没有答案