2014-01-17 55 views
3

我寫了一個自定義的輕量級資源。但通知和only_if不被識別。如何讓廚師自定義lwrp實現通知和not_if?

其他人才能使用此工作?

我在opsworks耗材資源中使用這些。所以我知道我正確地使用它們。 不幸的是專有代碼,所以我不能發佈代碼。

+0

你應該選擇正確的答案!或者將來也許不會得到任何幫助。 – Robert

回答

3

好的。 RTFM。那麼不是真的。我沒有發現這個具體問題。 如果你寫你自己的重量輕資源,並希望能夠使用通知,然後使用

  • new_resource.updated_by_last_action(假) 或
  • new_resource.updated_by_last_action(真)

    您資源行動代碼。

通知將會發生(真)或不發生(假)。

3

這裏是如果你想研究更深層只需按照鏈接從Opscode

action :create do 
    t = template "/etc/cron.d/#{new_resource.name}" do 
    cookbook new_resource.cookbook 
    source "cron.d.erb" 
    mode "0644" 
    variables({ 
     :name => new_resource.name, 
     :minute => new_resource.minute, 
     :hour => new_resource.hour, 
     :day => new_resource.day, 
     :month => new_resource.month, 
     :weekday => new_resource.weekday, 
     :command => new_resource.command, 
     :user => new_resource.user, 
     :mailto => new_resource.mailto, 
     :path => new_resource.path, 
     :home => new_resource.home, 
     :shell => new_resource.shell 
     }) 
    action :create 
    end 
    new_resource.updated_by_last_action(t.updated_by_last_action?) 
end 

一個例子。

0

看起來,@羅伯特提到的解決方案從來沒有工作,如在廚師問題#3748中提到的。一個可行的解決方案是使用'use_inline_resources'。