X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/9d27360314f8e4e9844cde4059f98fac52250d36..bfe36fa8bbf3d72b406d356c985bfe2d5ab993ca:/cookbooks/munin/resources/plugin_conf.rb diff --git a/cookbooks/munin/resources/plugin_conf.rb b/cookbooks/munin/resources/plugin_conf.rb index e4b99965d..77d02c218 100644 --- a/cookbooks/munin/resources/plugin_conf.rb +++ b/cookbooks/munin/resources/plugin_conf.rb @@ -17,19 +17,37 @@ # limitations under the License. # -actions :create, :delete default_action :create -attribute :name, :kind_of => String, :name_attribute => true -attribute :cookbook, :kind_of => String -attribute :template, :kind_of => String, :required => true -attribute :variables, :kind_of => Hash, :default => {} +property :plugin_conf, :kind_of => String, :name_attribute => true +property :cookbook, :kind_of => [String, nil] +property :template, :kind_of => String, :required => true +property :variables, :kind_of => Hash, :default => {} +property :restart_munin, :kind_of => [TrueClass, FalseClass], :default => true -def initialize(*args) - super - begin - resources(:service => "munin-node").subscrbes(:restart, self) - rescue Chef::Exceptions::ResourceNotFound - # Ignore +action :create do + declare_resource :template, config_file do + cookbook new_resource.cookbook + source new_resource.template + owner "root" + group "root" + mode 0o644 + variables new_resource.variables.merge(:name => new_resource.plugin_conf) end end + +action :delete do + file config_file do + action :delete + end +end + +action_class do + def config_file + "/etc/munin/plugin-conf.d/#{new_resource.plugin_conf}" + end +end + +def after_created + notifies :restart, "service[munin-node]" if restart_munin +end