puppet:为资源参数取空值

时间:2014-05-27 23:49:18

标签: ruby puppet

我为新资源实现了一对类型和提供程序。 我为提供者定义了一系列新参数,它看起来像这样。

...
newparam(:name) do
    desc "description blah"
end

newproperty(:foo) do
    desc "foo property. This should be able to take empty value"
end
...

在提供程序中,我为属性foo

编写了getter和setter
...
def foo
    @property_hash[:foo]
end

def foo=(value)
    # call cmd to set property
    set_property(value)
end
...

当foo有值时,此资源运行良好,但如果未设置该值,则会触发错误消息。

# puppet resource my_property foo="bar"     // works well
# puppet resource my_property foo=""        // error
Error: Could not run: Invalid parameter setting foo=

foo=""意味着“属性重置”,我想我有什么方法可以为属性允许空字符串。

编辑:我尝试munge获取@resource.original_parameters[:foo]值并覆盖它,但是木偶甚至没有进入munge do块而没有参数值。任何价值(甚至是空格),当然都有效。

0 个答案:

没有答案