傀儡资源司令部,标题为munge



我已经为接口创建了一个木偶资源。我的交换机上的大多数接口名称都是小写的,以太网接口除外,所以我修改了接口名称,希望能减少清单中的错误;例如:

清单:

cisco_interface { 'Ethernet1/1': description => 'foo' }

type/cisco-interface.rb:

newparam(:name) do
munge { |value|
value.downcase
}  
end 

当我收集带有self.instances的接口列表时,我的提供者代码也会向下搜索接口名称。

好吧,所以当我用清单测试时,这很好,但对木偶资源命令来说就不那么好了,它只在我用已经降级的名称调用它时才起作用:

switch# puppet resource cisco_interface 'Ethernet1/1'
cisco_interface { 'Ethernet1/1':
ensure => 'absent',
}
switch# puppet resource cisco_interface 'ethernet1/1'
cisco_interface { 'ethernet1/1':
ensure                       => 'present',
description                  => 'foo',
}

puppet资源命令名称字段似乎只是一个简单的过滤器,所以我觉得我被卡住了,但我想我看到过其他资源类型也有这样的标题值。

是否可以以适用于这两种情况的方式对标题值进行细分?如果没有,我不确定是区分大小写更好,因为这是用户在交换机配置中看到的,还是"帮助"他们避免清单中的错误。

您对这里发生的事情是正确的,puppet当前要求传入命令行的名称根据类型与名称完全匹配。它被深埋了几个层次,但看看RAL的findresource_name方法。

在我看来,这并不是一个重大的更改,所以你可能想记录一个缺陷或自己进行更改!

最新更新