Alv*_*ado 2 ruby 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",
        }
}
案例是否是"参数",它没有像我期望的那样显示消息"ES UN PARAMETRO".是否有其他方法可以使用自定义类型实现此目的?谢谢!
请注意,该log命令将在Ruby运行时加载类型时运行,而不是在编译器遇到您的类型资源时运行.
还要注意Puppet有一个自己的日志框架,它Puppet::Util::Logging被混合到任何类型中.你可以随时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因为您不希望拥有名为"parameter"的属性.这将令人困惑.
| 归档时间: | 
 | 
| 查看次数: | 1616 次 | 
| 最近记录: |