向人偶自定义类型添加一些调试
Add some debug to a puppet custom type
我在 /etc/puppet/modules/tipo/lib/puppet/type/customtipo.rb 中有一个人偶自定义类型,内容是:
require 'logger'
Puppet::Type.newtype(:customtipo) do
newproperty(:parametro) do
log.info("ES UN PARAMETRO")
end
end
我知道这是一个虚拟的自定义类型,但我从这类事情开始,资源放在 /etc/puppet/modules/tipo/manifests/init.pp 中,内容是:
class tipo {
customtipo {
"ejemplo":
parametro => "uno",
}
}
情况是 "parametro" 与否,它没有像我预期的那样显示消息 "ES UN PARAMETRO"。有没有其他方法可以使用自定义类型来实现这一点?谢谢!
请注意,log
命令将 运行 当您的类型在 Ruby 运行 时间加载时,而不是当编译器遇到您的类型的资源时。
另请注意,Puppet 在 Puppet::Util::Logging
中有自己的日志记录框架,该框架混合到 any 类型中。你总是可以 Puppet.info
或 Puppet.debug
.
要了解如何调试类型代码,您应该熟悉可用的挂钩。查看 Puppet 自己的源代码中的现有类型。你可以从这样的事情开始:
Puppet::Type.newtype(:customtipo) do
newparam(:parametro) do
# no actual validation, just logging to get started
validate do |value|
Puppet.info("parameter 'parametro' has value '#{value}'")
end
end
end
请注意,我将 newproperty
更改为 newparam
,因为您 不 想要一个名为 [=29] 的 属性 =].那会很混乱。
我在 /etc/puppet/modules/tipo/lib/puppet/type/customtipo.rb 中有一个人偶自定义类型,内容是:
require 'logger'
Puppet::Type.newtype(:customtipo) do
newproperty(:parametro) do
log.info("ES UN PARAMETRO")
end
end
我知道这是一个虚拟的自定义类型,但我从这类事情开始,资源放在 /etc/puppet/modules/tipo/manifests/init.pp 中,内容是:
class tipo {
customtipo {
"ejemplo":
parametro => "uno",
}
}
情况是 "parametro" 与否,它没有像我预期的那样显示消息 "ES UN PARAMETRO"。有没有其他方法可以使用自定义类型来实现这一点?谢谢!
请注意,log
命令将 运行 当您的类型在 Ruby 运行 时间加载时,而不是当编译器遇到您的类型的资源时。
另请注意,Puppet 在 Puppet::Util::Logging
中有自己的日志记录框架,该框架混合到 any 类型中。你总是可以 Puppet.info
或 Puppet.debug
.
要了解如何调试类型代码,您应该熟悉可用的挂钩。查看 Puppet 自己的源代码中的现有类型。你可以从这样的事情开始:
Puppet::Type.newtype(:customtipo) do
newparam(:parametro) do
# no actual validation, just logging to get started
validate do |value|
Puppet.info("parameter 'parametro' has value '#{value}'")
end
end
end
请注意,我将 newproperty
更改为 newparam
,因为您 不 想要一个名为 [=29] 的 属性 =].那会很混乱。