簡體   English   中英

向人偶自定義類型添加一些調試

[英]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中具有自己的日志記錄框架,該框架可以混合成任何類型。 您始終可以只是Puppet.infoPuppet.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

請注意,我改變newpropertynewparam ,因為你希望有一個名為“參數”的屬性。 那真是令人困惑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM